我有包含 x 个读取的 fasta 文件,我想重命名每个读取的 id。 我的文件如下:
>e855552f-9484-4674-8fc4-d9b1f1add023 runid=4140cbe7f7cd36a17a00b732f27dd37bd09e4380 sampleid=mariposas read=55861 ch=2 start_time=2022-11-23T17:43:40Z model_version_id=2021-05-17_dna_r9.4.1_minion_768_2f1c8637 barcode=barcode06
GCTTTAACATTTAGCTATTTATGACACAGTGAAATAAAAGTAATATCTTTTTATTTTTAATTGTATTTATTAGTTACATGTTTTCACATGCATTTAACATAAATGTGATAATTTATGGGAATTACACTACTGTCAAAGTAGTT
>c9d90319-ec63-4347-9244-ad080b0815c5 runid=4140cbe7f7cd36a17a00b732f27dd37bd09e4380 sampleid=mariposas read=30196 ch=317 start_time=2022-11-23T14:47:32Z model_version_id=2021-05-17_dna_r9.4.1_minion_768_2f1c8637 barcode=barcode11
GCCTTGACTATATGGTTTACCTGTTCAAATACGACTCTACTCATGGTCGTTTCAAGGGAACAGTTGAGGTTCAAGGATGGTTTCCTCGTAGTAGTCTCAATGGAAACAAATCTCCTGTCTTCTGTGAAAGAGACCCTAAAATC
我想用第一个 id 和由“_”链接的条形码(最后一个单词)重命名读取。
我的期望是:
>e855552f-9484-4674-8fc4-d9b1f1add023_barcode06
GCTTTAACATTTAGCTATTTATGACACAGTGAAATAAAAGTAATATCTTTTTATTTTTAATTGTATTTATTAGTTACATGTTTTCACATGCATTTAACATAAATGTGATAATTTATGGGAATTACACTACTGTCAAAGTAGTT
>c9d90319-ec63-4347-9244-ad080b0815c5_barcode11
GCCTTGACTATATGGTTTACCTGTTCAAATACGACTCTACTCATGGTCGTTTCAAGGGAACAGTTGAGGTTCAAGGATGGTTTCCTCGTAGTAGTCTCAATGGAAACAAATCTCCTGTCTTCTGTGAAAGAGACCCTAAAATC
我正在尝试使用 sed
命令,但我不知道这是否是最佳选择。我不知道如何使用 sed 指定多个单词(第一个和最后一个)而不是固定单词。
最佳答案
这个sed
一行应该可以解决问题:
sed 's/ .* barcode=/_/' file
它只是用 _
替换从第一个空格字符到 barcode=
的子字符串。
关于bash - 在 UNIX 中重命名 fasta/fastq 文件中的条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75813398/