最新的肿瘤突变查找神器lancet试用体验
众所周知,肿瘤突变的寻找最好是需要配对的normal样本测序数据来进行过滤病人的germline变异信息,最后得到somatic变异位点,但是部分病人的肿瘤部位取样纯度很低导致这个肿瘤突变确定过程很困难,已有的软件表现最好的应该是broad出品的GATK4套件里面的mutect2功能,但是不适合超低纯度肿瘤,这个时候lancet就能大展身手。
名字跟大名鼎鼎的柳叶刀期刊撞车,软件主页在:https://github.com/nygenome/lancet
cd ~/biosoft/
git clone git://github.com/nygenome/lancet.git
cd lancet
make
这种依赖于gcc,make,CMake
的软件通常会报错,而且每个机器都不一样,当然,首先那些gcc,make,CMake
是必须要安装好,即使这样,然后仍然还会报错。
各种报错
比如我的其中一台机器是如下报错:
^
/usr/bin/ld: cannot find -llzma
collect2: error: ld returned 1 exit status
make[1]: *** [lancet] Error 1
make[1]: Leaving directory `/home/jianmingzeng/biosoft/lancet/src'
cp: cannot stat `lancet': No such file or directory
起来似乎是有一个文件找不到路径。。。但是在网上死活也搜不出来这个神秘的 llzma
最后的解决方案参考
https://www.cnblogs.com/zhming26/p/6164131.html
https://yq.aliyun.com/articles/245137
ls /usr/lib |grep lib
的确是没有这个llzma库文件哦,如果有root权限,可以
sudo apt-get update
# You need liblzma.so . For Ubuntu :
sudo apt-get install liblzma-dev
apt-get install libbz2-dev
sudo apt install cmake
如果没有root权限,就麻烦了,参考:https://packages.debian.org/sid/liblzma5
wget http://http.debian.net/debian/pool/main/x/xz-utils/xz-utils_5.2.2.orig.tar.xz
xz -d xz-utils_5.2.2.orig.tar.xz
tar xvf xz-utils_5.2.2.orig.tar
cd xz-5.2.2/
./configure --prefix=/home/jianmingzeng/biosoft/myBin/
make
make install
关于这个神秘的xz工具套装:https://www.ibm.com/developerworks/cn/linux/l-lo-xzutils/index.html
另外一台机器是如下报错:
/usr/bin/x86_64-linux-gnu-ld: cannot find -lbamtools
collect2: error: ld returned 1 exit status
Makefile:17: recipe for target 'lancet' failed
make[1]: *** [lancet] Error 1
make[1]: Leaving directory '/home/jmzeng/biosoft/lancet/src'
cp: cannot stat 'lancet': No such file or directory
同样的如果有root权限,可以
sudo apt-get update
sudo apt-get install libbamtools-dev
重新再make一次即可,当然如果没有root权限,就麻烦了,手打安装库文件我就不再赘述了哦。
总之,还是可以安装成功的啦,如果实在不行,可以考虑我的docker系列
跟着jimmy学docker系列之第3讲:为何不创建自己的docker容器呢?
当然,docker也需要root权限啦。
运行经过
因为运行时间不快,所以通常是按照染色体来分开并行,而且还可以设置多线程,代码如下;
GENOME=/public/biosoft/GATK/resources/bundle/hg38/Homo_sapiens_assembly38.fasta
lancet=/home/jmzeng/biosoft/lancet/lancet
id='BOR001'
N_bam=test.N.bam
T_bam=test.T.bam
for chr in chr{1..22} chrX chrY chrM
do
echo $chr
$lancet --tumor $T_bam --normal $N_bam --ref $GENOME --reg $chr --num-threads 10 > ${id}_${chr}.vcf
done
接近1个小时一条染色体,所以怎么着也得12个小时才能完成一个样本的somatic mutation calling流程了,而且是10个线程的,这个速度可以说是奇慢无比!!!
检查突变位点
因为软件默认是检测所有位点,以VCF形式输出可疑的somatic mutation位点,其中合格的会标记为PASS,不合格的就列出原因,原因多种多样,如下:
LowCovNormal: low coverage in the normal
HighCovNormal: high coverage in the normal
LowCovTumor: low coverage in the tumor
HighCovTumor: high coverage in the tumor
LowVafTumor: low variant allele frequency in the tumor
HighVafNormal: high variant allele frequency in the normal
LowAltCntTumor: low alternative allele count in the tumor
HighAltCntNormal: high alternative allele count in the normal
LowFisherScore: low Fisher's exact test score for tumor-normal allele counts
LowFisherSTR: low Fisher's exact test score for tumor-normal STR allele counts
StrandBias: rejects variants where the vast majority of alternate alleles are seen in a single direction
STR: microsatellite mutation
这些位点其实是可以挑出一些拿到IGV里面检查的。
因为某些原因,我的IGV截图不能秀出来,大家可以自行找到测试数据。
与Mutect2进行比较
因为broad出品的GATK4套件里面的mutect2功能的业界认可度最高,所以我们比较一下。
首先检查几个位点,比如在Mutect2里面仅有的1号染色体的5个合格的somatic突变 :
chr1 88770592 . C CT . . DP=46;ECNT=1;NLOD=3.01;N_ART_LOD=-8.382e-01;POP_AF=5.000e-08;P_CONTAM=0.00;P_GERMLINE=-4.691e+00;RPA=11,12;RU=T;STR;TLOD=6.32 GT:AD:AF:F1R2:F2R1:MBQ:MFRL:MMQ:MPOS:SA_MAP_AF:SA_POST_PROB 0/0:10,0:0.167:5,0:5,0:0:221,0:0:0 0/1:12,4:0.370:7,3:5,1:36:202,208:60:35:0.253,0.00,0.250:0.021,0.026,0.952
在lancet里面认为是:
chr1 88770592 . C CT 3.81931 LowFisherSTR;LowCovNormal;LowAltCntTumor;StrandBias SOMATIC;FETS=3.81931;TYPE=ins;LEN=1;KMERSIZE=27;SB=0.621479;MS=12T GT:AD:SR:SA:DP 0/0:8,0:2,6:0,0:8 0/1:13,2:1,12:0,2:15
这样就冲突了。
因为某些原因,我的IGV截图不能秀出来。
当然了,表现一致的位点也是有的,比如:
chr1 31426673 . C G 97.509 PASS SOMATIC;FETS=97.509;TYPE=snv;LEN=1;KMERSIZE=13;SB=8.64182 GT:AD:SR:SA:DP 0/0:154,0:84,70:0,0:154 0/1:166,37:89,77:21,16:203
chr1 31426673 . C G . . DP=282;ECNT=1;NLOD=34.78;N_ART_LOD=-2.072e+00;POP_AF=5.000e-08;P_CONTAM=0.00;P_GERMLINE=-4.935e+01;TLOD=89.87 GT:AD:AF:F1R2:F2R1:MBQ:MFRL:MMQ:MPOS:SA_MAP_AF:SA_POST_PROB 0/0:116,0:0.015:60,0:56,0:0:209,0:0:0 0/1:127,31:0.206:68,17:59,14:36:218,237:60:20:0.172,0.192,0.196:0.020,7.276e-03,0.972
我发现lancet对我的项目有一定的帮助,我可能是会仔细使用。
当然了,可能还会用conda来安装。
彩蛋功能
加上 -A
参数开启 DOT 格式的 DeBruijn 图,看起来不是很好理解,应该是意义不大, 就不介绍了,感兴趣的朋友可以自行耗费时间和精力去摸索哈。
■ ■ ■