Skip to content

Commit

Permalink
Merge pull request #4 from y1zhou/metacyc: MetaCyc to graph database
Browse files Browse the repository at this point in the history
- Setup graph database in Neo4j with proper constraints.
- Parse MetaCyc SBML file and add `Compartment`, `Compound`, `GeneProduct`, `Reaction`, and `RDF` nodes.
- Parse MetaCyc `reactions.dat` file and add standard Gibbs free energy, standard reduction potential, reaction direction, reaction balance status, systematic name, comment attributes to `Reaction` nodes. Also link `Reaction` nodes to `Pathway` and `Citation` nodes.
- Parse MetaCyc `pathways.dat` file and:
  - Add synonyms, types, comments, common names to `Pathway` nodes.
  - Link `Pathway` nodes to super-pathway `Pathway` and taxonomy `Taxa` nodes.
  - Link `Reaction` nodes within the pathway with `isPrecedingEvent` relationships.
  - Link `Pathway` nodes with their rate limiting steps (`Reaction` nodes).
  - Link `Pathway` nodes with primary reactant and product `Compound` nodes.
  - For `Reaction` nodes, add `isPrimary[Reactant|Product]InPathway` labels in their links to `Compound` nodes.
- Parse MetaCyc `compounds.dat` file and add standard Gibbs free energy, logP, molecular weight, monoisotopic molecular weight, polar surface area, pKa {1,2,3}, comment, and synonyms to `Compound` nodes. Also add SMILES and INCHI strings to related `RDF` nodes, and links the `Compound` nodes to `Citation` nodes.
- Parse MetaCyc `pubs.dat` file and add DOI, PUBMED, MEDLINE IDs, title, source, year, URL, and `REFERENT-FRAME` to `Citation` nodes.
- Parse MetaCyc `classes.dat` file and:
  - Add common name and synonyms to `Compartment` nodes.
  - Add common name, strain name, comment, and synonyms to `Taxa` nodes.
  • Loading branch information
y1zhou authored Jan 20, 2022
2 parents 94fd604 + fc7c749 commit 19e3426
Show file tree
Hide file tree
Showing 10 changed files with 9,422 additions and 3 deletions.
3 changes: 1 addition & 2 deletions README.rst
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
Metabolic reprogramming Knowledgebase
========================

A Python package that aggregates the data from BRENDA_, BioCyc_ and Reactome_ into one unified `graph database`_.
A Python package that aggregates the data from BRENDA_ and BioCyc_ into one unified `graph database`_.

.. _BRENDA: https://brenda-enzymes.org/
.. _BioCyc: https://biocyc.org/
.. _Reactome: https://reactome.org/
.. _graph database: https://neo4j.com/
4 changes: 4 additions & 0 deletions docs/_static/metacyc_schema.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7 changes: 7 additions & 0 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,13 @@
Welcome to metabolike's documentation!
======================================

The MetaCyc (BioCyc) database is imported to a graph database using the provided SBML file.

.. image:: _static/metacyc_schema.svg
:alt: Schema of the MetaCyc database
:align: center


.. toctree::
:maxdepth: 2
:caption: Contents:
Expand Down
8 changes: 8 additions & 0 deletions docs/source/metabolike.parser.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,14 @@ metabolike.parser.brenda\_transformer module
:undoc-members:
:show-inheritance:

metabolike.parser.metacyc module
--------------------------------

.. automodule:: metabolike.parser.metacyc
:members:
:undoc-members:
:show-inheritance:

Module contents
---------------

Expand Down
2 changes: 1 addition & 1 deletion metabolike/db.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from neo4j import GraphDatabase, Neo4jDriver, Transaction
from neo4j import GraphDatabase, Neo4jDriver, Session, Transaction
from neo4j.work.result import Result


Expand Down
Loading

0 comments on commit 19e3426

Please sign in to comment.