RESTful API for getting phenotype data and metadata

Results will be in JSON format by default, or specify csv=yes on any endpoint to get CSV. There are a number of examples available below to try. The MPD Terms of Use apply to all API usage, and we reserve the right to make additions, changes, or restrict API access at any time without notice. Those considering utilizing this API are encouraged to contact us at phenome@.jax.org

Error handling: On an invalid request or other error, a non-200 http return code such as 404 or 503 is issued, and a json payload is provided having an element named "error" that contains a message.

All urls below are in the domain   http://phenome.jax.org

Quick links:
• Getting individual animal data (strain survey phenotypes)
• Getting strain means (strain survey phenotypes)
• Getting metadata (strain survey phenotypes)



  Getting individual animal data (strain survey phenotypes)


/api/pheno/animalvals/measnum

Fetch individual animal data for one measure identified by measnum.
Example 1 (Paigen1, 2908)   /api/pheno/animalvals/2908
Example 2 (Jaxpheno3, 22826)   /api/pheno/animalvals/22826
Same as above but CSV result:   /api/pheno/animalvals/22826?csv=yes
Example 3 (error example)   /api/pheno/animalvals/111


/api/pheno/animalvals/series/measnum

Fetch individual animal data for a series of measures identified by measnum.
Example 1, Ackert1 BMD at 6mo, 12mo, 20mo   /api/pheno/animalvals/series/25011
Same as above but CSV result:   /api/pheno/animalvals/series/25011?csv=yes




  Getting strain means (strain survey phenotypes)


/api/pheno/lsmeans/selector

Get model-adjusted least-square strain means for one or more MPD phenotype measures in the "lsmeans" result element. For any requested measures that don't have adjusted means (usually because individual animal data were not submitted), the unadjusted strain means will be provided as a fallback, in the "unadj_means" result element. The selector parameter can be a measure ID, a comma-separated list of two or more measure IDs, or a valid project symbol such as Vinyard1. Note: for "lsmeans" the sex is one of f, m, or both; for "unadj_means" the sex is f or m (only).
Example 1:   /api/pheno/lsmeans/2908,2909
Example 2:   /api/pheno/lsmeans/Vinyard1
Example 3:   /api/pheno/lsmeans/2909,2208 (2909 has adjusted, 2208 doesn't)
Example 4:   /api/pheno/lsmeans/2909
Example 5:   /api/pheno/lsmeans/2208
Same as above but CSV result:   /api/pheno/lsmeans/2208?csv=yes


/api/pheno/strainmeans/selector

Get unadjusted strain means for one or more MPD phenotype measures. The selector parameter can be one measure ID, a comma-separated list of two or more measure IDs, or a valid project symbol such as Vinyard1. Unadjusted strain means should be available for every strain survey measurement in MPD even if data were supplied with no individual animal data available. In the json result the "sex" for each strain mean element will be either "f" or "m".
Example 1:   /api/pheno/strainmeans/2908,2909
Example 2:   /api/pheno/strainmeans/Vinyard1
Same as above but CSV result:   /api/pheno/strainmeans/Vinyard1?csv=yes




  Getting metadata (strain survey phenotypes)


/api/pheno/measureinfo/selector

Get descriptions, units, and other metadata for one or more MPD measures.
selector is either:
• a project symbol eg. Tarantino1 .... list info for all measures in the project ... or...
• a measnum eg. 2928 .... list info for just this one MPD measure ...or....
all .... list info for all MPD measures
Example 1: List info for the measure having measure ID 2908:   /api/pheno/measureinfo/2908
Example 2: List info for all the measures in project Albers1:   /api/pheno/measureinfo/Albers1


/api/pheno/seriesinfo/selector

Get descriptions, units, and other metadata for one or more measure series. selector is either:
• a project symbol eg. Tarantino1 .... list info for all series in the project ... or...
• a seriestype eg. agingx .... list info for all series of this type ... or...
• a keymeasnum eg. 25011 .... list info for just this one series

Example 1. List info for the measure series that's identified by measure ID 25001:   /api/pheno/seriesinfo/25001
Example 2. List info for all measure series in project Ackert1:   /api/pheno/seriesinfo/Ackert1
Example 3. All measure series in MPD that are seriestype 'agingx':   /api/pheno/seriesinfo/agingx


/api/pheno/seriesmembers/keymeasnum

Get measure IDs, descriptions, and other metadata for all members of a measure series identified by keymeasnum. Returns one element per member.
  Some measure series have a supplemental measure that is closely associated with the series but cannot properly be included in series analysis. (Examples of this include slope, "index", delta, or other summary value). These are excluded by default; to include these specify the parameter include_supplemental as yes.
Example 1: /api/pheno/seriesmembers/25001
Example 2: /api/pheno/seriesmembers/16218
Example 3: /api/pheno/seriesmembers/16218?include_supplemental=yes