美文网首页
Pysam 处理 bam 文件

Pysam 处理 bam 文件

作者: 斩毛毛 | 来源:发表于2020-05-02 21:15 被阅读0次

    Pysam 是一个python的模块,可用于处理bam文件

    安装

    conda install pysam
    #或者
    pip install pysam
    

    使用

    Pysam的函数有很多,主要的读取函数有:

    • AlignmentFile:读取BAM/CRAM/SAM文件

    • VariantFile:读取变异数据(VCF或者BCF)

    • TabixFile:读取由tabix索引的文件;

    • FastaFile:读取fasta序列文件;

    • FastqFile:读取fastq测序序列文件

    一般常用的是第一个和第二个。

    举个🌰

    import pysam
    bf = pysam.AlignmentFile("in.bam","rb")
    # bf 为一个迭代器,可以next()或者for读取
    for i in bf:
          print i.reference_name,i.pos,i.mapq,i.isize
    ctg000331_np121 144935 27 -284
    ctg000331_np121 144940 48 291
    ctg000331_np121 144941 48 309
    ctg000331_np121 144944 48 255
    ctg000331_np121 144946 27 -370
    ctg000331_np121 144947 27 -346
    
    • i.reference_name: 参考序列染色体id;

    • i.flag bam的flag值

    • i.pos代表read比对的位置;

    • i.mapq代表read的比对质量值;

    • i.isize代表PE read直接的插入片段长度,有时也称Fragment长度;

    我将sam文件中12列的信息列在下面:

    • r.qname: reads 名
    • r.flag :Flag
    • r.reference_name: 比对到的染色体
    • r.pos+1: 比对位置,必须得加一
    • r.mapq: 比对质量
    • r.cigarstring: CIGAR
    • r.next_reference_name:另外一条reads比对的参考基因组,若和第一条相同,则输出=
    • r.mpos+1: 比对的位置,必须得加1
    • r.isize: 插入片段长度
    • r.seq:reads seq
    • r.qual: reads 质量

    \color{red}{注意}:
    pysam中的坐标位点是0开始,染色体起始位置为0,不是1

    相关文章

      网友评论

          本文标题:Pysam 处理 bam 文件

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