seqtk抽取测序数据

做数据比较的时候,由于同一个样本测序数据量不一致,需要抽取数据,控制数据量基本一致。

自己写脚本速度较慢,后面发现一个不错的工具:seqtk

原始数据抽取

如果只控制原始数据量一致,过滤低质量数据后直接使用seqtk (Version: 1.3-r106) 的子模块seq,

配合参数 -s 设定随机种子,默认11;

配合参数 -f 设定抽取数据量比例。

例如:

1 seqtk seq -s 11 -f 0.6805888 $dir/CNR01/WGS.read1.fq.gz |gzip >new_r1.fq.gz
2 seqtk seq -s 11 -f 0.6805888 $dir/CNR01/WGS.read2.fq.gz |gzip >new_r2.fq.gz

或者直接抽取固定的read 条数, 如抽取1百万条reads:

1 seqtk sample -s 11 $dir/read1.fq.gz 1000000 |gzip  > sub_r1.fq.gz
2 seqtk sample -s 11 $dir/read2.fq.gz 1000000 |gzip  > sub_r2.fq.gz

 

 

这个工具还可以根据比对的bam文件抽取子集,用法类似。

posted @ 2019-11-21 21:28  天使不设防  阅读(1515)  评论(0编辑  收藏  举报