【发布时间】:2015-06-11 04:51:36
【问题描述】:
我正在尝试编辑包含基因组数据和每个序列两侧的唯一分子标识符的 Fastq 文件。
前两个读取的示例如下所示:
1 @HISEQ:230:C6G45ANXX:3:1101:1395:2141 1:N:0:ACAGTGGTTGAACCTT
2 TGACGGCACTTTCTCTTCCCAACCACGTGGCTGCAGACTTCTTGCTCTCAAGTTGTCCTGACATGCTCTGAGAGCACACACAACATACATACAACACCTGGATCTGTGAATTAATTACTGCCTAGG
3 +
4 BB//<<BFBFFF<FFFFBBB<<<F/FBBB<FF/B<FFFFFFFFFFFFFFBFFFBFB/FBFFB//F//B<FFF</</BF<BBBFFFFF//B<FBFF/77F/B/BF7/FF/<BF/7FFFFBBF//B7B
5 @HISEQ:230:C6G45ANXX:3:1101:1498:2162 1:N:0:ACAGTGGTTGAACCTT
6 TGACGGCACTTTCTCTTCCCAACCACGTGGCTGCAGACTTCTTGCTCTCAAGTTGTCCTGACATGCTCTGAGAGCACACACAACATACATACAACACCTGGATCTGTGAATTAATTACTGCCTAGG
7 +
8 BBB<B<F<FFFFFFFBFFFFFFBFFFFBFF/F<FFFFBBFFFFFFFFFFBFB/BFFFFFFFFFFFBFFB/<<<FFFFFFFFFFFFFFBFFFF##################################
这些行解释如下:
1 Information
2 Sequence
3 +
4 Quality Scoring
5 Information
6 Sequence
7 +
8 Quality Scoring
我需要一个输出文件,其中已删除给定序列的所有精确重复(及其相应信息)。也就是说,我需要删除文件中已经出现第二行的 4 行块。
因此,在上面的示例中,由于第 2 行和第 6 行中的序列匹配,输出文件应该包含第 1、2、3 和 4 行,而不是 5、6、7 和 8 行。
生成的输出文件:
1 @HISEQ:230:C6G45ANXX:3:1101:1395:2141 1:N:0:ACAGTGGTTGAACCTT
2 TGACGGCACTTTCTCTTCCCAACCACGTGGCTGCAGACTTCTTGCTCTCAAGTTGTCCTGACATGCTCTGAGAGCACACACAACATACATACAACACCTGGATCTGTGAATTAATTACTGCCTAGG
3 +
4 BB//<<BFBFFF<FFFFBBB<<<F/FBBB<FF/B<FFFFFFFFFFFFFFBFFFBFB/FBFFB//F//B<FFF</</BF<BBBFFFFF//B<FBFF/77F/B/BF7/FF/<BF/7FFFFBBF//B7B
【问题讨论】:
-
如果它的第三行(带有核苷酸序列的那个)与前一个块的匹配,您想要删除一个四行块,我理解正确吗?垃圾行是否应该是输出的一部分,如果不是,我如何识别哪些行是垃圾?
-
你是对的。一切都将在这四行块中,如果序列部分匹配,则应删除所有四行。垃圾行不应包含在输出中,并且只会是 Fastq 的前三行,因此四行的起始组从第 4 行开始,然后将在第 6、10、14、18 行找到序列。 ....