跳转到主要内容

siibra-jugex - 使用siibra框架对脑区基因表达进行差异分析

项目描述

siibra-jugex

基于图谱的基因表达差异分析的工具箱

作者:大数据分析组与S. Bludau,神经科学和医学研究所(INM-1),Forschungszentrum Jülich GmbH

版权所有 2020-2021,Forschungszentrum Jülich GmbH

:warning: siibra-jugex 处于实验阶段。 软件尚未完全测试。请注意,您可能会遇到错误。

JuGEx(Julich-Brain基因表达)是一个集成框架,旨在结合AllenBrain和Julich-Brain图谱,用于对成年人类大脑中差异基因表达进行统计分析。该框架由S. Bludau等人开发,并在以下文献中描述

Sebastian Bludau, Thomas W. Mühleisen, Simon B. Eickhoff, Michael J. Hawrylycz, Sven Cichon, Katrin Amunts. 转录组学和细胞构筑数据的整合表明MAOA和TAC1在边缘-皮质网络中发挥作用。2018,脑结构与功能。 https://doi.org/10.1007/s00429-018-1620-6*。

Matlab中的原始实现可以在这里找到。

JuGEx的基本思想是通过转录信息补充大脑结构的各个层次的信息,例如结构和功能连接、大脑激活和神经递质受体密度,以阐明大脑组织及其疾病的生物学方面,在空间上参照细胞构筑学Julich-Brain图谱。这允许超越依赖于将大脑传统地分割成沟和回的方法,从而结合功能上不同的微结构区域。JuGex公开可用,以支持在基因表达方面对更多大脑区域和疾病模型进行基础、认知和临床神经科学的研究。

siibra是用于与“多级”大脑图谱交互的Python客户端,这些图谱结合了多个大脑分区、参考坐标系和模态。有关更多详细信息,请参阅此处。此siibra工具箱实现了JuGEx算法,以提供Python中的简单直观实现,以及EBRAINS 3D图谱查看器的交互式插件。分析通过初始化siibra图谱对象来启动。它将检查图谱中选定的分区是否适合进行分析,包括验证给定的图谱对象是否提供MNI ICBM 152空间中的地图。分析通过指定一些感兴趣候选基因和由图谱对象可以解析的大脑区域名称(感兴趣区域)来配置。请注意,siibra图谱类对区域名称进行模糊字符串匹配以进行解析,因此您可以尝试使用区域的简单名称以查看siibra是否可以将其解释。此外,基因名称可以在siibra.gene_names中轻松查找并自动完成。

对于基因表达数据,siibra-jugex访问Allen大脑图谱API(© 2015艾伦大脑科学研究所。艾伦大脑图谱API。可从:brain-map.org/api/index.html)。

安装

siibra-python可在pypi上找到。要安装最新版本,只需运行pip install siibra-jugex

快速入门

为了熟悉siibra-jugex,我们建议检查此存储库的examples/子文件夹中的笔记本,其中介绍了基本思想。如果您喜欢,可以活版运行,通过访问mybinder: Binder

初始化分析

分析使用siibra图谱对象初始化。它将检查图谱中选定的分区是否适合进行分析,包括验证给定的图谱对象是否提供MNI ICBM 152空间中的地图。我们明确选择Julich-Brain概率细胞构筑图谱,并告诉图谱对概率图谱进行阈值处理以过滤基因表达,而不是使用简化的标签体积。

import siibra, siibra_jugex

[siibra:INFO] 版本:0.1a1
[siibra:INFO] 配置:siibra-0.1a1
[siibra_jugex:INFO] 版本:0.1a1

atlas = siibra.atlases.MULTILEVEL_HUMAN_ATLAS
atlas.select_parcellation(siibra.parcellations.JULICH_BRAIN_CYTOARCHITECTONIC_MAPS_2_5)
atlas.threshold_continuous_maps(0.2)

