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

如何用R将UniProt细胞因子FASTA文件整理为含指定字段的数据框

R语言处理UniProt细胞因子FASTA生成结构化表格教程

1. 前期准备

首先从UniProt的细胞因子查询页面下载FASTA格式的蛋白序列文件,保存到R的当前工作目录,命名为cytokines_uniprot.fasta即可。

2. 安装依赖包

我们需要用Biostrings处理FASTA序列,用tidyverse系列工具做文本提取和数据整理,安装代码如下:

# 安装基础包
install.packages(c("BiocManager", "tidyverse"), repos = "https://cran.rstudio.com/")
# 安装Bioconductor序列处理包
BiocManager::install("Biostrings", update = F)

加载包:

library(Biostrings)
library(tidyverse)

3. 读取FASTA并解析字段

UniProt的FASTA序列头格式统一为>sp|UniProtID|蛋白名 OS=物种名 OX=物种编号 ...,我们用正则匹配提取需要的4个字段:

# 读取FASTA文件
fasta_raw <- readAAStringSet("cytokines_uniprot.fasta")

# 转换为结构化数据框
cytokine_table <- data.frame(
  raw_header = names(fasta_raw),
  sequence = as.character(fasta_raw)
) %>%
  # 提取UniProt ID
  mutate(protein_id = str_extract(raw_header, "(?<=\\|)[A-Z0-9]+(?=\\|)")) %>%
  # 提取蛋白名称
  mutate(protein_name = str_remove(str_extract(raw_header, "(?<=\\|)[^\\|]+$"), " +OS=.*")) %>%
  # 提取物种信息
  mutate(species = str_extract(raw_header, "(?<=OS=).+?(?= +OX=)")) %>%
  # 保留所需的4个字段
  select(protein_id, protein_name, species, sequence)

4. 结果导出

如果需要保存为本地表格,执行以下代码即可:

# 导出为CSV格式
write.csv(cytokine_table, "uniprot_cytokines_structured.csv", row.names = FALSE, na = "")

# 如果需要导出为tsv格式
write_tsv(cytokine_table, "uniprot_cytokines_structured.tsv", na = "")

常见问题说明

  • 如果你下载的序列包含TrEMBL未审核条目,序列头开头为tr而非sp,上述正则匹配规则依然兼容,无需修改
  • 少量特殊条目的字段提取如果出现缺失,可对应查看原始FASTA的序列头格式,微调正则匹配规则即可适配
  • 若蛋白序列过长导致表格体积过大,可单独保留原始FASTA文件,表格中仅存储protein_id、protein_name、species三个字段即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 00:36:03