Biblioteca di teoria dei grafici (rete) per la visualizzazione e l’analisi : https://js.cytoscape.org
Descrizione
Cytoscape.js è una libreria di teoria dei grafi completa. Hai bisogno di modellare e/o visualizzare dati relazionali, come dati biologici o reti sociali? Se è così, Cytoscape.js è proprio quello che ti serve.
Cytoscape.js contiene un modello di teoria dei grafi e un renderer opzionale per visualizzare grafici interattivi. Questa libreria è stata progettata per rendere il più semplice possibile per programmatori e scienziati l’uso della teoria dei grafi nelle loro applicazioni, sia per l’analisi lato server in un’applicazione Node.js che per una ricca interfaccia utente.
Puoi iniziare con Cytoscape.js con una riga:
var cy = cytoscape({ elements: myElements, container: myDiv });
Impara di più sulle caratteristiche di Cytoscape.js leggendo la sua documentazione.
Documentazione
Puoi trovare la documentazione e i download sul sito del progetto.
Roadmap
Le versioni future di Cytoscape.js sono pianificate nelle milestone del issue tracker di Github. Puoi usare le pietre miliari per vedere cosa è attualmente previsto per le versioni future.
Contribuire a Cytoscape.js
Vuoi diventare un collaboratore di Cytoscape.js? Puoi contribuire in ruoli tecnici (es. funzionalità, test) o non tecnici (es. documentazione, outreach), a seconda dei tuoi interessi. Mettiti in contatto con noi postando una discussione su GitHub.
Per le meccaniche di contribuzione di una richiesta di pull, fai riferimento a CONTRIBUTING.md.
I rilasci delle caratteristiche sono fatti mensilmente, mentre i rilasci delle patch sono fatti settimanalmente. Questo permette rilasci rapidi di contributi di prima e terza parte.
Citazione
Per citare Cytoscape.js in un articolo, citare il numero di Oxford Bioinformatics:
Cytoscape.js: una libreria di teoria dei grafi per la visualizzazione e l’analisi
Franz M, Lopes CT, Huck G, Dong Y, Sumer O, Bader GD
Bioinformatica (2016) 32 (2): 309-311 prima pubblicata online il 28 settembre 2015 doi:10.1093/bioinformatica/btv557 (PDF)
PubMed Abstract
Costruire dipendenze
Installare node
e npm
. Esegui npm install
prima di usare npm run
.
Istruzioni per la costruzione
Esegui npm run <target>
nella console. Gli obiettivi principali sono:
Costruire:
-
build
: fare tutte le build della libreria (umd, min, umd, esm) -
build:min
: fai la build unminified con le dipendenze in bundle (per semplici pagine html, buona per i novizi) -
build:umd
: fai la build umd (cjs/amd/globals) -
build:esm
: fai la build esm (moduli ES 2015) -
clean
: pulire la directorybuild
-
docs
: costruire i documenti indocumentation
-
release
: costruire tutti gli artefatti di rilascio -
watch
: costruisce automaticamente la libreria per il debug (con sourcemap, senza babel, molto veloce)- buono per i test generali su
debug/index.html
- servito su
http://localhost:8080
o sulla prima porta disponibile in seguito, con livereload sudebug/index.html
- buono per i test generali su
-
watch:babel
: costruisce automaticamente la lib per il debug (con sourcemap, con babel, un po’ più lento)- buono per testare le prestazioni o per testare i browser non aggiornati
- servito su
http://localhost:8080
o sulla prima porta disponibile in seguito, con livereload sudebug/index.html
-
watch:umd
: costruire automaticamente il bundle prod umd (senza sourcemap, con babel)- buono per testare cytoscape in un altro progetto (con un riferimento
"cytoscape": "file:./path/to/cytoscape"
nelpackage.json
del tuo progetto) - no http server
- buono per testare cytoscape in un altro progetto (con un riferimento
-
dist
: aggiornare la distribuzione js per npm ecc.
Testing:
Gli script di test predefiniti vengono eseguiti direttamente sul codice sorgente. In alternativa i test possono essere eseguiti su un bundle costruito. La libreria può essere costruita su node>=6
, ma il bundle della libreria può essere testato su node>=0.10
.
-
test
: esegue tutti i test & linting -
test:js
: esegue i test di mocha sulle API pubbliche della libreria (direttamente sui file sorgente)-
npm run test:js -- -g "my test name"
esegue i test solo sui casi di test corrispondenti
-
-
test:build
: esegue i test di mocha sulle API pubbliche della lib (su un bundle costruito)-
npm run build
deve essere eseguito prima su una versione recente di node -
npm run test:build -- -g "my test name"
esegue i test di costruzione solo sui casi di test corrispondenti
-
-
test:modules
: esegue test di unità su API private e interne-
npm run test:modules -- -g "my test name"
esegue test di moduli solo sui casi di test corrispondenti
-
-
lint
: lint i sorgenti js tramite eslint -
benchmark
: eseguire tutti i benchmark -
benchmark:single
: eseguire i benchmark solo per la suite specificata inbenchmark/single
Istruzioni per il rilascio
- Fare ogni rilascio di patch di backport prima del corrispondente rilascio corrente. Questo assicura che npm elenchi la versione corrente come l’ultima.
- Assicurati che la documentazione sia aggiornata con l’elenco dei rilasci in
documentation/md/intro.md
- Aggiorna la variabile d’ambiente
VERSION
, per esempioexport VERSION=1.2.3
- Conferma che tutti i test stanno passando:
npm run test
(vedi anchetest/index.html
per i test del browser) - Confermare che tutti i test stiano passando in IE9:
npm run watch:umd
- Aprire una VM IE9
- Aprire
http://yourip:8081/test/ie.html
in IE
- Preparare un rilascio:
npm run release
- Rivedere i file che sono stati appena costruiti nel passo precedente. Prova i documenti e le demo appena costruiti.
- Aggiungi il rilascio a git:
git add . && git commit -m "Build $VERSION"
- Aggiorna la versione del pacchetto:
npm version $VERSION
- Spingi le modifiche al rilascio:
git push && git push --tags
- Pubblica il rilascio su npm:
npm publish .
- Creare un rilascio per Zenodo dall’ultimo tag
- Per i rilasci di funzionalità: Creare un annuncio di rilascio sul blog. Condividere l’annuncio su mailing list e social media.
Test
I test di Mocha si trovano nella directory dei test. I test possono essere eseguiti nel browser o tramite Node.js (npm run test:js
).