查找字符串并替换
find string and replace
你好,我有一个这样的文件
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
我想用字符串替换每个序列的 header。
我有一个像
这样的转换文件
L_00001_mRNA_interferase_MazF galM、GALM、醛糖 1-差向异构酶 [EC:5.1.3.3]
L_00002_hypothetical_protein E3.2.1.85,lacG,6-phospho-beta-galactosidase[EC:3.2.1.85]
L_00003_hypothetical_protein PTS-Lac-EIIB,lacE,PTSsystem,lactose-specificIIBcomponent[EC:2.7.1.69]
你的问题不清楚你在哪个平台上(Windows、Linux、Mac、...)、你被限制使用什么语言,以及输入文件的确切细节。
假设您使用 Linux,或者有 sed
和 awk
可用以及命令 shell,它可以像 (其中 $
表示 Bourne-like shell 提示):
$ awk '{print "s/^" "/" "/"}' conversions.txt > conversions.sed
$ sed -f conversions.sed sequences.txt > relabeled.txt
假设您的第一个文件(带有您想要更改的标题)名为 sequences.txt
,第二个文件(“转换文件”)名为 conversions.txt
。进一步假设“转换文件”每行包含一个记录,正好有两个字段——原始字段和替换字段 headers——由空格分隔(即既不是原始 header 也不是新的 header 包含任何空格)并且没有空行。
在此解决方案中,第一行 (awk
) 将 conversions.txt
文件转换为 sed
脚本,conversions.sed
;第二行 (sed
) 然后在 sequences.txt
文件上运行此脚本,生成 relabeled.txt
文件,这可能(也可能不是)您要查找的内容。
根据您的输入文件的确切性质,这在您的问题中并不清楚,这可能需要一些调整。
希望这对您有所帮助。
你好,我有一个这样的文件
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
我想用字符串替换每个序列的 header。
我有一个像
这样的转换文件L_00001_mRNA_interferase_MazF galM、GALM、醛糖 1-差向异构酶 [EC:5.1.3.3]
L_00002_hypothetical_protein E3.2.1.85,lacG,6-phospho-beta-galactosidase[EC:3.2.1.85]
L_00003_hypothetical_protein PTS-Lac-EIIB,lacE,PTSsystem,lactose-specificIIBcomponent[EC:2.7.1.69]
你的问题不清楚你在哪个平台上(Windows、Linux、Mac、...)、你被限制使用什么语言,以及输入文件的确切细节。
假设您使用 Linux,或者有 sed
和 awk
可用以及命令 shell,它可以像 (其中 $
表示 Bourne-like shell 提示):
$ awk '{print "s/^" "/" "/"}' conversions.txt > conversions.sed
$ sed -f conversions.sed sequences.txt > relabeled.txt
假设您的第一个文件(带有您想要更改的标题)名为 sequences.txt
,第二个文件(“转换文件”)名为 conversions.txt
。进一步假设“转换文件”每行包含一个记录,正好有两个字段——原始字段和替换字段 headers——由空格分隔(即既不是原始 header 也不是新的 header 包含任何空格)并且没有空行。
在此解决方案中,第一行 (awk
) 将 conversions.txt
文件转换为 sed
脚本,conversions.sed
;第二行 (sed
) 然后在 sequences.txt
文件上运行此脚本,生成 relabeled.txt
文件,这可能(也可能不是)您要查找的内容。
根据您的输入文件的确切性质,这在您的问题中并不清楚,这可能需要一些调整。
希望这对您有所帮助。