有一些五六年前的学生们都成长为了各个生物信息学相关公司的小领导,而且他们都有了自己的公众号,知乎号,也算是一番人物。最近他们跟我反馈面试找不到或者说很难直接考核筛选到认真干活的生信工程师,挺有意思的。让我想起来了早在生信技能树论坛创立之初我为了引流,而规划的200个生信工程师面试题。值得继续分享: 这个需求很常见,因为一般生物信息数据都比较大,如sam,vcf,gtf,或者bed。有的时候需要用一些仅包含一个或者几个染色体的文件来进行分析,就需要进行拆分。参照曾老师的perl版本http://www./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
文末友情推荐
|