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

如何从NCBI获取蛋白信息并保存为MAT文件?解决getgenpept报错问题

解决Matlab getgenpept无法获取NP_000511蛋白信息的问题

我之前也碰到过一模一样的情况——明明NCBI网页能找到目标蛋白条目,但Matlab的getgenpept就是报错,大概率是这个函数依赖的内部接口没跟上NCBI的更新节奏,或者函数本身的维护滞后了。这里给你两种可靠的方案,帮你获取NP_000511的蛋白信息并保存为MAT文件:

方法一:手动下载后导入Matlab

这种方式简单直接,完全避开接口适配问题:

  • 先在NCBI找到NP_000511的页面,点击「Send to」→「File」,选择「GenPept」格式,把文件保存到Matlab的工作目录(比如命名为NP_000511.gp)。
  • 在Matlab里运行以下代码读取文件并保存:
% 读取GenPept格式的蛋白文件
proteinData = genbankread('NP_000511.gp');
% 将数据保存为MAT文件
save('humanProtein.mat', 'proteinData');

方法二:用Matlab调用NCBI EFetch API自动获取

如果不想手动下载,可以直接用Matlab的webread调用NCBI官方接口,自动完成数据获取和处理:

% 指定目标蛋白的 accession 编号
accession = 'NP_000511';
% 构造EFetch请求地址,获取GenPept格式文本数据
url = sprintf('https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=protein&id=%s&rettype=gp&retmode=text', accession);
gpText = webread(url);

% 将文本写入临时文件,方便genbankread函数读取
tempFile = tempname('.') + ".gp";
fid = fopen(tempFile, 'w');
fwrite(fid, gpText);
fclose(fid);

% 读取蛋白数据并清理临时文件
proteinData = genbankread(tempFile);
delete(tempFile);

% 保存为MAT文件
save('humanProtein.mat', 'proteinData');

这两种方法都能拿到你需要的完整蛋白信息,保存的MAT文件可以直接用于后续的序列比对分析。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:40:28