现在的肿瘤外显子队列研究通常情况下他们的fastq测序文件很难获取,因为涉及到病人隐私。
但是呢,为了学术共享,大多数会把最后的somatic mutation信息给出来,但是不一定是标准的maf文件格式,很可能是Excel文件里面的,如下所示:
来自于2025年6月底的在《Nature Genetics》杂志在线发表的题为《Multi-omic analysis of gallbladder cancer identifies distinct tumor microenvironments associated with disease progression》的研究论文,大家可以自己下载上面的Excel文件。
MAF(Mutation Annotation Format)文件是一种用于存储基因突变信息的标准文件格式,广泛应用于癌症基因组学研究中。maftools
包可以读取和分析 MAF 文件,以下是 MAF 文件的简化标准格式:
以下是一个简化的 MAF 文件示例,包含上述必需字段:
Hugo_Symbol\tChromosome\tStart_Position\tEnd_Position\tReference_Allele\tTumor_Seq_Allele2\tVariant_Classification\tVariant_Type\tTumor_Sample_Barcode
TP53\t17\t7565095\t7565095\tC\tG\tMissense_Mutation\tSNV\tTCGA-AB-1234
BRCA1\t17\t43045613\t43045613\tA\tT\tNonsense_Mutation\tSNV\tTCGA-AB-5678
maftools
读取 MAF 文件以下是一个使用 maftools
包读取 MAF 文件的示例代码:
# 安装 maftools 包
if (!requireNamespace("BiocManager", quietly = TRUE)) {
install.packages("BiocManager")
}
BiocManager::install("maftools")
# 加载 maftools 包
library(maftools)
# 指定 MAF 文件路径
maf_file <- "path/to/your/maf_file.maf"
# 读取 MAF 文件
maf_data <- read.maf(maf = maf_file)
# 查看 MAF 数据的基本情况
print(maf_data)
MAF 文件是一种标准化的格式,用于存储基因突变信息。maftools
包提供了强大的功能来读取、分析和可视化 MAF 文件中的数据。通过确保 MAF 文件包含上述必需字段,可以确保 maftools
包能够正确读取和分析数据。
然后可以继续问人工智能大模型,如何使用maftools
包读取研究者在Excel共享的突变信息:
给出来的代码也很容易使用,而且注释的超级清晰:
# 加载必要的库
library(readxl)
library(openxlsx)
# 读取 Excel 文件
file_path <- "for_maftools.xlsx"# 替换为你的 Excel 文件路径
data <- read_excel(file_path)
# 检查数据结构
print(head(data))
# 确保列名与 MAF 格式一致
# 重命名列以匹配 MAF 文件的标准列名
colnames(data) <- c(
"Chromosome", "Start_Position", "End_Position", "Reference_Allele",
"Tumor_Seq_Allele2", "Tumor_Sample_Barcode", "Hugo_Symbol",
"Variant_Classification", "tx", "exon", "txChange", "aaChange",
"Variant_Type"
)
# 选择 MAF 文件所需的列
maf_columns <- c(
"Hugo_Symbol", "Chromosome", "Start_Position", "End_Position",
"Reference_Allele", "Tumor_Seq_Allele2", "Variant_Classification",
"Variant_Type", "Tumor_Sample_Barcode"
)
# 提取所需的列
maf_data <- data[, maf_columns]
# 检查处理后的数据
print(head(maf_data))
# 加载 maftools 包
library(maftools)
# 读取 MAF 内容
maf.df <- read.maf( maf_data )
# 查看 MAF 数据的基本情况
print(maf.df)
plotmafSummary(maf.df)
oncoplot(maf.df,top = 20)
其中突变全景图如下所示:
突变全景图
当然了,还可以做大量的分析,这个时候可以选择去看看maftools的官方文档,很多示例代码,也可以继续跟人工智能大模型对话啦!