【问题标题】:Parse fasta file headers解析fasta文件头
【发布时间】:2014-03-27 13:36:38
【问题描述】:

我想为每个 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

【问题讨论】:

标签: python perl parsing awk


【解决方案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

希望这会有所帮助!

【讨论】:

    【解决方案2】:

    有些是这样的:

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-29
      • 2022-08-24
      • 2015-02-24
      • 2018-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多