生信编程18.把文件内容按照染色体分开写出

有一些五六年前的学生们都成长为了各个生物信息学相关公司的小领导,而且他们都有了自己的公众号,知乎号,也算是一番人物。最近他们跟我反馈面试找不到或者说很难直接考核筛选到认真干活的生信工程师,挺有意思的。让我想起来了早在生信技能树论坛创立之初我为了引流,而规划的200个生信工程师面试题。值得继续分享:

200个生信工程师面试考题

这个需求很常见,因为一般生物信息数据都比较大,如sam,vcf,gtf,或者bed。有的时候需要用一些仅包含一个或者几个染色体的文件来进行分析,就需要进行拆分。

参照曾老师的perl版本http://www.biotrainee.com/thread-1329-1-1.html,我写了python版本的

首先使用一个较小的测试文件来进行拆分:

test.bed

chr2    43995310    43995986
chr17   49788603    49789067
chr17   59565573    59566163
chr19   8390308 8390745
chr12   49188033    49189033
chr7    974903  975570
chr7    98878532    98879500
chr7    44044672    44045322
chr1    153634052   153634772
chr11   60905850    60906575

python脚本如下:

#!/usr/bin/python
with open('test.bed','r') as f:
     for line in f:
          arr = line.strip().split(' ')
          with open(arr[0]+'.txt','a') as f: #'a'表示不覆盖写入,w表示盖原来的文件写入
                  f.writelines(line)

结果文件如下:

-rw-rw-r-- 1 chxluo chxluo  29 Feb 22 13:04 chr11.txt
-rw-rw-r-- 1 chxluo chxluo  29 Feb 22 13:04 chr12.txt
-rw-rw-r-- 1 chxluo chxluo  58 Feb 22 13:04 chr17.txt
-rw-rw-r-- 1 chxluo chxluo  24 Feb 22 13:04 chr19.txt
-rw-rw-r-- 1 chxluo chxluo  30 Feb 22 13:04 chr1.txt
-rw-rw-r-- 1 chxluo chxluo  29 Feb 22 13:04 chr2.txt
-rw-rw-r-- 1 chxluo chxluo  81 Feb 22 13:04 chr7.txt

对bam文件进行分割

使用bamtools可以实现

bamtools split -in my.bam -reference

文末友情推荐

(0)

相关推荐

  • 如何从vcf文件中批量提取一系列基因的SNP位点?

    需求 客户的一个简单需求: 我有一批功能基因位点,想从重测序的群体材料中找到这些位点,如何批量快速获得? 示例文件 gene.txt image.png test.vcf image.png 代码实现 ...

  • Tips | 提供JBrowse浏览器 = 公开了基因组!

    写在前面 早晨,一个老朋友(也是 TBtools 的老用户)与我联系,大体是问了我一个事情gbff转gff3是否可以用TBtools?答案当然是可以,但我不建议.主要原因有二: 使用gbff,往往是基 ...

  • 生信编程直播第11题:把文件内容按照染色体分开写出

    问题描述这个需求很常见,因为一般生物信息学数据比较大,比如sam,vcf,或者gtf,bed都是把所有染色体综合在一起的文件.如果想根据染色体把大文件拆分成小的文件呢?比如:ftp://ftp.ncb ...

  • 生信编程5. 根据GTF文件绘制多个转录本结构

    有一些五六年前的学生们都成长为了各个生物信息学相关公司的小领导,而且他们都有了自己的公众号,知乎号,也算是一番人物.最近他们跟我反馈面试找不到或者说很难直接考核筛选到认真干活的生信工程师,挺有意思的. ...

  • 生信编程​9.bedtools从bam文件中提取目的序列

    有一些五六年前的学生们都成长为了各个生物信息学相关公司的小领导,而且他们都有了自己的公众号,知乎号,也算是一番人物.最近他们跟我反馈面试找不到或者说很难直接考核筛选到认真干活的生信工程师,挺有意思的. ...

  • 生信编程11.根据gtf格式的基因注释文件提取人所有基因的染色体坐标

    有一些五六年前的学生们都成长为了各个生物信息学相关公司的小领导,而且他们都有了自己的公众号,知乎号,也算是一番人物.最近他们跟我反馈面试找不到或者说很难直接考核筛选到认真干活的生信工程师,挺有意思的. ...

  • 生信编程直播第七题:写超几何分布检验!

    下载数据 切换到工作目录:cd d/生信技能树-视频直播/第七讲 kegg2gene(第六讲kegg数据解析结果) 暂时不用新的kegg注释数据为了能够统一答案 差异基因list和背景基因list 关 ...

  • 生信编程直播课程优秀学员作业展示1

    题目 人类基因组外显子区域长度 学员:x2yline 具体题目详情请参考生信技能树论坛 题目数据来源为:ftp://ftp.ncbi.nlm.nih.gov/pub/CCDS/current_huma ...

  • 生信编程直播课程优秀学员学习心得及作业展示3

    学习感悟 首先说明一下,我不算是完全从0开始学习,因为生物的知识和python的语言之前都知道一点,但说实话,我的python距离真正的实践还差的很远,也没有常用所以基本忘完. 真的很感谢群主和老师们 ...

  • 生信编程直播课程优秀学员作业展示2

    题目:hg19基因组序列的一些探究 学员:x2yline 具体题目详情请参考生信技能树论坛 数据来源:http://hgdownload.cse.ucsc.edu/goldenPath/hg19/bi ...

  • 生信编程直播第0题-生信编程很简单!

    貌似顺序有点怪异,我们都把1~8题给讲解完了,现在才开始第0题,很明显,这个是临时加入的,因为有很多没有编程基础的朋友也开始跟着我们学习了. 还不知道怎么回事的先查看历史题目: 生物信息学技能面试题( ...