Cargando…

GOGrapher: A Python library for GO graph representation and analysis

BACKGROUND: The Gene Ontology is the most commonly used controlled vocabulary for annotating proteins. The concepts in the ontology are organized as a directed acyclic graph, in which a node corresponds to a biological concept and a directed edge denotes the parent-child semantic relationship betwee...

Descripción completa

Detalles Bibliográficos
Autores principales: Muller, Brian, Richards, Adam J, Jin, Bo, Lu, Xinghua
Formato: Texto
Lenguaje:English
Publicado: BioMed Central 2009
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2714316/
https://www.ncbi.nlm.nih.gov/pubmed/19583843
http://dx.doi.org/10.1186/1756-0500-2-122
_version_ 1782169665312653312
author Muller, Brian
Richards, Adam J
Jin, Bo
Lu, Xinghua
author_facet Muller, Brian
Richards, Adam J
Jin, Bo
Lu, Xinghua
author_sort Muller, Brian
collection PubMed
description BACKGROUND: The Gene Ontology is the most commonly used controlled vocabulary for annotating proteins. The concepts in the ontology are organized as a directed acyclic graph, in which a node corresponds to a biological concept and a directed edge denotes the parent-child semantic relationship between a pair of terms. A large number of protein annotations further create links between proteins and their functional annotations, reflecting the contemporary knowledge about proteins and their functional relationships. This leads to a complex graph consisting of interleaved biological concepts and their associated proteins. What is needed is a simple, open source library that provides tools to not only create and view the Gene Ontology graph, but to analyze and manipulate it as well. Here we describe the development and use of GOGrapher, a Python library that can be used for the creation, analysis, manipulation, and visualization of Gene Ontology related graphs. FINDINGS: An object-oriented approach was adopted to organize the hierarchy of the graphs types and associated classes. An Application Programming Interface is provided through which different types of graphs can be pragmatically created, manipulated, and visualized. GOGrapher has been successfully utilized in multiple research projects, e.g., a graph-based multi-label text classifier for protein annotation. CONCLUSION: The GOGrapher project provides a reusable programming library designed for the manipulation and analysis of Gene Ontology graphs. The library is freely available for the scientific community to use and improve.
format Text
id pubmed-2714316
institution National Center for Biotechnology Information
language English
publishDate 2009
publisher BioMed Central
record_format MEDLINE/PubMed
spelling pubmed-27143162009-07-23 GOGrapher: A Python library for GO graph representation and analysis Muller, Brian Richards, Adam J Jin, Bo Lu, Xinghua BMC Res Notes Technical Note BACKGROUND: The Gene Ontology is the most commonly used controlled vocabulary for annotating proteins. The concepts in the ontology are organized as a directed acyclic graph, in which a node corresponds to a biological concept and a directed edge denotes the parent-child semantic relationship between a pair of terms. A large number of protein annotations further create links between proteins and their functional annotations, reflecting the contemporary knowledge about proteins and their functional relationships. This leads to a complex graph consisting of interleaved biological concepts and their associated proteins. What is needed is a simple, open source library that provides tools to not only create and view the Gene Ontology graph, but to analyze and manipulate it as well. Here we describe the development and use of GOGrapher, a Python library that can be used for the creation, analysis, manipulation, and visualization of Gene Ontology related graphs. FINDINGS: An object-oriented approach was adopted to organize the hierarchy of the graphs types and associated classes. An Application Programming Interface is provided through which different types of graphs can be pragmatically created, manipulated, and visualized. GOGrapher has been successfully utilized in multiple research projects, e.g., a graph-based multi-label text classifier for protein annotation. CONCLUSION: The GOGrapher project provides a reusable programming library designed for the manipulation and analysis of Gene Ontology graphs. The library is freely available for the scientific community to use and improve. BioMed Central 2009-07-07 /pmc/articles/PMC2714316/ /pubmed/19583843 http://dx.doi.org/10.1186/1756-0500-2-122 Text en Copyright © 2009 Lu et al; licensee BioMed Central Ltd. http://creativecommons.org/licenses/by/2.0 This is an Open Access article distributed under the terms of the Creative Commons Attribution License ( (http://creativecommons.org/licenses/by/2.0) ), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
spellingShingle Technical Note
Muller, Brian
Richards, Adam J
Jin, Bo
Lu, Xinghua
GOGrapher: A Python library for GO graph representation and analysis
title GOGrapher: A Python library for GO graph representation and analysis
title_full GOGrapher: A Python library for GO graph representation and analysis
title_fullStr GOGrapher: A Python library for GO graph representation and analysis
title_full_unstemmed GOGrapher: A Python library for GO graph representation and analysis
title_short GOGrapher: A Python library for GO graph representation and analysis
title_sort gographer: a python library for go graph representation and analysis
topic Technical Note
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2714316/
https://www.ncbi.nlm.nih.gov/pubmed/19583843
http://dx.doi.org/10.1186/1756-0500-2-122
work_keys_str_mv AT mullerbrian gographerapythonlibraryforgographrepresentationandanalysis
AT richardsadamj gographerapythonlibraryforgographrepresentationandanalysis
AT jinbo gographerapythonlibraryforgographrepresentationandanalysis
AT luxinghua gographerapythonlibraryforgographrepresentationandanalysis