jugex = siibra_jugex.DifferentialGeneExpression(atlas)

[siibra:INFO] 多级人类图谱 | 选择“Julich-Brain细胞构筑图谱2.5”

使用大脑区域和候选基因配置实验

分析是通过指定一些感兴趣的候选基因以及由图谱对象可以解析的大脑区域名称所指定的两个感兴趣区域(ROI)来配置的。请注意,siibra 图谱类对区域名称进行模糊字符串匹配以解析,因此您可以尝试使用区域的简单名称来查看 siibra 是否可以解释它们。此外,基因名称可以在 siibra.gene_names 中轻松查找并自动完成。

candidate_regions = ["v1 right","v2 right"]
candidate_genes = ["MAOA","TAC1"]
jugex.add_candidate_genes(candidate_genes)
jugex.define_roi1(candidate_regions[0])
jugex.define_roi2(candidate_regions[1])

[siibra:INFO] 多级人类图谱 | 选择 "hOc1区域(V1, 17, CalcS)- 右半球"
[siibra:INFO] 获取基因MAOA的探针ID

For retrieving microarray data, siibra connects to the web API of
the Allen Brain Atlas (© 2015 Allen Institute for Brain Science), available
from https://brain-map.org/api/index.html. Any use of the microarray data needs
to be in accordance with their terms of use, as specified at
https://alleninstitute.org/legal/terms-use/.

[siibra:INFO] hOc1区域(V1, 17, CalcS)- 右半球:通过阈值连续图谱计算掩码,阈值为0.2。
[siibra:INFO] 获取基因TAC1的探针ID
[siibra_jugex:INFO] 在区域v1右半球找到12个样本。
[siibra:INFO] 多级人类图谱 | 选择 "hOc2区域(V2, 18)- 右半球"
[siibra:INFO] 获取基因MAOA的探针ID
[siibra:INFO] hOc2区域(V2, 18)- 右半球:通过阈值连续图谱计算掩码,阈值为0.2。
[siibra:INFO] 获取基因TAC1的探针ID
[siibra_jugex:INFO] 在区域v2右半球找到11个样本。

运行分析

result = jugex.run(permutations=1000)
print(result['p-values'])

{'MAOA': 0.96, 'TAC1': 0.441}

可以将聚合的输入参数存储到磁盘上。

jugex.save('jugex_{}_{}.json'.format(
    "_".join(candidate_regions),
    "_".join(candidate_genes) ))

[siibra_jugex:INFO] 已将p值和因子导出到 jugex_v1 right_v2 right_MAOA_TAC1.json 文件。

查看微阵列样本在MNI空间中的过滤位置

让我们看一下在Allen图谱中找到的样本位置。由于我们已将 brainscapes 配置为在区域过滤中优先使用阈值连续图谱而不是简化分区图谱,因此我们在这里也绘制了概率图谱。

from nilearn import plotting

for regionname in candidate_regions:
    samples = jugex.get_samples(regionname)
    region = atlas.select_region(regionname)
    pmap = atlas.selected_region.get_regional_map(
        siibra.spaces.MNI152_2009C_NONL_ASYM, 
        siibra.MapType.CONTINUOUS)    
    # we could have also used the simple parcellation map mask as follows:
    # mask = atlas.get_mask(bs.spaces.MNI_152_ICBM_2009C_NONLINEAR_ASYMMETRIC)
    display = plotting.plot_roi(pmap,cmap="jet",title=region.name)
    display.add_markers([s['mnicoord'] for s in samples.values()])

png

png

致谢

本软件代码由欧盟“地平线2020”研究与创新框架计划资助,具体协议编号为945539(人类大脑项目SGA3)。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源代码发行版

siibra_jugex-1.22.tar.gz (15.9 kB 查看哈希值)

上传时间 源代码

构建发行版

siibra_jugex-1.22-py3-none-any.whl (13.9 kB 查看哈希值)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面