生信笔记

按比例合并两个fastq

2018-05-11  本文已影响102人  11的雾
按比例合并两个fastq

代码:https://github.com/levinyi/work/blob/master/script/merge_two_fastq/mix_two_fastq_together.py
使用场景:

introduction:

闲来无事,想讲两个物种的fastq按照不同比列合并在一起,再去比对,看比对率如何。

需求:

按比例将fastq,按一定数据量随机混合。需要设定一个比列:10:90,需要设定一个总数据量(总共产生多少条reads)

方法:

fastq1 + fastq2
根据设定的模拟总量和比列,先随机出reads序列的位置,和数量。并取出来合并即可。
比如:需要混合成500条,按照10:90的比例,则需要50条fastq1,和90条fastq2,那么就从fastq1中的总reads数中随机挑选出50条,如果不够则可以重复某条read,同理

用法:
python  mix_two_fastq_together.py -a CL100000999_L02_1_1.fq.gz  -b CL100000100_L02_5_1.fq.gz  -c 10:90   -d   5000000   -o CL100000444_L02_1_1.fq.gz
说明:

脚本用到了python的biopython包去读取fastq格式文件。
脚本用到了python的threading多线程去处理fastq,节省了读取两个fastq的时间。
脚本用到了python 的argparse管理参数。

更新:

20180529:修改了多线程写入时逻辑,避免了写入时的乱码。


任何细节都可在评论区留言。
有生之年,会持续更新。
上一篇下一篇

猜你喜欢

热点阅读