艾伦人类脑图谱(Allen Human Brain Atlas)
- 艾伦人类脑图谱是一个由艾伦脑科学研究所(Allen Institute for Brain Science)开发的在线基因表达图谱数据库,旨在提供人类大脑各个区域的细胞类型和基因表达信息。
- 这个数据库包含了人类全基因组微阵列数据集、RNA测序数据集等,并使用标准化的数据处理流程和软件工具进行分析和可视化。
- 该数据库对于研究人类大脑结构和功能以及神经系统疾病等方面都有很重要的作用。
艾伦人类脑图谱在影像学中的应用
目前国内外的科研人员,已经有很多将艾伦脑的基因表达数据与神经影像数据结合分析,已经有了不少的成果,然而各个研究小组之间缺乏标准化,导致了很多使用这些数据的处理流程。abagen是一个用于处理转录组数据的开源工具箱,给出了标准化的处理流程,该文章发表在eLife上,对于想使用艾伦脑图谱数据库而自己又难以对数据进行处理的研究者只使用该工具箱,使用大牛的分析流程,可减少不必要的麻烦(被审稿人质疑)和节约时间成本。
abagen工具箱的使用|获取基于大脑分区的基因表达数据
abagen一个python的工具箱,目前最新版本是0.1.3,对于python环境的基础要求如下。我自己的测试环境是搭建的anocanda 3.10环境,测试可以使用。
nibabel
numpy>=1.14.0
pandas>=0.25.0
scipy
安装流程
因为国外的包下载非常慢,因此使用镜像源安装
pip install abagen -i https://pypi.douban.com/simple/
因为该包通过 conda install abagen无法搜索到包,因此在conda环境中也只能通过pip安装
下载6名捐献者的转录组数据
官方提供的方法如下:
1.安装io模块(用于连接艾伦研究所的官网下载数据)
2.import abagen
files = abagen.fetch_microarray(donors='all', verbose=0)
3.上述代码可以将6捐献者的数据下载到默认路径下$HOME/abagen-data,通常是C盘的用户目录下,
你也可以指定data_dir将数据下载到指定目录下。
4. 6名捐献者的数据大约有4G,且服务器在国外,大概率程序会运行很久然后报错(血泪史)
本文提供的方法:
- 直接到到官网进行数据的下载 AHBA microarray data
- 将数据放在任意的一个文件夹内,后续加载数据直接指定该文件夹即可
- 官网的下载页面如下,下载圈出来的数据即可,其它的按需下载:
- 网站服务器在国外,不确定能否打开,如果实在没办法可以联系博主获取。
获取基于大脑分区的基因表达数据
abagen的主要流程如下图所示(论文原图)
通过该工具箱,输入大脑的分区模板,即可得到一个【脑区*基因】的矩阵,具体的代码如下
import abagen
存放6个捐献者数据的文件夹
data_dir = '~\microarray'
大脑分区数据(可以是surface也可以是volume)
atlas_file = 'AAL.nii'
核心代码,用于获取基因表达矩阵
expression = abagen.get_expression_data(atlas_file, missing='centroids',data_dir=data_dir)
用于保存数据到csv
expression.to_csv('glasser360MNI_LR.nii_centroids.csv')
- 其中missing表示如果该脑区没有采集到基因表达数据的处理方式,即插值(两种方式),或者对应脑区不做处理
- 可选的值如下:{‘centroids’, ‘interpolate’, None}
- centroids:该区域的值于最近的样本组织的基因表达数值一致。
- interpolate:采用反距离加权平均进行插值
- None:不做处理,赋值NAN
如果是皮层数据,上面代码中的atlas可以按照如下方式导入
from abagen import images
atlas = ('/.../fsaverage6-lh.label.gii', '/.../fsaverage6-rh.label.gii')
surf = ('/.../fsaverage6-lh.surf.gii', '/.../fsaverage6-lh.surf.gii')
atlas = images.check_atlas(atlas, geometry=surf, space='fsaverage6')
其中微阵列文件夹data_dir数据组织形式如下
├── normalized_microarray_donor10021/
│ ├── MicroarrayExpression.csv
│ ├── Ontology.csv
│ ├── PACall.csv
│ ├── Probes.csv
│ └── SampleAnnot.csv
├── normalized_microarray_donor12876/
├── normalized_microarray_donor14380/
├── normalized_microarray_donor15496/
├── normalized_microarray_donor15697/
└── normalized_microarray_donor9861/
get_expression_data的默认参数
def get_expression_data(atlas,atlas_info=None,*,
ibf_threshold=0.5,
probe_selection='diff_stability',
donor_probes='aggregate',
sim_threshold=None,
lr_mirror=None,
exact=None, missing=None,
tolerance=2,
sample_norm='srs',
gene_norm='srs',
norm_matched=True,
norm_structures=False,
region_agg='donors',
agg_metric='mean',
corrected_mni=True,
reannotated=True,
return_counts=False,
return_donors=False,
return_report=False,
donors='all',
data_dir=None,
verbose=0,
n_proc=1):
声明
- 本文更多的是给大家提供一个快速使用该开源工具箱的方法,降低方法使用的门槛,让大家不用把时间浪费在搭建环境编写脚本等坑上面;如果需要对参数进行定制则需要仔细阅读工具箱手册及相应的论文对处理的流程有整体的理解。
- 个人水平有限,欢迎大佬指正,欢迎友好交流!
参考文献:
- Markello, RD, Arnatkevic̆iūtė, A, Poline, J-B, Fulcher, BD, Fornito, A, & Misic, B. (2021). Standardizing workflows in imaging transcriptomics with the abagen toolbox. Biorxiv. doi:10.1101/2021.07.08.451635
- Arnatkevic̆iūtė, A, Fulcher, BD, & Fornito, A. (2019). A practical guide to linking brain-wide gene expression and neuroimaging data. NeuroImage, 189, 353-367. doi:10.1016/j.neuroimage.2019.01.011
- Hawrylycz, MJ, Lein, ES, Guillozet-Bongaarts, AL, Shen, EH, Ng, L, Miller, JA, …, & Jones, AR. (2012). An anatomically comprehensive atlas of the adult human brain transcriptome. Nature, 489(7416), 391–399. doi:10.1038/nature11405
- https://abagen.readthedocs.io/en/stable/citing.html
- https://human.brain-map.org/static/download