一个用于Allen脑图谱基因数据的工具箱|abagen详细使用教程-获取基于脑区的基因表达矩阵(脑区*gene)

这篇具有很好参考价值的文章主要介绍了一个用于Allen脑图谱基因数据的工具箱|abagen详细使用教程-获取基于脑区的基因表达矩阵(脑区*gene)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

艾伦人类脑图谱(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
  • 将数据放在任意的一个文件夹内,后续加载数据直接指定该文件夹即可
  • 官网的下载页面如下,下载圈出来的数据即可,其它的按需下载:
    一个用于Allen脑图谱基因数据的工具箱|abagen详细使用教程-获取基于脑区的基因表达矩阵(脑区*gene),脑影像科研笔记,python,数据挖掘
  • 网站服务器在国外,不确定能否打开,如果实在没办法可以联系博主获取。

获取基于大脑分区的基因表达数据
abagen的主要流程如下图所示(论文原图)
一个用于Allen脑图谱基因数据的工具箱|abagen详细使用教程-获取基于脑区的基因表达矩阵(脑区*gene),脑影像科研笔记,python,数据挖掘
通过该工具箱,输入大脑的分区模板,即可得到一个【脑区*基因】的矩阵,具体的代码如下

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

一个用于Allen脑图谱基因数据的工具箱|abagen详细使用教程-获取基于脑区的基因表达矩阵(脑区*gene),脑影像科研笔记,python,数据挖掘
如果是皮层数据,上面代码中的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):

声明

  • 本文更多的是给大家提供一个快速使用该开源工具箱的方法,降低方法使用的门槛,让大家不用把时间浪费在搭建环境编写脚本等坑上面;如果需要对参数进行定制则需要仔细阅读工具箱手册及相应的论文对处理的流程有整体的理解。
  • 个人水平有限,欢迎大佬指正,欢迎友好交流!

参考文献:文章来源地址https://www.toymoban.com/news/detail-596898.html

  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
  2. 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
  3. 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
  4. https://abagen.readthedocs.io/en/stable/citing.html
  5. https://human.brain-map.org/static/download

到了这里,关于一个用于Allen脑图谱基因数据的工具箱|abagen详细使用教程-获取基于脑区的基因表达矩阵(脑区*gene)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 编程最佳外挂:批量数据分析与可视化,CodeGeeX工具箱一键完成

    ChatGLM3代模型的Code Interpreter能力,本周已经在VSCode里的CodeGeeX插件产品中,以开发者工具箱的产品形态上线。 下图以VSCode插件为例:在CodeGeeX的侧边栏,和智能问答AskCodeGeeX并列出现的工具箱标签,用户登录后就可以直接打开使用。 Code Interpreter曾被称为ChatGPT最强外挂。现在,

    2024年02月05日
    浏览(45)
  • python实现视频抽帧,文件批量操作,文件批量处理(数据集制作的工具箱)

    环境准备 数据集制作 文件批量重命名 文件批量移动 将文件批量按照一定格式进行重命名 修改xml文件内容的方法 Pathlib库的常用接口 在计算机视觉项目中,文件批量操作和文件批量预处理是必不可少的步骤。它们涉及处理大量的图像文件,包括读取、处理、保存和预处理。

    2024年02月09日
    浏览(65)
  • PDF 工具箱

    PDF 工具箱 V9.0.0.1 程序:VB.net  运行库: NET Framework 4.5 下载:https://download.csdn.net/download/polloo2012/88399029 功能简介: 1、PDF文件多文件合并,可调整顺序。 2、PDF文件拆分,将每页拆分成独立的PDF文件。 3、PDF文件添加水印,文字或图片水印,图片水印可选择位置。 4、word/exce

    2024年02月09日
    浏览(41)
  • 29 旋转工具箱

    实现了一个菜单按钮的动画效果,当鼠标悬停在菜单按钮上时,菜单按钮会旋转315度,菜单按钮旋转的同时,菜单按钮旋转的8个小圆圈也会依次旋转360度,并且每个小圆圈的旋转方向和菜单按钮的旋转方向相反,当鼠标悬停在某个小圆圈上时,该小圆圈的旋转方向会变为顺时

    2024年01月18日
    浏览(49)
  • 密码算法工具箱

    这是一个密码算法工具箱软件,包含大多数密码键盘的算法,您可以利用他做加解密、校验或者其他功能。 ①本工具包含对称密钥算法、MAC算法、PINBLOCK算法、Hash算法、非对称密钥算法的常用功能。 ②支持国际(RSA、DES、3DES)和国密(SM2、SM3、SM4)算法。 ③支持windows和l

    2024年01月19日
    浏览(54)
  • Matlab 优化工具箱

    语法:[x,fval,exitflag,output,lambda] = linprog(f,A,b,Aeq,beq,lb,ub,options) f、x、b、beq、lb 和 ub 是向量,A 和 Aeq 是矩阵。 示例1-1 : 语法:[x,fval,exitflag,output] = intlinprog(f,intcon,A,b,Aeq,beq,lb,ub,x0,options) f、x、intcon、b、beq、lb 和 ub 是向量,A 和 Aeq 是矩阵。 语法:x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub

    2024年02月02日
    浏览(52)
  • Python工具箱系列(三十)

    MySQL的口号是“世界上最流行的开源关系型数据库”,而PostgreSQL的Slogan则是“世界上最先进的开源关系型数据库(PostgreSQL: The World\\\'s Most Advanced Open Source Relational Database)”,一看这就是一对老冤家了。这两个口号很好的反映出了两者的形象特质:PostgreSQL是功能丰富,高大上的严

    2024年02月03日
    浏览(53)
  • (转载)matlab遗传算法工具箱

            以下内容大部分来源于《MATLAB智能算法30个案例分析》,仅为学习交流所用。         遗传算法(genetic algorithm,GA)是一种进化算法,其基本原理是仿效生物界中的“物竞天择、适者生存”的演化法则。遗传算法是把问题参数编码为染色体,再利用迭代的方式进行选

    2024年02月07日
    浏览(61)
  • Python工具箱系列(三十六)

    基于Docker的数据库开发环境 前文介绍了sqlite/mysql/mssql等数据库系统在ubuntu的安装与部署过程,相对是比较复杂的,需要耐心等待下载以及排除各种故障,对于开发人员来说是不太友好。在某些情况下,开发人员要测试在多个数据库环境下软件的正确性,需要部署多个数据库,

    2024年02月09日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包