首页 > 代码库 > samtools的mpileup

samtools的mpileup

samtools的mpileup命令是一个samtools中一个很重要的命令。它的主要功能主要是生成BCF、VCF文件或者pileup一个或多个bam文件。比对记录以在@RG中的样本名作为区分标识符。如果样本标识符缺失,那么每一个输入文件则视为一个样本。

       在pileup格式中(没有-u或者-g参数),每一行代表基因组的位置,由染色体名、1个碱基坐标、参考碱基、reads覆盖该位点的数量、reads的碱基、碱基质量和比对质量。有关匹配、错配、插入缺失、链、比对质量和一条reads的开始结束位置都被编码到reads碱基列。在此列上,“.”表示与正链上的参考碱基匹配,“,”表示与负链上的参考碱基匹配,“>”和“<”表示跳过参考基因,“ACGTN”表示正链上的错配,“acgtn”表示负链上的错配。此模式“+[0-9]+[ACGTNacgtn]+”表示在此位点至下一个位点之间与参考基因组对应位点相比,多了一段插入碱基,插入长度由模式中的整数表示。与此类似,“-[0-9]+[ACGTNacgtn]+”表示缺失,缺失的碱基使用“*”表示。同时,“^”表示reads的开始,“$”表示reads的结束。在“^”后的字符的ASCII码值减去33表示比对质量值。

       另外,要注意到在输入文件中,有两种正交方式,通过使用-r和-l参数实现。-r参数需要指定一个索引号去进行随机访问而后者-l参数通过文件中的指定区域进行过滤,无需索引。这两个参数可以同时使用。通常使用bed文件,将待处理的文件进行分割,然后同时进行处理,这样可以加快处理速度。最后,处理完毕后,再合并。

samtools的mpileup