我想根据参考文本文件中的信息更改我的FASTA标头 . 所以说我有两个文件:
file1.txt(引用,制表符分隔)
chr1:100-1000(+) ORF1_ORF2_
chr2:30-400(-) ORF2_
chr3:50-4500(+)
chr4:60-800(-) ORF1_
file2.fasta
>chr1:100-1000(+)
TTTTGAGAGGACTTCTCTGAGAGCTATGCTAGTCATCGAGGGGAAA
>chr2:30-400(-)
GGGGGGAGAGAGATCTCTGAGCTAGTCATCGTAGCTAGTCATGGGG
>chr3:50-4500(+)
ATGCGCGAGCGAGCGCGACGATCATCGTAGCTACAAAAAAAAAAAG
>chr4:60-800(-)
AGTCTAGCTATCGTAGCTGATCGTAGCTAGCTGATCGTAGCTAGTC
我想使用file1.txt中的$ 1来识别file2.fasta中的相应头 . 如果匹配,则使用file1.txt中的$ 2为当前标头添加前缀 . 所以期望的输出将是:
output.fasta
>ORF1_ORF2_chr1:100-1000(+)
TTTTGAGAGGACTTCTCTGAGAGCTATGCTAGTCATCGAGGGGAAA
>ORF2_chr2:30-400(-)
GGGGGGAGAGAGATCTCTGAGCTAGTCATCGTAGCTAGTCATGGGG
>chr3:50-4500(+)
ATGCGCGAGCGAGCGCGACGATCATCGTAGCTACAAAAAAAAAAAG
>ORF1_chr4:60-800(-)
AGTCTAGCTATCGTAGCTGATCGTAGCTAGCTGATCGTAGCTAGTC
我过去曾使用awk来比较两个文件中的列,但是我对如何将文本文件与fasta文件(有 Headers 和序列而不是列)进行比较感到困惑 . 任何帮助都会很棒!
1 回答
以上假设file1中的$ 2不能包含
&
.