biothings / mygene.info

MyGene.info: A BioThings API for gene annotations
http://mygene.info
Other
113 stars 20 forks source link

import orthology data from AGR #113

Open andrewsu opened 2 years ago

andrewsu commented 2 years ago

The Alliance of Genome Resources (AGR) is a consortium of the most highly-used model organisms (mouse, rat, worm, fly, zebrafish, yeast), and they have released their own set of ortholog assignments at https://www.alliancegenome.org/downloads#orthology. Currently we have homologene in mygene.info, but I think this AGR set would be considered much more reliable for the organisms listed.

NikkiBytes commented 2 years ago

The parser and manifest repo is here . A few tests queries can be found in this notebook.

The repo was passed along for final deployment into mygene API, will update status when it is available.

zcqian commented 2 years ago

Commits imported, see https://github.com/biothings/mygene.info/commit/360b97162dcb16eb4f4eb4e1e73e278b9045dcf4 and the commits prior to this one. Subject of each commit has been prepended with the text "orthologyAGR:". Will close the issue after successfully running and importing the data into the builds.

zcqian commented 2 years ago

Hi @NikkiBytes Can you add metadata to the plugin so that it correctly reports the origin and license of the data?

You can see how it's done here and here

NikkiBytes commented 2 years ago

@zcqian it's added!

zcqian commented 2 years ago

@NikkiBytes I see that you modified setup_release in parser.py as well. Is this change also intended?

Also, you can fork this repository and open a pull request next time, it's easier to merge the changes that way. I can just incorporate the changes from your repository into this repository this time.

NikkiBytes commented 2 years ago

A few updates....

The document structure has been updated, example output below:

[
    {
        "_id": "176377",
        "agr": {
            "ortholog": [
                {
                    "geneid": "SGD:S000003566",
                    "symbol": "VPS53",
                    "taxid": "NCBITaxon:559292",
                    "algorithmsmatch": 9,
                    "outofalgorithms": 10,
                    "isbestscore": true,
                    "isbestrevscore": true
                }
            ]
        }
    },
    {
        "_id": "ZDB-GENE-041114-199",
        "agr": {
            "ortholog": [
                {
                    "geneid": "SGD:S000003566",
                    "symbol": "VPS53",
                    "taxid": "NCBITaxon:559292",
                    "algorithmsmatch": 8,
                    "outofalgorithms": 10,
                    "isbestscore": true,
                    "isbestrevscore": true
                }
            ]
        }
    },
    {
        "_id": "1311391",
        "agr": {
            "ortholog": [
                {
                    "geneid": "SGD:S000003566",
                    "symbol": "VPS53",
                    "taxid": "NCBITaxon:559292",
                    "algorithmsmatch": 7,
                    "outofalgorithms": 9,
                    "isbestscore": true,
                    "isbestrevscore": true
                }
            ]
        }
    }
.
.
.
]

Notes:

gene_client = get_client('gene')

gene=gene_client.getgene(gene_id, fields='symbol,name')


Maybe there is another query method I can use, or there will be unique ID cases without matches?  @newgene @andrewsu 
zcqian commented 2 years ago

Can you add a mapping document to the plugin? Thanks!

newgene commented 2 years ago

@NikkiBytes let's make the taxid field as an integer.

zcqian commented 2 years ago

@NikkiBytes I assume you're done making the changes at https://github.com/NikkiBytes/orthologyAGR ? If so I will merge the changes

newgene commented 3 months ago

added @jal347 to work with @NikkiBytes on the deployment on mygene.info API.