我想为每个fasta标题添加一个包含字段4的附加列,其中空格与其余字段分开(假设'|'是输入文件头中的字段分隔符)。
这次没有可行的想法。
输入文件:
>gi|568301760|ref|NC_023137.1| Phaeobacter gallaeciensis DSM 26640, complete genome
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
期望的输出:
>NC_023137.1 gi|568301760|ref|NC_023137.1| Phaeobacter gallaeciensis DSM 26640, complete genome
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
答案 0 :(得分:1)
Perl选项:
perl -F"[>|]" -pae 's/^>/>$F[4] /' file.fa
输出:
>NC_023137.1 gi|568301760|ref|NC_023137.1| Phaeobacter gallaeciensis DSM 26640, complete genome
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
希望这有帮助!
答案 1 :(得分:0)
有些人喜欢这样:
awk -F"[>|]" '/^>/ {$1=">"$5}8' OFS="|" file
>NC_023137.1|gi|568301760|ref|NC_023137.1| Phaeobacter gallaeciensis DSM 26640, complete genome
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
这应该使>
和|
更正:
awk -F"[|]" '/^>/ {$0=substr($0,1,1)$4" "substr($0,2)}1' file
>NC_023137.1 gi|568301760|ref|NC_023137.1| Phaeobacter gallaeciensis DSM 26640, complete genome
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA