https://github.com/sbgn/libsbgn.js
Parsing and writing SBGN-ML files in javascript
https://github.com/sbgn/libsbgn.js
bioinformatics sbgn sbgnml systems-biology xml
Last synced: 5 months ago
JSON representation
Parsing and writing SBGN-ML files in javascript
- Host: GitHub
- URL: https://github.com/sbgn/libsbgn.js
- Owner: sbgn
- License: mit
- Created: 2017-04-24T12:44:00.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2025-10-22T16:40:18.000Z (8 months ago)
- Last Synced: 2025-10-22T18:30:21.747Z (8 months ago)
- Topics: bioinformatics, sbgn, sbgnml, systems-biology, xml
- Language: JavaScript
- Homepage: https://sbgn.github.io/libsbgn.js/
- Size: 32.9 MB
- Stars: 3
- Watchers: 5
- Forks: 3
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# libsbgn.js
[](https://www.npmjs.com/package/libsbgn.js)
[](https://travis-ci.org/sbgn/libsbgn.js)
Documentation under construction.
API doc is located [here](https://sbgn.github.io/libsbgn.js/).
More detailed documentation can be found in the wiki.
## 1. Installation
```
npm install libsbgn.js
```
Run test:
```
npm test
```
Generate API doc:
```
npm run doc
```
## 2. Quick example
```javascript
var libsbgn = require('libsbgn.js');
var sbgn = new libsbgn.Sbgn({xmlns: 'http://sbgn.org/libsbgn/0.3'});
var map = new libsbgn.Map({id: 'mymap', language: 'process description'});
sbgn.addMap(map);
var glyph1 = new libsbgn.Glyph({id: 'glyph1', class_: 'macromolecule'});
glyph1.setLabel(new libsbgn.Label({text: 'entity A'}));
glyph1.setBbox(new libsbgn.Bbox({x: 0, y: 0, w:10, h:10}));
map.addGlyph(glyph1);
var glyph2 = new libsbgn.Glyph({id: 'glyph2', class_: 'macromolecule'});
glyph2.setLabel(new libsbgn.Label({text: 'entity B'}));
glyph2.setBbox(new libsbgn.Bbox({x: 20, y: 0, w:10, h:10}));
map.addGlyph(glyph2);
var processGlyph = new libsbgn.Glyph({id: 'process1', class_: 'process'});
processGlyph.setBbox(new libsbgn.Bbox({x: 10, y: 0, w:10, h:10}));
map.addGlyph(processGlyph);
var arc1 = new libsbgn.Arc({id:'arc1', class_:'consumption',
source:'glyph1', target:'process1'});
arc1.setStart(new libsbgn.Start({x:0, y:0}));
arc1.setEnd(new libsbgn.End({x:10, y:0}));
map.addArc(arc1);
var arc2 = new libsbgn.Arc({id:'arc2', class_:'production',
source:'process1', target:'glyph2'});
arc2.setStart(new libsbgn.Start({x:10, y:0}));
arc2.setEnd(new libsbgn.End({x:20, y:0}));
map.addArc(arc2);
var xmlString = sbgn.toXML();
```
xmlString contains the serialized raw XML, without any newline or indentation. A pretty version of xmlString would be:
```xml
```
## 3.Schematron Validation Example
Please place templatelibsbgn.xslt file your project structure
```javascript
var libsbgn = require('libsbgn.js');
var fs = require('file-system');
var file=fs.readFileSync('path-of-validated-file', 'utf8');
var errors = libsbgn.Sbgn.doValidation(file);