PathBank Reference Ingest Guide (RIG)¶
Source Information¶
InfoRes ID: infores:pathbank
Description: PathBank is a comprehensive, visually rich pathway database from the Wishart Lab (University of Alberta), designed as a companion to the Small Molecule Pathway Database (SMPDB). It provides interactive, machine-readable pathway diagrams spanning metabolic, signaling, disease, drug-action, drug-metabolism, physiological, and protein pathways across model organisms (with a strong emphasis on human). Each pathway describes participating small molecules, proteins, protein complexes, nucleic acids, reactions, and their subcellular/tissue localization. PathBank distributes machine-readable exports in several formats (PWML, BioPAX, SBML, SBGN) plus CSV summaries of pathway metadata, as well as image (SVG/PNG) and sequence (FASTA/SDF) files. This ingest uses the master pathways CSV and the per-pathway PWML (XML) archive.
Citations: - Wishart DS, et al. PathBank: a comprehensive pathway database for model organisms. Nucleic Acids Res. 2020 Jan 8;48(D1):D470-D478. https://doi.org/10.1093/nar/gkz861 - Wishart DS, et al. PathBank 2.0 - the pathway database for model organism metabolomics. Nucleic Acids Res. 2024 Jan 5;52(D1):D654-D662. https://doi.org/10.1093/nar/gkad1041 - Downloads page: https://pathbank.org/downloads
Data Access Locations: - All downloads: https://pathbank.org/downloads
Data Provision Mechanisms: file_download
Data Formats: csv, xml
Data Versioning and Releases: PathBank does not publish an explicit, regularly-scheduled release version. Each pull is a dated snapshot, and the downloads page lists a 'Generated On' timestamp per archive. The ingest derives its version string from the most recent file modification date of the pathways CSV and PWML archives (see get_latest_version in pathbank.py). Note that the two archives used here have not been regenerated since 2019 (pathways CSV 'Aug 15 2019', PWML 'Sep 12 2019', 110,234 PWML files), so the derived version currently resolves to 2019-09-13. That file count corresponds to PathBank 1.0. The PathBank 2.0 content described in the 2024 publication (over 600,000 pathways) is served through the website but is not present in these bulk download archives.
Ingest Information¶
Ingest Categories: primary_knowledge_provider
Utility: Comprehensive pathway membership and mechanistic process data (reactions, interactions, complex composition, localization) for Translator reasoning and pathway-centric analytics.
Scope: This ingest uses only two inputs: the master pathways CSV for biolink:Pathway nodes and the PWML archive for entities, processes, and edges. Other formats available from PathBank (BioPAX, SBML, SBGN, RXN, SVG, PNG, FASTA, SDF) are not currently used but may be considered for future enrichment.
Relevant Files¶
| File Name | Location | Description |
|---|---|---|
| pathbank_all_pathways.csv.zip | https://pathbank.org/downloads | Master CSV with pathway subjects and descriptions; used to build Pathway nodes with IDs, names, descriptions, and species metadata. |
| pathbank_all_pwml.zip | https://pathbank.org/downloads | Per-pathway PWML (XML) files for detailed composition and connectivity (entities, processes, participants, localization, complexes). |
Included Content¶
| File Name | Included Records | Fields Used |
|---|---|---|
| pathbank_all_pathways.csv.zip | All pathway rows extracted to pathbank_pathways.csv (rows with at least one of SMPDB ID or PW ID). | SMPDB ID, PW ID, Name, Subject, Description |
| pathbank_all_pwml.zip | All PWML pathway files (PW*.pwml). | entities (compounds, proteins, complexes, nucleic acids, element collections, bounds), processes (reactions, interactions), participants (inputs/outputs), reaction enzymes, localization (subcellular compartments/tissues) |
Future Content Considerations¶
edge_property_content: Edge properties such as stoichiometry and participant_role may be added in future if needed and if supported by Biolink Model.
edge_content: Additional file formats available from PathBank (BioPAX, SBML, SBGN, RXN, SVG, PNG, FASTA, SDF) may be considered for future enrichment to provide additional pathway representations and visualizations.
edge_content: Additional interaction type mappings may be added as more PathBank interaction types are discovered and validated against Biolink Model predicates.
Target Information¶
Edge Types¶
| Subject Categories | Predicate | Object Categories | Knowledge Level | Agent Type | UI Explanation |
|---|---|---|---|---|---|
| biolink:Pathway | biolink:SmallMolecule, biolink:Protein, biolink:NucleicAcidEntity, biolink:MacromolecularComplex, biolink:ChemicalEntity, biolink:MolecularActivity | knowledge_assertion | manual_agent | PathBank asserts that the named entity is a participant in this pathway. The edge is derived from the entity's membership in the pathway's PWML file (compounds, proteins, complexes, nucleic acids, element collections, bounds, and reactions all yield has_participant edges from the pathway to the entity). | |
| biolink:MolecularActivity | biolink:SmallMolecule, biolink:Protein, biolink:NucleicAcidEntity, biolink:MacromolecularComplex, biolink:ChemicalEntity | knowledge_assertion | manual_agent | A PathBank reaction (represented as a MolecularActivity) consumes the named inputs (reactants). The edge is extracted from the reaction's left elements in the PWML file. | |
| biolink:MolecularActivity | biolink:SmallMolecule, biolink:Protein, biolink:NucleicAcidEntity, biolink:MacromolecularComplex, biolink:ChemicalEntity | knowledge_assertion | manual_agent | A PathBank reaction (represented as a MolecularActivity) produces the named outputs (products). The edge is extracted from the reaction's right elements in the PWML file. | |
| biolink:MacromolecularComplex | biolink:MolecularActivity | knowledge_assertion | manual_agent | An enzyme (modeled as a protein complex / MacromolecularComplex) catalyzes the named reaction (MolecularActivity), as identified from the reaction's enzyme references in the PWML file. | |
| biolink:MacromolecularComplex, biolink:ChemicalEntity | biolink:Protein, biolink:SmallMolecule, biolink:NucleicAcidEntity, biolink:MacromolecularComplex, biolink:ChemicalEntity | knowledge_assertion | manual_agent | Compositional membership: a protein complex has member proteins, and a PathBank 'bound' aggregate (modeled as a ChemicalEntity) has member elements. Both are represented with biolink:has_part. | |
| biolink:Protein, biolink:MacromolecularComplex, biolink:NucleicAcidEntity | biolink:Protein, biolink:MacromolecularComplex, biolink:NucleicAcidEntity, biolink:SmallMolecule, biolink:ChemicalEntity | knowledge_assertion | manual_agent | Directional regulation edges derived from PathBank PWML interaction types where the regulator (subject) is a biological entity (protein, protein complex, or nucleic acid). Activation/induction/promotion maps to an upregulated direction and inhibition/repression to a downregulated direction, with an activity_or_abundance object aspect. | |
| biolink:SmallMolecule, biolink:ChemicalEntity | biolink:Protein, biolink:MacromolecularComplex, biolink:NucleicAcidEntity, biolink:SmallMolecule, biolink:ChemicalEntity | knowledge_assertion | manual_agent | Directional chemical effect edges derived from PathBank PWML interaction types where the actor (subject) is a chemical entity. Activation/induction/promotion maps to an upregulated direction and inhibition/repression to a downregulated direction, with an activity_or_abundance object aspect. | |
| biolink:Protein, biolink:MacromolecularComplex, biolink:NucleicAcidEntity, biolink:SmallMolecule, biolink:ChemicalEntity | biolink:Protein, biolink:MacromolecularComplex, biolink:NucleicAcidEntity, biolink:SmallMolecule, biolink:ChemicalEntity | knowledge_assertion | manual_agent | Physical interaction edges derived from PathBank PWML interaction types that indicate binding, physical association, or complex formation. | |
| biolink:Protein, biolink:MacromolecularComplex, biolink:NucleicAcidEntity, biolink:SmallMolecule, biolink:ChemicalEntity | biolink:Protein, biolink:MacromolecularComplex, biolink:NucleicAcidEntity, biolink:SmallMolecule, biolink:ChemicalEntity | knowledge_assertion | manual_agent | Fallback interaction predicate for PathBank PWML interaction types that cannot be mapped to a more specific regulation, effect, or physical-interaction predicate. | |
| biolink:Pathway | biolink:CellularComponent, biolink:AnatomicalEntity | knowledge_assertion | manual_agent | Pathway localization to subcellular compartments (GO cellular component terms) and tissues (BTO terms), as specified in the PWML subcellular-location and tissue data. |
Node Types¶
| Node Category | Source Identifier Types | Additional Notes |
|---|---|---|
| biolink:Pathway | Preferred: SMPDB pathway IDs from pathbank_pathways.csv (emitted as SMPDB: | When SMPDB is present, the PW identifier is stored in node xref for traceability. Biolink class reference: https://biolink.github.io/biolink-model/Pathway/ |
| biolink:SmallMolecule | Preferred: ChEBI, DrugBank, KEGG.COMPOUND identifiers from PWML when available (emitted as primary id), Fallback: PathBank compound IDs (emitted as PathBank:Compound_ | Non-primary identifiers are stored in node xref for traceability. Biolink class reference: https://biolink.github.io/biolink-model/SmallMolecule/ |
| biolink:Protein | Preferred: UniProtKB identifiers from PWML when available (emitted as primary id), Fallback: PathBank protein IDs (emitted as PathBank:Protein_ | Non-primary identifiers are stored in node xref for traceability. Biolink class reference: https://biolink.github.io/biolink-model/Protein/ |
| biolink:MacromolecularComplex | PathBank protein complex IDs (emitted as PathBank:ProteinComplex_ | Complexes are composed of proteins (linked via biolink:has_part edges). Biolink class reference: https://biolink.github.io/biolink-model/MacromolecularComplex/ |
| biolink:NucleicAcidEntity | Preferred: ChEBI identifiers from PWML when available (emitted as primary id), Fallback: PathBank nucleic acid IDs (emitted as PathBank:NucleicAcid_ | Non-primary identifiers are stored in node xref for traceability. Biolink class reference: https://biolink.github.io/biolink-model/NucleicAcidEntity/ |
| biolink:MolecularActivity | Preferred when available: EC identifiers from PWML reaction ec-number fields (emitted as EC: | Reactions are represented as MolecularActivity nodes with has_input and has_output edges. Biolink class reference: https://biolink.github.io/biolink-model/MolecularActivity/ |
| biolink:ChemicalEntity | Bounds: PathBank bound IDs (emitted as PathBank:Bound_ | Non-primary identifiers are stored in node xref for traceability. Biolink class reference: https://biolink.github.io/biolink-model/ChemicalEntity/ |
| biolink:CellularComponent | GO (Gene Ontology) identifiers for subcellular locations (e.g., GO:0005737 for Cytoplasm) | Subcellular compartments extracted from PWML data. Biolink class reference: https://biolink.github.io/biolink-model/CellularComponent/ |
| biolink:AnatomicalEntity | BTO (BRENDA Tissue Ontology) identifiers for tissues (e.g., BTO:0000759 for Liver) | Tissues and anatomical entities extracted from PWML data. Biolink class reference: https://biolink.github.io/biolink-model/AnatomicalEntity/ |
Future Modeling Considerations¶
spoq_pattern: MolecularActivity nodes represent reactions. Current modeling creates separate edges describing inputs and outputs for these reactions. This is supported by Biolink, but longer term consider whether this is the most useful pattern for Translator. Could we model direct 'derived from/into' edges between inputs and outputs and hang the reaction id as a qualifier? A redesign to direct input-output edges with reaction qualifiers would need an agreed KG modeling pattern across sources.
predicates: Interaction-derived predicates (regulates, affects, physically_interacts_with, interacts_with) are assigned via keyword matching on PathBank interaction-type strings (see interaction_mapping.py). Review and extend these mappings as additional PathBank interaction types are validated against Biolink.
Additional Notes: ['Known issue - large normalization drop (~88% of edges): PathBank internal IDs (Reaction_, ProteinComplex_, some Compound_) are not recognized by NodeNorm. The ingest produces ~12.8M edges, but ~11.3M are filtered out because subject or object nodes fail normalization. Long-term resolution: request NodeNorm support for PathBank IDs, or map reactions to EC numbers.', 'Known issue - predicates missing from normalized output: has_input, has_output, catalyzes, has_part, regulates, and physically_interacts_with are emitted by the ingest but appear only on edges involving MolecularActivity / MacromolecularComplex nodes that fail NodeNorm, so those edges are dropped. After normalization the output retains mainly has_participant, occurs_in, and interacts_with. This depends on fixing the normalization drop above.', "Known issue - has_participant range warnings: ~66,656 validation warnings occur because biolink:has_participant expects an 'occurrent' range but objects are SmallMolecule, Protein, etc. The data is semantically correct (pathways do have these participants); accepted as warnings.", 'Known issue - occurs_in to BiologicalProcess: GO:0043165 normalizes to biolink:BiologicalProcess rather than CellularComponent/AnatomicalEntity. It is now excluded in code (EXCLUDED_OCCURS_IN_GO_TERMS) so occurs_in objects stay within the expected categories.']
Provenance Information¶
Contributors: - Adilbek Bazarkulov: code implementation, support - Erica Wood: code author (RTX-KG2) - Evan Morris: code support - Sierra Moxon: data modeling, domain expertise - Matthew Brush: data modeling, domain expertise
Artifacts: - PathBank downloads: https://pathbank.org/downloads - Biolink Model repository: https://github.com/biolink/biolink-model - Biolink Model docs: https://biolink.github.io/biolink-model/ - KGX docs: https://biolink.github.io/kgx/