嗨我有这样的文件
L_00001_mRNA_interferase_MazF ATGGATTATCCAAAACAAAAGGATATTGTCTGGATTGATTTTGACCCTTCTAAAGGCAAA GAGATAAGAAAGCGGAGACCTGCGTTAGTAGTTAGTAAAGATGAATTTAATGAACGTACA GGTTTCTGTTTAGTTTGCCCCATCACATCTACTAAAAGGAACTTTGCAACGTATATTGAA ATAACAGACCCACAGAAAGTAGAAGGGGACGTAGTTACCCATCAATTGCGAGCGGTTGAT TACACCACAAGAAATATCGAAAAAATTGAACAATGTGATATGTTGACGTGGATTGATGTA GTAGAAGTAATCGGAATGTTTATTTAA
L_00002_hypothetical_protein ATGGAAACGGTAGTTAGAAAGATAGGGAATTCAGTAGGAACTATTTTTCCGAAAAGTATT TCACCACAAGTTGGAGAAAAGTTCACTATTCTTAAAGTTGGGGAAGCGTATATATTGAAA CCTAAGAGAGAAGATATTTTTAAAAATGCTGAAGATTGGGTAGGGTTTAGAGAAGCTTTG ACTAATGAAGATAAAGAATGGGACGAGATGAAACTTGAGGGAGGAGAACGCTAG
L_00003_hypothetical_protein ATGACAACGTTTGGAGAAATTCATAGCAATGCAGAAGGTTATAAAAACGATTTTAATGAG TTGAATAAATTAGTATTACGTGTAGCTGAAGAAAAAGCAAAAGGAGAGCCATTAGTAACG TGGTTTCGGTTGCGGAATCGTAGGATTGCACAAGTATTAGACCCAATGAAAGAAGAAGTA GAAAGTAAATCAAAGTACGAAAAAAGAAGAGTAGCAGCAATTAGTAAAAGCTTTTTTCTA CTTAAAAAAGCTTTTAACTTTATTGAAGCAGAACAATTTGAAAAAGCAGAAAAATTAATT
我想用字符串替换每个序列的标题。
我有一个转换文件,如
L_00001_mRNA_interferase_MazF galM,GALM,aldose1-epimerase [EC:5.1.3.3]
L_00002_hypothetical_protein E3.2.1.85,lacG,6-磷酸-β-半乳糖苷酶[EC:3.2.1.85]
PST-Lac-EIIB,lacE,PTSsystem,乳糖特异性IIB组分[EC:2.7.1.69]答案 0 :(得分:1)
您的问题不清楚您所使用的平台(Windows,Linux,Mac,...),您受限制的语言以及输入文件的确切详细信息。
假设你在Linux上,或者有sed
和awk
可用且命令shell,它可能就像($
表示Bourne-一样简单)像shell提示一样):
$ awk '{print "s/^" $1 "/" $2 "/"}' conversions.txt > conversions.sed
$ sed -f conversions.sed sequences.txt > relabeled.txt
这假定您的第一个文件(带有您想要更改的标题)被称为sequences.txt
,而您的第二个文件(“转换文件”)被称为conversions.txt
。进一步假设“转换文件”每行包含一个记录,其中正好有两个字段 - 原始和替换标题 - 由空格分隔(即原始标题和新标题都不包含任何空格)并且没有空行。
在此解决方案中,第一行(awk
)行将conversions.txt
文件转换为sed
脚本conversions.sed
;第二行(sed
)然后在sequences.txt
文件上运行此脚本,生成relabeled.txt
文件,该文件可能(或可能不)是您要查找的内容。
根据输入文件的确切性质,您的问题不明确,这可能需要进行一些调整。
希望这有帮助。