生物信息学技能面试题(第4题)-多个同样的行列式文件合并起来

相信用过htseq-count的朋友都知道,它是分开对每个样本计算所有的基因表达量,所以会生成一个个独立的文件,我用perl脚本模仿它的结果如下:

$ head a.txt gene_1 178 gene_2 692 gene_3 486 gene_4 666 gene_5 395 gene_6 48 gene_7 926 gene_8 733 gene_9 660 gene_10 578

第一列是基因,第二列是该基因的counts值,共有a~z这26个样本的counts文件,需要合并成一个大的行列式,这样才能导入到R里面做差异分析,如果手工用excel表格做,当然是可以的,但是太麻烦,如果有500个样本,正常人都不会去手工做了,需要编程。 生成测试文件的代码如下:

#首先新建文件tmp.sh 输入这个代码:

perl -le '{print "gene_$_\t".int(rand(1000)) foreach 1..99}'

## 然后用perl脚本调用这个tmp.sh文件:

perl -e 'system(" bash tmp.sh >$_.txt") foreach a..z'

##这样就生成了a~z这26个样本的counts文件

用shell或者perl或者python,设置R语言都可以做,但是各有优缺点,而且如果每个样本的基因顺序并不一致,这时候你应该怎么做呢? 实际需求如下:https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE48213 里面有56个文件(ftp://ftp.ncbi.nlm.nih.gov/geo/s ... pl/GSE48213_RAW.tar),需要合并成一个表达矩阵,来根据cell-line的不同,分组做差异分析。 paper是:https://www.ncbi.nlm.nih.gov/pubmed/24176112 输出的表达矩阵,如下所示:

请务必做出此题,很重要!

先给一下shell结合R语言的做法:

## 首先在GSE48213_RAW目录里面生成tmp.txt文件

awk '{print FILENAME"\t"$0}' * |grep -v EnsEMBL_Gene_ID >tmp.txt

## 然后把tmp.txt导入R语言里面用reshape2处理即可!

setwd('tmp/GSE48213_RAW/')

a=read.table('tmp.txt',sep = '\t',stringsAsFactors = F)

library(reshape2)

fpkm <- dcast(a,formula = V2~V1)

原文发布于微信公众号 - 生信技能树(biotrainee)

原文发表时间:2017-02-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

使用Python和Tesseract来识别图形验证码

各位在企业中做Web漏洞扫描或者渗透测试的朋友,可能会经常遇到需要对图形验证码进行程序识别的需求。很多时候验证码明明很简单(对于非互联网企业,或者企业内网中的应...

4385
来自专栏算法+

pytorch 移动端框架 thnets 附c示例代码

前年年前做一个手机移动端图像识别项目的时候, 先后尝试了mxnet,thnets,caffe,tensorflow. 当时的情况是,mxnet内存管理奇差,内存...

4357
来自专栏不止思考

网络中的「动态路由算法」,你了解吗?

在计算机网络中,路由器的一个很重要责任就是要在端对端的节点中找出一条最佳路径出来,通过自己与相邻节点之间的信息,来计算出从自己位置到目的节点之间的最佳线路,这种...

1305
来自专栏人人都是极客

第三课:把tensorflow,模型和测试数据导入Android工程

关于Android项目的创建这里就不做赘述了,我们直接进入主题,看下如何把机器学习库和训练的模型导入一个安卓应用中。 导入 Inference Interfac...

36812
来自专栏深度学习入门与实践

【原】python中文文本挖掘资料集合

这些网址是我在学习python中文文本挖掘时觉得比较好的网站,记录一下,后期也会不定期添加: 1.http://www.52nlp.cn/python-%E7%...

25310
来自专栏大数据智能实战

Deeplearning4j库学习

一、基础知识(了解) 背景知识:     如官网描述,dl4j-examples含有丰富的深度学习神经网络应用案例,这是一个为Java和Scala编写的首个商...

36310
来自专栏媒矿工厂

Ittiam优化VP9,turnaround时间大幅减少

libvpx是Google开发的视频编解码器VP8和VP9的开源软件实现库。libvpx中包含了VP9视频编码算法,相比H.264/AVC,在高...

2795
来自专栏kangvcar

[face_recognition中文文档] 第7节 历史

1024
来自专栏AI研习社

Github 项目推荐 | Nvidia 用于数据增强和 JPEG 图像解码的 GPU 加速库 DALI

今天的深度学习应用程序包括复杂的多阶段预处理数据流水线,其中包括主要在 CPU 上执行的计算密集型步骤。例如,在 CPU 上执行诸如从磁盘加载数据、解码、剪裁、...

1512
来自专栏IT派

开源 | 基于Python的人脸识别:识别准确率高达99.38%!

该库使用 dlib 顶尖的深度学习人脸识别技术构建,在户外脸部检测数据库基准(Labeled Faces in the Wild benchmark)上的准确率...

4387

扫码关注云+社区