getgeo 生物信息 R语言 表型信息表”“样本信息表”或“临床信息表 phenodata phenotype data
phenodata是用于处理开放获取的表观数据(如年龄、性别、治疗手段等)的工具,主要应用于生物医学研究领域。
核心功能
数据采集:整合不同来源的表观数据,包括芯片数据、样本信息等。
数据处理:支持数据清洗、转换及分析,适用于单细胞测序等复杂实验设计。
版本信息
最新版本为0.6.0(2019年发布),包含基础的数据操作功能,但未提供高级分析模块。
注意事项
该工具主要面向学术研究场景,需结合专业领域知识进行数据解读
- “phenodata” 并不是单独成词的英文
,而是 phenotype data(表型数据)的连写或代码里的变量名。
在单细胞/基因组学语境里,它通常指 每个样本(或细胞)的临床、实验条件和注释信息,与表达矩阵并列,构成分析所需的“元数据”。
对应到中文,把 phenodata 说成“表型信息表”“样本信息表”或“临床信息表”即
- phenotype
表象
美[ˈfinəˌtaɪp]
英[ˈfiːnəʊtaɪp]
n. 表型;具有共同表型的一类有机物
adj. 表型(的)
网络释义: 表现型;显型;血型表型
pheno
词典
酚;【医】【=phenobarbital】苯巴比妥,苯乙基巴比土酸;
例句
Boron trifluoride complexes with acetic acid, deity ether or pheno
三氟化硼与醋酸、二乙醚或酚的络合物
phenodata(常写作 phenoData
)没有全球统一“官方格式”,但在生信领域已经形成 3 套事实标准,取决于你用的分析框架。 下面把“必须出现的字段 + 文件形态 + 代码模板”一次讲清,可直接照抄使用。
- Bioconductor / GEO 系列矩阵:AnnotatedDataFrame
这是芯片和 RNA-seq 最常见场景,R 里叫 AnnotatedDataFrame
对象,本质是一个“带列注释的数据框”。
① 文件形态
- 纯文本 TXT 或 CSV,行是样本,列是临床变量。
- 必须有列头;缺失值留空或写
NA
。 - 首列建议叫
sample_id
或gsm_id
,与表达矩阵列名 100 % 对应。
② 最小示例(GSE61763_series_matrix.txt 里抽出的)
gsm_id age sex stage phenotype description
GSM151000 43 M Stage_I tumor colon adenocarcinoma, proximal
GSM151001 67 F Stage_II tumor colon adenocarcinoma, distal
...
③ 读入 & 转成 AnnotatedDataFrame
library(Biobase)
pd <- read.delim("phenodata.txt", row.names = 1, check.names = FALSE)
phenoData <- AnnotatedDataFrame(pd)
- Monocle 单细胞轨迹:AnnotatedDataFrame(同上)
Monocle 的 CellDataSet
对象需要 3 个文件,其中 phenoData
就是上面的格式,唯一区别是行名必须 = 细胞 barcode。
③ 代码模板
pd <- new("AnnotatedDataFrame", data = readRDS("cell_meta.rds"))
- GWAS / PLINK 队列:三列表型文件
若做基因组关联分析,PLINK 要求单独的 三列表型文件(不含列头):
FID IID y
1001 1001 1
1002 1002 0
...
- 空格或 tab 分隔;缺失值用
-9
。 - 与
.ped
第六列互斥,不能同时用。
- 单细胞外挂:h5ad / Seurat meta.data
- Scanpy:直接存为
adata.obs
(pandas DataFrame),字段规则与 1 相同。 - Seurat:读入后放在
obj@meta.data
,行名 = 细胞 barcode。
- 必须检查的 5 个字段(建议养成习惯)
字段名示例 | 类型 | 说明 |
---|---|---|
sample_id / barcode | character | 与表达矩阵列名完全一致 |
group / condition | factor | 差异分析核心分组变量 |
age | numeric | 连续协变量 |
sex | factor | 分类协变量 |
batch | factor | 芯片/测序批次,去批次用 |
一句话总结
phenodata 就是“样本 × 临床变量”的二维表:
- 芯片 / 转录组 → 带列头的 TXT/CSV,读成
AnnotatedDataFrame
; - GWAS → 三无列表型文件(FID IID y);
- 单细胞 → 与 barcode 对应的
cell_meta.csv
或adata.obs
。
只要保证“行名能跟表达矩阵列名 1:1 匹配”,任何工具都能直接吃。