bionode-hack/bionode-gxa

Name: bionode-gxa

Owner: Bionode Hack

Description: Bionode module to access Expression Atlas (EBI) data

Created: 2016-07-05 09:25:14.0

Updated: 2016-10-26 17:41:29.0

Pushed: 2016-10-26 17:51:35.0

Homepage: null

Size: 2629

Language: HTML

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

bionode-gxa - A wrapper for Expression Atlas

Current Status

Two main functions are available for use:

1) gxa.search: Search the Expression Atlas

gxa = require('lib/bionode-gxa')

earch for the experiments associated with the accession number E-MEXP-31 and pipe data into the STDout as a JSON
search('experiments', 'E-MEXP-31').pipe(process.stdout)

earch the files associated with the accession number E-MEXP-31 and pipe into the STDout as a JSON
search('files', 'E-MEXP-31').pipe(process.stdout)

2) gxa.download: Download files from the Expression Atlas

ownload all the associated files with the accession number E-MEXP-31 into an output directory called 'out'.
download('E-MEXP-31', 'out')
TODOs
Expression Atlas

Hompage: https://www.ebi.ac.uk/gxa/about.html

FAQS: https://www.ebi.ac.uk/gxa/FAQ.html

API: http://www.ebi.ac.uk/arrayexpress/help/programmatic_access.html

Steps to metadata

1: How do I find the set of (human) datasets that are available?

Scrape the table webpage resulting from URL https://www.ebi.ac.uk/gxa/experiments/ (Note that this returns just the first 10 results by default with a Next button. Setting 'Show All entries' at the top of the table does not change the URL.)

Result file: https://github.com/bionode-hack/bionode-gxa/blob/master/example_responses/Experiment_EMBL-EBI.html

Update: The data table page https://www.ebi.ac.uk/gxa/experiments/ does an ajax request to https://www.ebi.ac.uk/gxa/json/experiments?_=1467206714961 to get the data (they seem to be using a JS data grid component). The underscore component seems to be some random hash to avoid http cache.

Filter out rows that do not have 'Homo sapiens' in the 'Organisms' column.

The 'Experiment' column field is a link of the form: https://www.ebi.ac.uk/gxa/experiments/E-GEOD-26284 with a text display such as 'RNA-seq of poly-A enriched total RNA of brain, liver, kidney, heart and skeletal muscle samples from frog'.

2: How do I request information on an individual dataset (or maybe a batch of datasets)?

Use each (filtered) row above as a dataset, extracting fields as follows in (3).

3: Where do I find the dataset attributes?

Accession number: Final part of the link in the Experiment field, e.g. 'E-GEOD-26284'

URL: The link in the Experiment field

Title: The text of the Experiment field

Description: Probably same as the Title

Technology: Use the display text of the 'Array Designs' field

Assay type:

Update: An example JSON record is something like:
{
  "experimentType": "MICROARRAY_ANY",
  "experimentAccession": "E-GEOD-10070",
  "experimentDescription": "Gene Expression in MCF10A cells through Differentiation on Transwells",
  "lastUpdate": "03-07-2014",
  "numberOfAssays": 13,
  "numberOfContrasts": 3,
  "species": [
    "Homo sapiens"
  ],
  "kingdom": "animals",
  "ensemblDB": "ensembl",
  "experimentalFactors": [
    "phenotype"
  ],
  "arrayDesigns": [
    "A-AFFY-44"
  ],
  "arrayDesignNames": [
    "Affymetrix GeneChip Human Genome U133 Plus 2.0 [HG-U133_Plus_2]"
  ]
},

This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.