Related Experiment Video
Updated: Jun 21, 2026

Automatic Identification of Dendritic Branches and their Orientation
Published on: September 17, 2021
GOGrapher: A Python library for GO graph representation and analysis
Brian Muller1, Adam J Richards, Bo Jin
1Department of Biostatistics, Bioinformatics and Epidemiology, Medical University of South Carolina, 135 Cannon St Suite 303 Charleston, SC 29425, USA. mullerb@musc.edu
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.
Related Concept Videos
Manipulation and Analysis
Introduction to GIS
GIS Software, Hardware, and Sources of GIS Data
Levels of Use of a GIS
Selected Data About Geographic Locations
Thematic Layering in GIS
