简介
MANTIS (Microsatellite Analysis for Normal-Tumor InStability) 是一个从成对的BAM文件中检测微卫星不稳定性的程序。 为了进行分析,程序需要一个肿瘤BAM和一个匹配的正常BAM文件(使用相同的管道生成)来确定两个样本之间的不稳定性得分。 推荐使用较长的读数(理想情况下,100bp或更长),因为较短的读数不太可能完全覆盖微卫星位点,并且在质量控制过滤器失败后将被丢弃。
MANTIS 于2017年发表在Oncotarget ( Performance evaluation for rapid detection of pan-cancer microsatellite instability with MANTIS)
如果需要使用该软件,可以通过Github 进行获取。
软件使用
软件的安装
安装软件的依赖包
该软件是基于Python开发的,软件的运行需要安装下列Python库
- NumPy(v1.6.2)
- Pysam(v0.8.3)
使用方法
天津集群安装,conda环境调试成功
使用环境Manti (先执行命令 source activate Manti)
在模拟环境中进行分析,测试命令:1
2
3
4
python /share/udata/liubo/Software/MANTIS-master/mantis.py -b loci.bed --genome hg19.fa -n normal.bam -t cancer.bam -o MANTIS.txt --threads 8
# threads设置软件运行的线程数。
参考基因组和bed文件,可以使用配置未见的方式存储到配置文件中。引用配置文件使用 -cfg 参数。1
2
3#配置文件格式
genome = /path/to/reference/genome.fasta
bedfile = /path/to/my/loci.bed
软件原理
阅读bed文件,获得目标区域,然后根据基因组信息,把这些靶标位点比对到参考基因组上,建立索引(通过0和1);
每次针对一个靶标区域,工具首先从normal和cancer样本比对后的bam文件中抽提覆盖这个区域的reads,然后对这些reads进行一个初步的质控过滤,其中过滤标准如下:
1.确保这些reads都达到了合格满意的序列长度,默认:35(参数:mrl) 2.每个base的平均质量值得分达到要求的最小值,默认:25(参数:mrq) 3.覆盖的整个的靶标区域。
对通过初步过滤的reads单独进行分析,检测微卫星结构的起始位点,以及总的重复次数(通过起始位点开始,匹配微卫星结构的匹配次数)
一旦确定了微卫星的repeat次数以后,对数据进行第二次的质控,
1.确定在reads序列末端前loci没有被打断。 2.确定微卫星区域中的每个base的平均质量值都比较高,且达到标准,默认:30(mlq)
针对tumor和normal文件,分别统计不同的repeat counts的reads支持数,获得每个靶标区域的结构重复的reads支持数,reads支持数过低的repeat count 会被移除,默认:3(mrr)
确定repeat counts数以后,对每个靶标区域进行质控。将重复序列长度中偏离标准值过大的repeat count数移除,默认3倍标准差(参数sd ) ,会进行移除。
- 然后针对normal和cancer,检查每个靶标的总reads数目,确保reads的数目足够获得一个统计学显著的分布,达不到标准的loci会被丢弃。默认:30(mlc)
- 利用最终剩下的repeat count数据,进行得分计算,获得每个样本的一个不稳定得分。计算方法每个loci单独计算,分别对normal和cancer进行标准化(利用样本在loci的总reads数,将每个repeat的reads支持数,标准化为一个分数,从而量化在两个样本在深度和覆盖度上的差异),根据标准化的reads count计算stepwise:
- 一旦每个区域的得分计算出来以后,所有区域的不稳定性得分的平局值就可以计算得到,从而用一个数值来反映样本的不稳定程度。(得分范围是,值越大,越不稳定,值越小越稳定)