/AHBA_gradients

Exploring intrinsic gradients of the AHBA

Primary LanguageJupyter Notebook

AHBA components

Code and data accompanying the article Three components of human brain gene expression reflect normative developmental programmes with specific links to neurodevelopmental disorders.

Python is used for analysis, R is used for plotting.

Key outputs

Processing of the AHBA draws heavily on prior work by Aurina Arnatkevičiūtė and Ross Markello.

  • processing.py: These functions make two changes to the standard abagen pipeline:
    1. Samples are filtered for left-hemisphere, cortical-only samples before all other steps (e.g. probe selection). This was found to increase generalisability of cortical-only components relative to including subcortical data when selecting probes. This step requires patching (overwriting) one function within the abagen package.
    2. Filtering for more stable genes and more consistently-sampled brain regions.

For convenience we provide the AHBA gene-by-region expression matrix filtered for 50% most stable genes and 3+ donor regions:

We also provide the region scores and gene weights of the top three AHBA components from DME:

Analysis and figures

Figures and results are presented in jupyter notebooks that walk through the logic of each analysis. Figure-specific code files are listed below each notebook with some other common files listed at the end.

Common functions: these files include functions used in all the above

Docker - to ease with installation of package dependencies do one of:

  1. Pull the docker image richardajdear/ahba and run these analyses in a container (the docker image will automatically start a jupyter lab instance that can be accessed through a browser or an IDE like VScode)
  2. Build your own docker image using the Dockerfile, or manually install the dependencies listed in python-reqs.txt and r-reqs.R