A lightweight Python tool for constructing biologically annotated gene–gene interaction networks from simple edge lists, with a focus on network biology workflows and interoperability (e.g. Cytoscape).
Given a simple edge list, this tool:
- Constructs an undirected gene–gene network
- Annotates edges with:
- interaction type (e.g. physical, regulatory, pathway)
- evidence/source (e.g. BioGRID, STRING)
- Annotates nodes with basic network metrics:
- degree (number of interactions)
- Exports the network in GraphML (Cytoscape-ready)
The primary input is a tab- or comma-separated edge list.
- TP53 BRCA1
- BRCA1 RAD51
- TP53 BRCA1 physical BioGRID
- TP53 MDM2 regulatory Reactome
- BRCA1 RAD51 pathway KEGG
interaction_typeis optional (default:unspecified)sourceis optional but strongly encouraged- Gene symbols are normalized by trimming whitespace and uppercasing
- Self-edges are removed post addition
- Compatible with Cytoscape
- Preserves node and edge attributes
- gene-network --input examples/real_edges.tsv --output network.graphml
- interaction types
- evidence sources
- node degree
This tool makes several explicit assumptions:
- Interaction types are user-provided and not inferred
- Gene identifier normalization is minimal (no alias resolution)
- The network is undirected by design for simplicity
- These choices are intentional to avoid introducing incorrect biological inferences.
Directional edges for regulatory networks
Confidence weighting based on evidence
Integration with pathway or expression datasets
Identifier mapping (HGNC ↔ Ensembl)