Migration from v2 API¶
Migrating from v2 API to v3 API is easy. Here’s a summary of the changes. You may also want to read our blog for complementary information.
URL change¶
You will need to access v3 API using “/v3” prefix for service urls:
Gene query service endpoint¶
Gene annotation service endpoint¶
Returned Objects¶
There are several small changes in the returned data structure, as summarized here:
Accession number with version¶
“refseq” and “accession” fields now contain accession number including version. Data can be search with and without version. Version is available for “genomic”, “rna” and “protein” accession number keys.
Note
“genomic” field is returned but is not searchable
v2: http://mygene.info/v2/query?q=NM_052827&fields=refseq.rna
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | { "hits": [ { "_id": "1017", "refseq": { "rna": [ "NM_001290230", "NM_001798", "NM_052827", "XM_011537732" ] } } ], "max_score": 0.51962745, "took": 3, "total": 1 } |
v3: http://mygene.info/v3/query?q=NM_052827&fields=refseq.rna
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | { "hits": [ { "_id": "1017", "_score": 10.052136, "refseq": { "rna": [ "NM_001290230.1", "NM_001798.4", "NM_052827.3", "XM_011537732.1" ] } } ], "total": 1, "took": 14, "max_score": 10.052136 } |
“translation” field for RNA-protein mapping¶
For “ensembl”, “refseq” and “accession” fields, a new sub-field name “translation” is now available. It gives the association between RNA and its protein product. v2 does not have this information in returned objects.
v3: http://mygene.info/v3/query?q=NM_052827&fields=refseq.translation,refseq.rna,refseq.protein
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | { "max_score": 10.052136, "total": 1, "hits": [ { "_id": "1017", "_score": 10.052136, "refseq": { "protein": [ "NP_001277159.1", "NP_001789.2", "NP_439892.2", "XP_011536034.1" ], "rna": [ "NM_001290230.1", "NM_001798.4", "NM_052827.3", "XM_011537732.1" ], "translation": [ { "protein": "XP_011536034.1", "rna": "XM_011537732.1" }, { "protein": "NP_001789.2", "rna": "NM_001798.4" }, { "protein": "NP_439892.2", "rna": "NM_052827.3" }, { "protein": "NP_001277159.1", "rna": "NM_001290230.1" } ] } } ], "took": 4 } |
“exons” data structure modification¶
Warning
Backward-incompatible, data structure changed
“exons” field has two major modifications. It now contains a list of dictionary instead of a dictionary indexed by the accession number. This accession number is found within the dictionary under the key “transcript”. Finally, inner “exons” key has been rename to “position”.
v2: http://mygene.info/v2/gene/1698?fields=exons
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | { "_id": "259236", "exons": { "NM_147196": { "cdsstart": 46701487, "cdsend": 46709688, "txstart": 46701332, "txend": 46710923, "chr": "3", "exons": [ [ 46701332, 46701580 ], [ 46705789, 46705907 ], [ 46709125, 46709275 ], [ 46709578, 46710923 ] ], "strand": 1 } } } |
v3: http://mygene.info/v3/gene/1698?fields=exons
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | { "_id": "259236", "_score": 21.732534, "exons": [ { "cdsend": 46709688, "cdsstart": 46701487, "chr": "3", "position": [ [ 46701332, 46701580 ], [ 46705789, 46705907 ], [ 46709125, 46709275 ], [ 46709578, 46710923 ] ], "strand": 1, "transcript": "NM_147196", "txend": 46710923, "txstart": 46701332 } ] } |
“dotfield” notation default changed¶
Warning
May be backward-incompatible, default data structure changed (but can be restored with “dotfield” paramater setting)
By default, “dotfield” notation is now disabled for gene annotation endpoint in v3 (/gene). It’s enabled by default in v2. You will need to explicitely pass “dotfield=1” to your queries to have the same behavior as v2.
Note
“dotfield” notation is disabled by default for gene query endpoint (/gene) in both v2 and v2
v2: http://mygene.info/v2/gene/1017?fields=refseq.rna
1 2 3 4 5 6 7 8 9 10 11 12 | { "_id": "1017", "refseq.rna": [ "NM_001290230", "NM_001798", "NM_052827", "XM_011537732" ] } |
v3: http://mygene.info/v3/gene/1017?fields=refseq.rna
1 2 3 4 5 6 7 8 9 10 11 12 | { "_id": "1017", "_score": 21.731894, "refseq": { "rna": [ "NM_001290230.1", "NM_001798.4", "NM_052827.3", "XM_011537732.1" ] } } |
Querying “reporter” data source¶
“reporter” data now has to be queried explicitelty, prefixing the query term by “reporter:”
v3: http://mygene.info/v3/query?q=reporter:2845421&fields=reporter