Allen Brain Atlas API
The BrainSpan Atlas of the Developing Human Brain is a foundational resource for studying transcriptional mechanisms involved in human brain development. Data includes:
- Developmental Transcriptome: RNA sequencing and exon microarray data profiling up to sixteen cortical and subcortical structures across the full course of human brain development
- Prenatal LMD Microarray: High-resolution neuroanatomical transcriptional profiles of ~300 distinct structures spanning the entire brain for four midgestional prenatal specimens
From the API, you can:
Query the correlative and differential search services
Developmental Transcriptome
Experimental Overview and Metadata
The Developmental Transcriptome Study is a broad developmental survey of gene expression in specific brain regions using RNA sequencing and exon microarray techniques. The survey profiles up to sixteen targeted cortical and subcortical structures across the full course of human brain development, spanning pre- and postnatal-development in both males and females.
Each sampling site is associated to a Structure. For convenience, surveyed structures are grouped together in the "Developing Human - Transcriptome" StructureSet.
Typically, for each sample four typs of expression values are available:
- RNA-Seq RPKM values summarized to a gene level
- RNA-Seq RPKM values summarized to an exon level
- Normalized exon microarray expression values summarized to a gene level
- Normalized exon microarray expression values summarized to a probeset level
Normalized expression values can be downloaded in several ways:
- From the web application Download page.
- From the "Download this data" link below the heatmap in the web application.
- From the connected data service in the API
All experimental data from this study is associated with the "Developing Human Transcriptome" Product. All gene, exon, probeset, donor and sampling site information can be accessed through the API using RMA queries.
Examples:
- All donors in the Product
- All samples in the Product
- All prenatal donors in the Product
- All postnatal donors in the Product
- All surveyed structures
http://api.brain-map.org/api/v2/data/query.xml?criteria=model::Structure, rma::criteria,structure_sets[name$eq'Developing Human - Transcriptome'], rma::options[only$eq'structures.id,structures.acronym,structures.name,structures.color_hex_triplet']
Downloading Expression Values
Normalized expression values can be obtained by specifying:
- the required expression type ("set"),
- a list of "probes",
- a list of donors (optional), and
- a list of structures (optional)
See the connected service page for definitions of service::dev_human_expression parameters.
Expression Type |
"set" |
"probe" |
---|---|---|
RNA-Seq RPKM values |
rna_seq_genes |
Gene |
RNA-Seq RPKM values |
rna_seq_exons |
GoExons |
Exon microarray expression values |
exon_microarray_genes |
Gene |
Exon microarray expression values |
exon_microarray_exons |
AffymetriProbsets |
Example:
Download RNA-Seq expression values for samples from donor "H376.VI.52" associated with gene CARTPT
- Find Donor ID for "H376.VI.52" (id = 12890)
http://api.brain-map.org/api/v2/data/query.xml?criteria=model::Donor, rma::criteria,[name$eq'H376.VI.52'], rma::options[only$eq'donors.id']
- Find Gene ID associated with gene CARTPT (id = 1098278)
http://api.brain-map.org/api/v2/data/query.xml?criteria=model::Gene, rma::criteria,[ensembl_id$nenil][acronym$eq'CARTPT'],organism[name$eq'Homo Sapiens'], rma::options[only$eq'genes.id']
- Use set = rna_seq_genes, Gene ("probe") and Donor IDs as parameter to the service::dev_human_expression
http://api.brain-map.org/api/v2/data/query.json?criteria=service::dev_human_expression [set$eq'rna_seq_genes'][probes$eq1098278][donors$eq12890]
The output of the service is two top level ordered arrays "probes" and "samples". For example:
"probes":[ {"id":1098278, "name":"ENSG00000164326", "gene-id":9463, "gene-symbol":"CARTPT","gene-name":"CART prepropeptide", "entrez-id":9607,"chromosome":"5","start-position":"n/a","end-position":"n/a", "expression_level":["6.1242","5.3674","6.2563",...]} ], "samples":[ {"donor":{"id":12890,"name":"H376.VI.52","age":"4 mos","color":"76EB76"}, "structure":{"id":10173,"name":"dorsolateral prefrontal cortex","abbreviation":"DFC","color":"D4B235"}, "top_level_structure":{"id":10153,"name":"neural plate","abbreviation":"NP","color":"D7D8D8"}}, {"donor":{"id":12890,"name":"H376.VI.52","age":"4 mos","color":"76EB76"}, "structure":{"id":10185,"name":"ventrolateral prefrontal cortex","abbreviation":"VFC","color":"C2A335"}, "top_level_structure":{"id":10153,"name":"neural plate","abbreviation":"NP","color":"D7D8D8"}}, {"donor":{"id":12890,"name":"H376.VI.52","age":"4 mos","color":"76EB76"}, "structure":{"id":10278,"name":"anterior (rostral) cingulate (medial prefrontal) cortex","abbreviation":"MFC","color":"E26880"}, "top_level_structure":{"id":10153,"name":"neural plate","abbreviation":"NP","color":"D7D8D8"}}, ... ],
Each probe (Gene) contains information about:
- the Gene (id, name), and
- the associated NCBI Gene (id, acronym, name, entrez-id), along with
- a vector of normalized expression values in the same order as the "samples" array.
Each sample contains information about:
- the Donor (id, name, age),
- the associated Structure (id, name, acronym and color), and
- the associated top (coarse) level Structure (id, name, acronym and color).
Example:
Download RNA-Seq expression values for samples from donor "H376.VI.52" and all exons associated with gene CARTPT
- Find Donor ID for "H376.VI.52" (id = 12890)
http://api.brain-map.org/api/v2/data/query.xml?criteria=model::Donor, rma::criteria,[name$eq'H376.VI.52'], rma::options[only$eq'donors.id']
- Find GoExons ID associated with gene CARTPT (id = 1062744,1062745,1062746)
http://api.brain-map.org/api/v2/data/query.xml?criteria=model::GoExon, rma::criteria,gene_association(gene[acronym$eq'CARTPT']), rma::options[only$eq'go_exons.id']
- Use set = rna_seq_exons, GoExon ("probe") and Donor IDs as parameter to the service::dev_human_expression
http://api.brain-map.org/api/v2/data/query.json?criteria=service::dev_human_expression [set$eq'rna_seq_exons'][probes$eq1062744,1062745,1062746][donors$eq12890]
The output of the service is two top level ordered arrays "probes" and "samples". For example:
"probes":[ {"id":1062744, "name":"ENSG00000164326", "gene-id":1098278, "gene-symbol":"CARTPT", "gene-name":"CART prepropeptide", "entrez-id":9607,"chromosome":"5","start-position":71014993,"end-position":71015279, "expression_level":["5.7044","4.7269","5.6920", ... ]}, {"id":1062745, "name":"ENSG00000164326", "gene-id":1098278,"gene-symbol":"CARTPT", "gene-name":"CART prepropeptide", "entrez-id":9607,"chromosome":"5","start-position":71015706,"end-position":71015790, "expression_level":["5.6783","5.1570","5.7255", ... ]}, {"id":1062746, "name":"ENSG00000164326", "gene-id":1098278,"gene-symbol":"CARTPT", "gene-name":"CART prepropeptide", "entrez-id":9607,"chromosome":"5","start-position":71016334,"end-position":71016875, "expression_level":["5.7778","5.2229","5.8917", ... ]} ], "samples":[ {"donor":{"id":12890,"name":"H376.VI.52","age":"4 mos","color":"76EB76"}, "structure":{"id":10173,"name":"dorsolateral prefrontal cortex","abbreviation":"DFC","color":"D4B235"}, "top_level_structure":{"id":10153,"name":"neural plate","abbreviation":"NP","color":"D7D8D8"}}, {"donor":{"id":12890,"name":"H376.VI.52","age":"4 mos","color":"76EB76"}, "structure":{"id":10185,"name":"ventrolateral prefrontal cortex","abbreviation":"VFC","color":"C2A335"}, "top_level_structure":{"id":10153,"name":"neural plate","abbreviation":"NP","color":"D7D8D8"}}, {"donor":{"id":12890,"name":"H376.VI.52","age":"4 mos","color":"76EB76"}, "structure":{"id":10278,"name":"anterior (rostral) cingulate (medial prefrontal) cortex","abbreviation":"MFC","color":"E26880"}, "top_level_structure":{"id":10153,"name":"neural plate","abbreviation":"NP","color":"D7D8D8"}}, ... ],
Each probe (GoExon) contains information about:
- the GoExon (id, name), and
- the Gene (id, acronym, name, entrez-id), along with
- a vector of normalized expression values in the same order as the "samples" array.
Each sample contains information about:
- the Donor (id, name, age),
- the associated Structure (id, name, acronym and color), and
- the associated top (coarse) level Structure (id, name, acronym and color).
Differential Search
Correlative Search
Prenatal LMD Microarray
Experimental Overview and Metadata
The Prenatal LMD Microarray Study is a genome-wide microarray data profiling gene expression in finely dissected regions spanning the entire prenatal human brain and isolated using laser capture microdissection.
RNA isolated from each sample area was hybridized to a custom Agilent 8x60k microarray chip to measure gene expression over the transcriptome. All least two different probes were available for 93% of genes. Probes were located on different exons as much as possible when multiple probes were available for a gene. For 60 genes, a set of tiling probes were probes was designed. This study uses the same chip design as the Human Brain Microarray Survey.
Each sampling site is associated to a Structure by expert anatomist using cytoarchitectural information from multiple histological stains. Structures are arranged in a hierarchical organization. Each structure has one parent and denotes a "part-of" relationship. Structures are assigned a color to visually emphasize their hierarchical positions in the brain.
See the structure ontology page for more information.
Normalized microarray expression values can be downloaded in several ways:
- From the web application Download page. Each zip file contains the normalized values for all probes and all samples for one donor )
- From the "Download this data" link below the heatmap in the web application.
- From the connected data service in the API
All experimental data from this study is associated with the "Developing Human Prenatal LMD Microarray" Product. All probe and sampling site information can be accessed through the API using RMA queries.
Examples:
Downloading Expression Values
Normalized expression values can be obtained by specifying:
- a list of probes
- a list of donors (optional), and
- a list of structures (optional)
See the connected service page for definitions of service::dev_human_microarray_expression parameters.
Example:
Download expression values for donor "H376.IIIA.02" in structure "cerebellar cortex" for all probes associated with gene SLC6A.
- Find Donor ID for "H376.IIIA.02" (id = 12840)
http://api.brain-map.org/api/v2/data/query.xml?criteria=model::Donor, rma::criteria,[name$eq'H376.IIIA.02'], rma::options[only$eq'donors.id']
- Find Structure ID for "cerebellar cortex" (id = 10657)
http://api.brain-map.org/api/v2/data/query.xml?criteria=model::Structure, rma::criteria,[name$il'cerebellar cortex'],ontology[name$eq'Developing Human Brain Atlas'], rma::options[only$eq'structures.id']
- Find Probes associated with gene SLC6A2(id = 1023146,1023147 )
http://api.brain-map.org/api/v2/data/query.xml?criteria=model::Probe, rma::criteria,[probe_type$eq'DNA'],products[abbreviation$eq'HumanMA'],gene[acronym$eq'SLC6A2'], rma::options[only$eq'probes.id']
- Use Donor, Structure and Probe IDs as parameters to the connected service
http://api.brain-map.org/api/v2/data/query.json?criteria= service::dev_human_microarray_expression[probes$eq1023146,1023147][donors$eq12840][structures$eq10657]
The output of the service is two top level ordered arrays "probes" and "samples". For example:
"probes":[ {"id":1023146, "name":"A_23_P358345", "gene-id":6494, "gene-symbol":"SLC6A2", "gene-name":"solute carrier family 6 (neurotransmitter transporter, noradrenalin), member 2", "entrez-id":6530,"chromosome":"16","start-position":"n/a","end-position":"n/a", "expression_level":["5.6548","5.9550","3.1075"], "z-score":["2.4279","2.6347","0.6723"]}, {"id":1023147, "name":"CUST_16472_PI416261804", "gene-id":6494,"gene-symbol":"SLC6A2", "gene-name":"solute carrier family 6 (neurotransmitter transporter, noradrenalin), member 2", "entrez-id":6530,"chromosome":"16","start-position":"n/a","end-position":"n/a", "expression_level":["2.8128","1.2962","1.7661"], "z-score":["0.8252","-0.9664","-0.4113"]} ], "samples":[ {"donor":{"id":12840,"name":"H376.IIIA.02","age":"15 pcw","color":"0080FF"}, "structure":{"id":10658,"name":"cerebellar vermis","abbreviation":"CBV","color":"76A2D5"}, "top_level_structure":{"id":10657,"name":"cerebellar cortex","abbreviation":"CBC","color":"89ADDB"}}, {"donor":{"id":12840,"name":"H376.IIIA.02","age":"15 pcw","color":"0080FF"}, "structure":{"id":12384,"name":"paravermis of cerebellum","abbreviation":"CBPV","color":"4A8ECC"}, "top_level_structure":{"id":10657,"name":"cerebellar cortex","abbreviation":"CBC","color":"89ADDB"}}, {"donor":{"id":12840,"name":"H376.IIIA.02","age":"15 pcw","color":"0080FF"}, "structure":{"id":12390,"name":"lateral hemisphere of cerebellum","abbreviation":"CBL","color":"4A8ECC"}, "top_level_structure":{"id":10657,"name":"cerebellar cortex","abbreviation":"CBC","color":"89ADDB"}} ]
Each probe contains information about:
- the Probe(id, name), and
- the Gene (id, acronym, name, entrez-id), along with
- a vector of normalized expression values in the same order as the "samples" array.
- a vector of z-score values in the same order as the "samples" array. Note: z-score is computed independently for each probe over all donors and samples.
Each sample contains information about:
- the Donor (id, name, age),
- the associated Structure (id, name, acronym and color), and
- the associated top (coarse) level Structure (id, name, acronym and color).
Differential Search
Differential search find probes that show the greatest difference between two sets (target and contrast) of user-defined structures. For each probe, a 2-sample t-test is performed followed by Benjamini and Hochberg false discovery rate correction. The null hypothesis is that the average expression level of samples in the contrast set of structures is less than the average expression level of samples in the target set of structures. Resulting p-values are sorted in ascending order. Search results can also be sorted by fold-change (log ratio of expression) in descending order.
Web application or using the API.
The differential search function can be access through theSee the connected service page for definitions of service::dev_human_microarray_differential parameters.
Example:
Differential search for genes with higher expression in "thalamus" than the "transient structures of forebrain"
- Find Structure ID for "thalamus" (id = 10390)
http://api.brain-map.org/api/v2/data/query.xml?criteria=model::Structure, rma::criteria,[name$il'thalamus'],ontology[name$eq'Developing Human Brain Atlas'], rma::options[only$eq'structures.id']
- Find Structure ID for "transient structures of forebrain" (id = 10506)
http://api.brain-map.org/api/v2/data/query.xml?criteria=model::Structure, rma::criteria,[name$il'transient structures of forebrain'],ontology[name$eq'Developing Human Brain Atlas'], rma::options[only$eq'structures.id']
- Use Structure IDs as parameters to the connected service
http://api.brain-map.org/api/v2/data/query.xml?criteria=service::dev_human_microarray_differential [structures1$eq10506][structures2$eq10390][sort_by$eq'fold-change']
- Visualize the same search result in the Web application
Figure: Screenshot of top returns of a differential search for genes with higher expression in the thalamus than the transient structures of forebrain. Z-score heatmap shows enrichment in the thalamus compare to other brain regions.
Correlative Search
Correlative search finds probes with similar expression profile to the selected seed probe over all samples within a user-specified structure. Pearson's correlation coefficient is computed for all probes and results ranked in descending order.
Web application or using the API.
This correlative search function can be access through theSee the connected service page for definitions of service::dev_human_microarray_correlation parameters.
Example:
Correlative search for probes with similar expression to PVALB probe CUST_11451_PI416261804 over the whole neural plate
- Find Probe ID for probe "CUST_11451_PI416261804" (id = 1052410)
http://api.brain-map.org/api/v2/data/query.xml?criteria=model::Probe, rma::criteria,[name$eq'CUST_11451_PI416261804'], rma::options[only$eq'probes.id']
- Find Structure ID for "neural plate" (id = 10153)
http://api.brain-map.org/api/v2/data/query.xml?criteria=model::Structure, rma::criteria,[name$il'neural plate'],ontology[name$eq'Developing Human Brain Atlas'], rma::options[only$eq'structures.id']
- Use Probe and Structure IDs as parameters to the connected service
http://api.brain-map.org/api/v2/data/query.xml?criteria=service::dev_human_microarray_correlation [probes$eq1052410][structures$eq10153]
- Visualize the same search result in the Web application
Figure: Screenshot of top returns of a correlative search for probes with similar expression to a PVALB probe with expression values displayed as a z-score heatmap.