目标:我有个a_1.fq.zg和 a_2.fq.zg 都是2G 测序的双端文件,我想把他拆分成俩个文件,拆分成1.6G,b_1.fq.zg和 1.6G b_2.fq.zg;以及 0.4G c_1.fq.zg和0.4G c_2.fq.zg,保证拆分后的文件仍然是配对的,可以进行mapping,提供具体软件进行操作。
1. 计算行数
zcat 5_24h_R1.raw.fq.gz | wc -l
109656520
2 由于 FASTQ 文件中每个序列占 4 行,所以总共的 序列数(reads) 计算如下:
109,656,520 ÷ 4 = 27,414,130 序列
目标拆分
你希望拆分成:
1.6G 部分(约 80%)
0.4G 部分(约 20%)
按照比例:
80% 部分:27,414,130 × 0.8 ≈ 21,931,304 序列
20% 部分:27,414,130 × 0.2 ≈ 5,482,826 序列
3. 使用 seqkit split2 进行拆分
seqkit split2 -1 5_24h_R1.raw.fq.gz -2 5_24h_R2.raw.fq.gz -s 21931304 -O output_dir
seqkit split2 不能同时处理两个文件,你需要用 -1 和 -2 选项分别指定双端数据。
结果
拆分后的文件会存放在 output_dir/ 目录下,生成:
output_dir/
5_24h_R1.part_001.fq.gz 5_24h_R2.part_001.fq.gz # ≈ 1.6G
5_24h_R1.part_002.fq.gz 5_24h_R2.part_002.fq.gz # ≈ 0.4G