基本信息
- 测试集群 CPU 型号: Intel(R) Xeon(R) CPU E5-4610 v2 @ 2.30GHz
- bwa 版本:0.7.12-r1039
- 参考序列:hg19
- 原始数据:SRX265482
一、小样本测试
$ wc -l read*_1000.fq
1000 read1_1000.fq
1000 read2_1000.fq
2000 total
提取了 1000 行 fastq 数据,一共 250 条 reads 做测试。
$ samtools view reads_1000.sam | wc -l
501
图一:由chimeric alignments,SRR796872.221多一条
图二:chimeric alignments
总结:BWA-MEM 并不是每条 read 输出一个 Mapping 结果,因为存在 chimeric alignments,所以有的会有多条。
二、不同线程数 Mapping 对结果的影响
$ wc -l read1.fq read2.fq
25600000 read1.fq
25600000 read2.fq
51200000 total
提取 6400000 条 reads 作测试。
bwa 比对和监控内存占用量所使用的命令是:
$ bwa mem -M -t #cpu hg19 read1.fq read2.fq > bwa#cpu.sam &
$ while kill -0 #pid 2> /dev/null; do grep VmPeak /proc/#pid/status; sleep 60; done
表一:线程数增加,内存占用量增加(单位:kB)
threads | 1 | 2 | 4 | 8 | 16 | 32 |
---|---|---|---|---|---|---|
memory | 5,631,896 | 5,916,524 | 6,228,940 | 6,853,772 | 8,040,104 | 10,539,368 |
图三:线程数增加,内存占用量增加(单位:kB)
表二:线程数增加,运行时间减少(单位:seconds)
threads | 1 | 2 | 4 | 8 | 16 | 32 |
---|---|---|---|---|---|---|
time | 2,071.550 | 908.405 | 464.048 | 242.545 | 129.128 | 87.006 |
图四:线程数增加,运行时间减少(单位:seconds)
表三:不同线程数 Mapping 结果比较
mapping | 1 | 2 | 4 | 8 | 16 | 32 |
---|---|---|---|---|---|---|
Unique | 11,762,105 (91.68%) | 11,762,155 (91.68%) | 11,762,146 (91.68%) | 11,762,133 (91.68%) | 11,762,158 (91.68%) | 11,762,143 (91.68%) |
Multi | 1,027,343 (8.01%) | 1,027,298 (8.01%) | 1,027,304 (8.01%) | 1,027,317 (8.01%) | 1,027,291 (8.01%) | 1,027,308 (8.01%) |
Unmapped | 40,447 (0.32%) | 40,443 (0.32%) | 40,446 (0.32%) | 40,446 (0.32%) | 40,447 (0.32%) | 40,446 (0.32%) |
图五:不同线程数 Mapping 结果比较
图六:示例同一条 read,两次比对到了不同的位置
总结:内存占用量随着进程数逐渐升高,运行时间基本跟进程数成反比。而同一条 read 两次比对到不同的位置,可能的原因是 bwa 中类似 drand48() 函数在挑选同等打分的 reads 时随机选择的结果。
三、分块 Mapping 对结果的影响
$ wc -l SRR796872_*
142410888 SRR796872_1.fastq
142410888 SRR796872_2.fastq
284821776
选取完整的测序数据。
图七:普通 Mapping 与分块 Mapping 示意图
表四:总 reads 数比较
总数 | 原始 fastq | 普通 | 分块 |
---|---|---|---|
reads | 71,205,444 | 71,371,431 | 71,371,421 |
表五:Mapping 后 reads 的 alignments 数的分布
alignments 数 | 普通 | 分块 |
---|---|---|
2 | 35,440,618(99.54%) | 35,440,637(99.54%) |
3 | 158,232 | 158,205 |
4 | 3,862 | 3,869 |
5 | 9 | 10 |
6 | 1 | 1 |
总计 | 35,602,722 | 35,602,722 |
表六:Mapping 的结果统计
普通 | 分块 | |
---|---|---|
Unique | 65,413,394(91.65%) | 65,413,390(91.65%) |
Multi | 5,719,776(8.02%) | 5,719,770(8.02%) |
Unmapped | 238,261(0.33%) | 238,261(0.33%) |
总结:普通 Mapping 与分块 Mapping 的结果几乎没有区别。
[1]Bioinformatics. 2011 Aug 15; 27(16): 2194–2200.