Graaftheorie (netwerk) bibliotheek voor visualisatie en analyse : https://js.cytoscape.org
Beschrijving
Cytoscape.js is een volledig uitgeruste grafentheoriebibliotheek. Moet u relationele gegevens modelleren en/of visualiseren, zoals biologische gegevens of sociale netwerken? Dan is Cytoscape.js precies wat u nodig hebt.
Cytoscape.js bevat een grafentheoretisch model en een optionele renderer om interactieve grafieken weer te geven. Deze bibliotheek is ontworpen om het programmeurs en wetenschappers zo gemakkelijk mogelijk te maken om grafentheorie in hun apps te gebruiken, of het nu voor server-side analyse in een Node.js-app is of voor een rijke gebruikersinterface.
U kunt met Cytoscape.js aan de slag met één regel:
var cy = cytoscape({ elements: myElements, container: myDiv });
Lees meer over de functies van Cytoscape.js door de documentatie te lezen.
Documentatie
U kunt de documentatie en downloads vinden op de projectwebsite.
Roadmap
Toekomstige versies van Cytoscape.js zijn gepland in de mijlpalen van de Github issue tracker. U kunt de mijlpalen gebruiken om te zien wat er momenteel gepland staat voor toekomstige releases.
Bijdragen aan Cytoscape.js
Wilt u een Cytoscape.js bijdrager worden? U kunt bijdragen in technische rollen (b.v. functies, testen) of niet-technische rollen (b.v. documentatie, outreach), afhankelijk van uw interesses. Neem contact met ons op door een GitHub discussie te posten.
Voor de techniek van het bijdragen van een pull-request, zie CONTRIBUTING.md.
Feature-releases worden maandelijks gemaakt, terwijl patch-releases wekelijks worden gemaakt. Dit zorgt voor snelle releases van eerste- en bijdragen van derden.
Citatie
Om Cytoscape.js in een paper te citeren, gelieve de Oxford Bioinformatics issue te citeren:
Cytoscape.js: a graph theory library for visualisation and analysis
Franz M, Lopes CT, Huck G, Dong Y, Sumer O, Bader GD
Bioinformatics (2016) 32 (2): 309-311 first published online September 28, 2015 doi:10.1093/bioinformatics/btv557 (PDF)
PubMed Abstract
Build dependencies
Installeer node
en npm
. Voer npm install
uit voordat u npm run
gebruikt.
Bouw instructies
Run npm run <target>
in de console. De belangrijkste doelen zijn:
Bouwen:
-
build
: doe alle builds van de bibliotheek (umd, min, umd, esm) -
build:min
: doe de unminified build met gebundelde afhankelijkheden (voor eenvoudige html pagina’s, goed voor beginners) -
build:umd
: doe de umd (cjs/amd/globals) build -
build:esm
: doe de esm (ES 2015 modules) build -
clean
: maak debuild
directory schoon -
docs
: bouw de docs indocumentation
-
release
: bouw alle release artefacten -
watch
: automatisch bouwen van lib voor debugging (met sourcecemap, geen babel, zeer snel)- goed voor algemene tests op
debug/index.html
- op
http://localhost:8080
of de eerst beschikbare poort daarna, met livereload opdebug/index.html
- goed voor algemene tests op
-
watch:babel
: automatisch bouwen van lib voor debugging (met sourcecemap, met babel, iets trager)- goed voor het testen van performance of voor het testen van verouderde browsers
- geserveerd op
http://localhost:8080
of de eerst beschikbare port daarna, met livereload opdebug/index.html
-
watch:umd
: automatisch bouwen prod umd bundel (geen sourcecemap, met babel)- goed voor het testen van cytoscape in een ander project (met een
"cytoscape": "file:./path/to/cytoscape"
verwijzing in uw project’spackage.json
) - geen http server
- goed voor het testen van cytoscape in een ander project (met een
-
dist
: update de distributie js voor npm etc.
Testing:
De standaard testscripts lopen direct tegen de broncode aan. Tests kunnen ook worden uitgevoerd op een gebouwde bundel. De bibliotheek kan worden gebouwd op node>=6
, maar de bundel van de bibliotheek kan worden getest op node>=0.10
.
-
test
: voer alle testen uit & linting -
test:js
: voer de mocha tests uit op de publieke API van de lib (direct op bronbestanden)-
npm run test:js -- -g "my test name"
voer de tests uit op alleen de overeenkomende testgevallen
-
-
test:build
: voer de mocha tests uit op de openbare API van de lib (op een gebouwde bundel)-
npm run build
moet van tevoren worden uitgevoerd op een recente versie van node -
npm run test:build -- -g "my test name"
voer build tests uit op alleen de overeenkomende testgevallen
-
-
test:modules
: voert eenheidstests uit op privé, interne API-
npm run test:modules -- -g "my test name"
voert moduletests uit op alleen de overeenkomende testgevallen
-
-
lint
: lint de js-bronnen via eslint -
benchmark
: voer alle benchmarks uit -
benchmark:single
: voer alleen benchmarks uit voor de suite gespecificeerd inbenchmark/single
Vrijgave-instructies
- Voer elke backport patch release uit vóór de corresponderende huidige release. Dit zorgt ervoor dat npm de huidige versie als de laatste vermeldt.
- Zorg ervoor dat de docs zijn bijgewerkt met de lijst van releases in
documentation/md/intro.md
- Update de
VERSION
omgevingsvariabele, bijvoorbeeldexport VERSION=1.2.3
- Bevestig dat alle tests slagen:
npm run test
(zie ooktest/index.html
voor browser testen) - Bevestig dat alle testen slagen in IE9:
npm run watch:umd
- Open een IE9 VM
- Open
http://yourip:8081/test/ie.html
in IE
- Voorbereid een release:
npm run release
- Bekijk de bestanden die net gebouwd zijn in de vorige stap. Probeer de nieuw gebouwde docs en demo’s uit.
- Voeg de release toe aan git:
git add . && git commit -m "Build $VERSION"
- Update de pakket versie:
npm version $VERSION
- Push de release veranderingen:
git push && git push --tags
- Publiceer de release naar npm:
npm publish .
- Maak een release voor Zenodo van de laatste tag
- Voor feature releases: Maak een release aankondiging op de blog. Deel de aankondiging op mailinglijsten en sociale media.
Tests
Mocha-tests zijn te vinden in de testdirectory. De tests kunnen worden uitgevoerd in de browser of ze kunnen worden uitgevoerd via Node.js (npm run test:js
).