Ontological Differential Analysis
Summary
Doing OGDA programatically is a two-step process. In the first step, sets of metadata triplets are created. In the second step, those sets are used as input to the actual calculator.
Step 1 - Triplets
Making a post request to
http://bindiscover.metabolomics.us:4999/hgdametadataresource/
With the format
{
"from_species":"10114", #any NCBI species or parent ID
"from_organ":"A03.620", #any MeSH organ ID
"from_disease":"No Disease", #any MeSH disease ID
"to_species":"314146",
"to_organ":"A03.556.875.500",
"to_disease":"No Disease"
}
Where values in this dictionary are nodes from the NCBI taxonomy and MeSH Hierarchies will yield a record-oriented metadata table, e.g.
"[
{\"from_or_to\":\"from\",\"triplet_id\":\"rattus rattus - Liver - No Disease\",\"sample_count\":221},
{\"from_or_to\":\"to\",\"triplet_id\":\"mus musculus - Esophagus - No Disease\",\"sample_count\":24}
]"
Step 2 - OGDA
Making a post request to
http://bindiscover.metabolomics.us:4999/hgdaresource/
with the format
{
"metadata_datatable":
[
{"from_or_to": "from", "triplet_id": "citrus reticulata - Plant Leaves - No Disease", "sample_count": 43},
{"from_or_to": "to", "triplet_id": "malus x domestica - Fruit - No Disease", "sample_count": 17}
],
"bin_type":"known" #values are 'known', 'unknown', and 'class' (compound classes)
}
will yield the core information for the differential analysis, eg
"[
{\"compound_id\": 14717, \"identifier\": \"OOWQBDFWEXAXPB-UHFFFAOYSA-N\", \"english_name\": \"hexadecylglycerol\", \"bin_type_dict\": \"known\", \"significance_welch\": 0.6109507199, \"fold_change_average\": 0.007302779200000001},
{\"compound_id\": 2214, \"identifier\": \"LOLKAJARZKDJTD-UHFFFAOYSA-N\", \"english_name\": \"ethylsuccinate\", \"bin_type_dict\": \"known\", \"significance_welch\": 0.1504452139, \"fold_change_average\": -0.031181263}...
"