项目场景:
通过BWA对单端测序的小片段序列(710bp)进行基因组分析,寻找突变位点。
问题描述
经过正常质控,建立参考基因组索引后,样品在比对过程开始发生报错:
bwa mem -R '@RG\tID:foo\tSM:8_F282_22_8_328350w_GF1\tLB:CDGenomics' -t 1 02.align/ref/ref.txt 01.data/trim/8_F282_22_8_328350w_GF1/8_F282_22_8_328350w_GF1_trimmed.fq.gz > 02.align/8_F282_22_8_328350w_GF1_align.sam
[M::bwa_idx_load_from_disk] read 0 ALT contigs
[M::process] read 74120 sequences (10000038 bp)...
Segmentation fault
原因分析:
最开始在网上找问题,大致提到两点原因:
- 内存资源不足;
- 软件版本较早;
当时我确实怀疑是第一个,因为周末正好有另一个项目占用了大量的系统资源(其实是cpu,并不是内存)。但当另一个项目完成后,仍然出现报错,我便排除了这一点。由于我的安装版本是最新版本,第二点显然也不成立。
后面用了很多测试方法,更换样品、调用同事环境、让同事做一遍,同事那边没问题。最后查出来是参考基因组的格式问题。我没改为标准的fa格式(每条序列前面有一行>gene_name),而是直接将客户提供的序列以txt文档作为参考基因组建立索引,进行比对。
解决方案:
更改参考基因组后即可正常运行。
总结
Segmentation fault 这个报错还有一种情况会与参考基因组有联系,即参考基因组过大时,由于内存不足导致溢出。有更多问题可以加VX:bbplayer2021 (木青)进群交流,备注 申请加入生信交流群。