获取PDB文件时出错

时间:2018-04-04 01:37:40

标签: python biopython

我尝试使用Bio.PDB模块(BioPython)下载PDB文件。入藏号列表来自pandas DataFrame。这是我目前正在使用的代码:

def get_pdb(accession, dir='/Users/my_folder'):
    pdb1 = PDBList()
    pdb1.retrieve_pdb_file(accession, pdir=dir)

for i in df.loc[:, 'Structure_(PDB)_id']:
    get_pdb(i)

代码能够将2个文件下载到my_folder,但之后出现此错误:550 Can\'t change directory to pdb1p87.ent.gz: No such file or directory

有关进展情况的任何帮助或提示?这可能是一个FTP问题?

1 个答案:

答案 0 :(得分:1)

要获取pdb个文件,请使用以下网址https://files.rcsb.org/download/1p87.pdb

我的获取程序看起来有点像这样:

import os
import requests as re

def fetchpdb(pdb,dir):
    with open(os.join(dir,str(pdb)+'.pdb'),mode='wb') as f:
        resp = re.get('https://files.rcsb.org/download/'+str(pdb))
        f.write(resp.content)

这个例程没有ftp的缺点,如果这就是bio.PDB正在使用的那些。

如果你被允许引入requests作为依赖,我会建议你这样做。

如果您对代码有任何疑问,请随时联系。