我有一个带有双端读取的 multifasta 文件,因此彼此相邻的那些是配对的(它们具有相同的读取名称)。我想在整个文件中分别将“/1”和“/2”附加到第一次和第二次读取。我不知道文件中有多少读取。这是文件的样子(为清楚起见,在读取之间添加空行):
HWI-ST1018:1:1101:10007:34134#0 ACTAGTAACCACATGTCCAGACTCCTCCTATGCTCCCACCCAGGGTCCCTTGAGCTGCTT CCCATTCCCCTAGGGCTGAGACCCAATATCCTCTATCCCTG
HWI-ST1018:1:1101:10007:34134#0 GTGCAGGCATGTTGGGGCGTGTCTCAGAGCCTGAACTTCCCTTCCAGTCAGTGCTGGAAG GAGGTGGGCAGGGGAATGATAGAAAGGAAGGAGTGGATTGG
HWI-ST1018:1:1101:10016:6488#0 ACAGCTATACACGAAGAATCTCAGCCCTTGTACTTTTGCATAGTCTCATACACGTATCAG AAGCCTCCACCTGGCTAACAGGAATTTGGGGCTTTGGGAGA
HWI-ST1018:1:1101:10016:6488#0 TTTGGGAGATTTTTTAATCAGGGCAAAACCTGTACTTAGTAACCACATGTCCAGACTCCTC CTATGCTCCCACCCAGGGTCCCTTGAGCTGCTTCCCATTCC
这就是我希望它出现的方式:
HWI-ST1018:1:1101:10007:34134#0/1 ACTAGTAACCACATGTCCAGACTCCTCCTATGCTCCCACCCAGGGTCCCTTGAGCTGCTT CCCATTCCCCTAGGGCTGAGACCCAATATCCTCTATCCCTG
HWI-ST1018:1:1101:10007:34134#0/2 GTGCAGGCATGTTGGGGCGTGTCTCAGAGCCTGAACTTCCCTTCCAGTCAGTGCTGGAAG GAGGTGGGCAGGGGAATGATAGAAAGGAAGGAGTGGATTGG
HWI-ST1018:1:1101:10016:6488#0/1 ACAGCTATACACGAAGAATCTCAGCCCTTGTACTTTTGCATAGTCTCATACACGTATCAG AAGCCTCCACCTGGCTAACAGGAATTTGGGGCTTTGGGAGA
HWI-ST1018:1:1101:10016:6488#0/2 TTTGGGAGATTTTTTAATCAGGGCAAAACCTGTACTTAGTAACCACATGTCCAGACTCCTC CTATGCTCCCACCCAGGGTCCCTTGAGCTGCTTCCCATTCC
然后,我将对其进行 grep,删除“--”分隔符并将正向读取(即以“/1”结尾的那些)和反向读取(即以“/2”结尾的那些)保存在不同的文件中,如下所示:
grep -A 2 "/1" filename.fa | sed '/--/d' > reads_1.fa
grep -A 2 "/2" filename.fa | sed '/--/d' > reads_2.fa
我认为这可以用 sed 和 awk 来完成,但我还没有弄清楚怎么做。请帮忙。提前致谢。