Skip to content

Acknowledgements

Marcus Fedarko edited this page Sep 7, 2018 · 35 revisions

Preprocessing Script

  • Graphviz and PyGraphviz
    • In particular, the dot and sfdp layout programs are used.
  • NumPy
    • Used to calculate percentiles during edge thickness scaling.
  • OGDF
    • Used to construct SPQR trees.
  • cmdline.h
    • Used to parse command-line arguments in spqr.cpp.
  • pysqlite
    • Used to create sqlite3 databases to be loaded in the viewer interface.

Viewer Interface

  • The basic design of the viewer interface (control panel, assembly info dialog, etc.) was loosely inspired by Bandage, another tool for visualizing assembly graphs.
    • The differences between MetagenomeScope and Bandage, along with the differences between MetagenomeScope and other assembly graph visualization tools, are discussed in MetagenomeScope's manuscript (under development).
  • sql.js
    • Used to read sqlite3 databases generated by the preprocessing script.
  • Cytoscape.js
    • Used to render graphs.
    • Also, the toggling protocol and code used for the control panel of the viewer interface was inspired by a similar mechanism used in this Cytoscape.js demo (code repository here).
  • jQuery
  • Bootstrap
    • The icons used to theme various controls in the viewer application are from the Glyphicon Halflings set, included with Bootstrap.
    • The color selection functionality in the viewer interface uses the Bootstrap Colorpicker plugin.
    • Also, the markup used for the base of the modal dialogs in the viewer interface was adapted from Bootstrap's documentation on modals.
  • Electron
    • Used for the "desktop app" version of the viewer interface under development, located in the electron/ directory of this repository.
  • csso/csso-cli, UglifyJS, and html-minifier are used to minify CSS, JS, and HTML code for the viewer interface, respectively.
  • The JS code in loadajaxDB() in the viewer interface that performs an XMLHttpRequest was based on this article by Henry Algus.
  • drawEdgeWeightHistogram() in the viewer interface's JS code was based on this example of using a D3.js histogram by Mike Bostock.

See the README in the docs/ folder of this repository, where the code for the info site is stored.

Code Links

There are a couple of locations throughout MetagenomeScope's source code (in addition to the places mentioned above) where the solution was non-trivially based on an article or example. These places are marked in the source code with a comment including the string CODELINK:, and should all contain a URL to their original source.