首页 > 解决方案 > 有没有一种简单的方法来输出 fasta 文件的唯一基因 ID?

问题描述

我正在开发一个使用nanoinside 的项目command-line。我有一个包含 40,000 多个基因的 fasta 文件,我只想提取唯一的基因ID。我正在使用以下命令:

from Bio import SeqIO
import sys
import re 

    fasta_file = (sys.argv[1])
    for myfile in SeqIO.parse(fasta_file, "fasta"):
      if len(myfile) > 250:
       gene_id = myfile.id
       mylist = re.match(r"H149xcV_[^\W_]+_[^\W_]+_[^\W_])_[^\W_]+", gene_id)
       print (">"+list.group(1)) 

这为我提供了相同基因的复制品。输出大约是 40,000 个基因。我发布了一个示例:

>H149xcV_Fge342_r3_h2
>H149xcV_bTr423_r3_h2
>H149xcV_kN893_r3_h2
>H149xcV_DNp021_r3_h2
>H149xcV_JEP3324_r3_h2
>H149xcV_JEP3324_r3_h2
>H149xcV_JEP3324_r3_h2
>H149xcV_SRt424234_r3_h2
>H149xcV_Fge342_r3_h2
>H149xcV_Fge342_r3_h2

有没有办法重新格式化我的命令,以便我只收到唯一的基因 ID:

>H149xcV_Fge342_r3_h2
>H149xcV_bTr423_r3_h2
>H149xcV_kN893_r3_h2
>H149xcV_DNp021_r3_h2
>H149xcV_JEP3324_r3_h2
>H149xcV_SRt424234_r3_h2

标签: pythonuniquefasta

解决方案


推荐阅读