{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "Demonstrates mapping between GO GAF Codes (IEA, ISS, etc) and ECO classes.\n", "\n", "See http://purl.obolibrary.org/obo/eco/gaf-eco-mapping.txt\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "## Create an EcoMap object, for mapping to and from ECO classes\n", "from ontobio.ecomap import EcoMap\n", "m = EcoMap()" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "## Create an ontology object for ECO;\n", "## This is optional; we use this in this notebook\n", "## to look up ECO class labels, and parentage\n", "from ontobio.ontol_factory import OntologyFactory\n", "ontol = OntologyFactory().create('eco')" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'ECO:0000501'" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "## Given a code 'IEA' and no further information, map it\n", "m.coderef_to_ecoclass('IEA')\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Including a specific reference, such as [GO_REF:000002 Gene Ontology annotation through association of InterPro records with GO terms](http://purl.obolibrary.org/obo/go/references/0000002) can increase the specificity of the mapping" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'ECO:0000256'" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "## Given a combination of a code plus a reference,\n", "## we can map this to a more precise evidence type\n", "cls = m.coderef_to_ecoclass('IEA','GO_REF:0000002')\n", "cls" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'match to sequence model evidence used in automatic assertion'" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ontol.label(cls)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[\"ECO:0000202 'match to sequence model evidence'\",\n", " \"ECO:0000501 'evidence used in automatic assertion'\",\n", " \"ECO:0000044 'sequence similarity evidence'\",\n", " \"ECO:0000000 'evidence'\",\n", " \"ECO:0000249 'sequence similarity evidence used in automatic assertion'\",\n", " \"ECO:0000203 'automatic assertion'\",\n", " \"ECO:0000041 'similarity evidence'\",\n", " \"ECO:0000217 'assertion method'\",\n", " \"ECO:0000251 'similarity evidence used in automatic assertion'\"]" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[\"{} '{}'\".format(c, ontol.label(c)) for c in ontol.ancestors(cls)]" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "('IEA', None)" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m.ecoclass_to_coderef('ECO:0000501')\n" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "('IEA', 'GO_REF:0000002')" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m.ecoclass_to_coderef('ECO:0000256')" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.2" } }, "nbformat": 4, "nbformat_minor": 2 }