Skip to main content
 首页 » 编程设计

python之Biopython(或一般的 Python): Most Efficient Way to Parse Species Name From A large . 使用 gi 标识符的 fasta 文件

2025年05月04日16leader

我有一个约 145000 个条目的 .fasta 文件(本质上是 .txt)

>gi|393182|gb|AAA40101.1| cytokine [Mus musculus] 
MDAKVVAVLALVLAALCISDGKPVSLSYRCPCRFFESHIARANVKHLKILNTPNCALQIVARLKNNNRQV 
CIDPKLKWIQEYLEKALNKRLKM 
 
>gi|378792467|pdb|3UNH|Y Chain Y, Mouse 20s Immunoproteasome 
TTTLAFKFQHGVIVAVDSRATAGSYISSLRMNKVIEINPYLLGTMSGCAADCQYWERLLAKECRLYYLRN 
GERISVSAASKLLSNMMLQYRGMGLSMGSMICGWDKKGPGLYYVDDNGTRLSGQMFSTGSGNTYAYGVMD 
SGYRQDLSPEEAYDLGRRAIAYATHRDNYSGGVVNMYHMKEDGWVKVESSDVSDLLYKYGEAAL 
 
>gi|378792462|pdb|3UNH|T Chain T, Mouse 20s Immunoproteasome 
MSSIGTGYDLSASTFSPDGRVFQVEYAMKAVENSSTAIGIRCKDGVVFGVEKLVLSKLYEEGSNKRLFNV 
DRHVGMAVAGLLADARSLADIAREEASNFRSNFGYNIPLKHLADRVAMYVHAYTLYSAVRPFGCSFMLGS 
YSANDGAQLYMIDPSGVSYGYWGCAIGKARQAAKTEIEKLQMKEMTCRDVVKEVAKIIYIVHDEVKDKAF 
ELELSWVGELTKGRHEIVPKDIREEAEKYAKESLKEEDESDDDNM 
  1. 我有一个 gi 列表(| 之后列出的第一个数字)。
  2. 对于给定的测试,此列表的大小在 60 - 600 gi 之间变化
  3. 我想返回一个列表,其中包含这些 gi 的各个物种
  4. 物种名称通常如第一个示例所示(用方括号 [Mus musculus] 括起来),但并不总是存在。
  5. 顺序不是特别重要。

我一直在使用各种 BioPython 解析点点滴滴,但我认为由于搜索的大小,它失败了。我希望这里有人知道更有效的方法?

提前致谢!

请您参考如下方法:

与其解析物种的不完全一致的 FASTA 标题行,不如提取 GI 编号,然后查找 NCBI 分类 ID,例如见http://lists.open-bio.org/pipermail/biopython/2009-June/005304.html - 从出租车上您可以获得物种名称、通用名称、血统等。参见 ftp://ftp.ncbi.nih.gov/pub/taxonomy/taxdump_readme.txt或者,如果您更喜欢在线解决方案,Entrez Utilities (EUtils) 是另一种选择。