pysam

作者: rong酱 | 来源:发表于2021-05-26 13:53 被阅读0次
#!/usr/bin/env python
# -*- coding:utf-8 -*-

unsplit_file = "/unsplit.bam"
out_dir = "/t11/b2/"

import pysam
import sys
import os
import re


itr = 0
CB_hold = 'unset'

samfile = pysam.AlignmentFile(unsplit_file, "rb")

for read in samfile.fetch(until_eof=True):
    if 'CB' in str(read):
        print("read:" + str(read))
        CB_itr = read.get_tag('CB')
        print("CB_itr : "+str(CB_itr))
        if( CB_itr!=CB_hold or itr==0):
            if(itr!=0):
                split_file = pysam.AlignmentFile('%s/CB_%s.bam'%(out_dir,itr), "wb", template=samfile)
                split_file.close()     
            CB_hold = CB_itr
            itr = itr + 1
            split_file = pysam.AlignmentFile('%s/CB_%s.bam'%(out_dir,itr), "wb", template=samfile)
            split_file.write(read) 

split_file.close()
samfile.close()

优化

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import pysam
import sys
import os
import re
import threading
unsplit_file = sys.argv[1]
out_dir = sys.argv[2]
def run(unsplit_file,out_dir):
   CB_hold = 'unset'
   samfile = pysam.AlignmentFile(unsplit_file, "rb")
   for read in samfile.fetch(until_eof=True):
       if 'CB' in str(read):  # 过滤不含有CB
           CB_itr = read.get_tag('CB')
           split_file = pysam.AlignmentFile('%s/CB_%s.bam'%(out_dir,CB_itr), "wb", template=samfile)
           split_file.write(read)
   return
if __name__ == '__main__':
   for i in range(10):
       t = threading.Thread(target=run(unsplit_file,out_dir))
       t.start()

生物信息学个人理解: 基础应该是统计学+计算机学

相关文章

  • windows下的python安装pysam报错

    安装pysam时报错: 指定版本仍报错: 使用pysam-win安装: 但是import时不行: 貌似pysam在...

  • 使用pysam操作VCF/BCF文件

    使用pysam操作VCF/BCF文件 读取和写出 VariantFile函数得到的是 pysam.libcbcf....

  • pysam

    优化 生物信息学个人理解: 基础应该是统计学+计算机学

  • Pysam 处理 bam 文件

    Pysam 是一个python的模块,可用于处理bam文件 安装 使用 Pysam的函数有很多,主要的读取函数有:...

  • 使用Pysam操作BAM文件

    Pysam操作BAM文件 Pysam包是一个处理基因组数据的python模块,它打包了htslib-1.3、sam...

  • 报错:AttributeError: 'module' obje

    问题: import pysam的时候, 可能1. mutual top-level imports http:/...

  • 70. 《Bioinformatics Data Skills》

    pysam包使用AlignmentFile对象存储BAM/SAM文件,而通过AlignmentSegment对象存...

  • pysam的使用

    本文来源于panxiaoguang.github.io samtools是我们比较常用的处理bam文件的软件,但很...

  • pysam文档翻译

    缘由:源于代码脱shell的需求,总是调用samtools非常麻烦,所以需要再对pysam文档认真阅读,找到替代方...

  • 用pysam处理bam数据

    是用pip下载的pysam,为了做index文件用brew install下载了samtools。 读取bam文件...

网友评论

      本文标题:pysam

      本文链接:https://www.haomeiwen.com/subject/mbsksltx.html