分享

生物组学数据分析新手段!利用sambamba去除多重比对/重复/未比对序列

 祥强6csdm0n3vs 2019-09-05

    生物组学数据一般都是先质控剔除后再比对到参考基因组,来保证分析结果的可靠性。序列比对前的质控仅仅保证了每一条序列的质量符合我们的要求,比对到基因组之后,对于一些未比对上的序列,重复序列,比对到基因组多个位置的序列,我们仍然需要进一步过滤。sambamba可以快速有效的实现比对后sam/bam文件的过滤。

软件安装

    推荐使用conda安装

conda install -c bioconda sambamba

    或者从码源https://github.com/biod/sambamba/releases下载安装

SAM文件说明

比对得到的sam文件格式如下

前两行是头文件,从第三行开始是比对结果,除了第12列可选域之外,每一列说明如下

反应比对质量的信息在第二列FLAG和第六列CIGAR,FLAG用数字表示比对的情况,说明如下

一般我们会剔除4-unmapped序列和1024-duplicated序列

使用sambamba去除多重比对/重复/未比对序列

sambamba是高效处理sam/bam文件的工具,sambamba view可以设置一系列条件对我们的比对结果进行过滤,参数如下

其中-F参数可以实现比对结果过滤,使用例子如下

sambamba view -F 'filter expression' example.bam > example.filter.bam

filter expression接受andornot等逻辑操作符或者==!=><>=<=等比较操作符,同时它还支持文字描述的FLAG

以及指定sam文件的不同列

比如

not (unmapped or mate_is_unmapped) and mapping_quality >= 50 and sequence_length >= 80

就是过滤了比对上的,质量>50和长度>80的结果

因此,我们要剔除多重比对,未比对上和重复序列,只需要执行

sambamba view -h -t 2 -f bam \-F '[XS] == null and not unmapped  and not duplicate' \example.bam > example_aln.bam

这句话-h指定打印头文件信息,-t指定线程,-f指定bam文件格式,-F指定过滤条件,[XS]是sam的可选域,描述序列多重比对上时第二个最有比对的得分,只有当序列比对到多个位置时才会出现,因此[XS] == null除去了多重比对的序列,not unmapped 和not duplicate分别除去了未比对上序列和重复序列。只需要一句话,就可以对我们的比对结果进行再次过滤,保证后续分析结果的准确性。

本文经授权转载自 生物信息学习公众号

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多