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文件抽取子集,用法类似。

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
原文地址:https://www.cnblogs.com/mmtinfo/p/11908528.html