You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何一次性批量下载RCSB中某蛋白质的全部7000个PDB文件?

批量下载RCSB中特定蛋白质的PDB文件方法

方法1:RCSB官网内置批量功能

  • 用目标蛋白质的UniProt ID、基因名或其他标识在RCSB搜索,获取所有关联的PDB条目列表
  • 勾选页面顶部的「全选」按钮(若条目跨多页,需确认是否支持一键全选所有分页内容,部分情况下可能需要手动切换页次多选)
  • 点击页面上方的「Download」按钮,选择「PDB Files」选项,系统会自动将所有选中文件打包为ZIP压缩包供下载
  • 注意:如果条目数量过多(比如7000个),可能需要分批次选择下载,避免请求超时导致失败

方法2:通过RCSB REST API编写脚本批量下载

步骤1:获取目标蛋白质对应的所有PDB ID列表

可以通过RCSB的API接口查询,比如基于UniProt ID查询的请求格式(用bash的curl命令):

curl "https://data.rcsb.org/rest/v1/core/uniprot/{你的UniProt ID}/entry_ids"

将返回的JSON格式PDB ID列表提取出来,保存为一个文本文件(命名为pdb_ids.txt,每行一个PDB ID)。

步骤2:批量下载脚本

Bash脚本示例:

# 循环读取pdb_ids.txt中的每个ID并下载
while read pdb_id; do
    curl -O "https://files.rcsb.org/download/${pdb_id}.pdb"
done < pdb_ids.txt

Python脚本示例(支持错误重试、进度提示):

import requests
from time import sleep

with open('pdb_ids.txt', 'r') as f:
    pdb_ids = [line.strip() for line in f if line.strip()]

download_dir = "./pdb_files"
import os
os.makedirs(download_dir, exist_ok=True)

for idx, pdb_id in enumerate(pdb_ids, 1):
    url = f"https://files.rcsb.org/download/{pdb_id}.pdb"
    save_path = os.path.join(download_dir, f"{pdb_id}.pdb")
    try:
        response = requests.get(url, timeout=10)
        response.raise_for_status()
        with open(save_path, 'wb') as out_f:
            out_f.write(response.content)
        print(f"[{idx}/{len(pdb_ids)}] 已下载: {pdb_id}")
    except requests.exceptions.RequestException as e:
        print(f"[{idx}/{len(pdb_ids)}] 下载失败 {pdb_id}: {str(e)}")
        sleep(2)  # 失败后暂停2秒重试

方法3:借助生物信息学工具库

比如使用Python的biopython库,内置PDB下载功能:

from Bio.PDB import PDBList
import os

pdbl = PDBList()
download_dir = "./pdb_files"
os.makedirs(download_dir, exist_ok=True)

with open('pdb_ids.txt', 'r') as f:
    pdb_ids = [line.strip() for line in f if line.strip()]

for pdb_id in pdb_ids:
    # 下载PDB文件到指定目录,格式为pdb
    pdbl.retrieve_pdb_file(pdb_id, pdir=download_dir, file_format='pdb')

使用前需要先安装biopython:pip install biopython

内容的提问来源于stack exchange,提问作者SAMIRA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 10:51:09