Skip to content

System Requirements

Marcus Fedarko edited this page Sep 9, 2019 · 36 revisions

NOTE: This page is out-of-date, and has mostly been replaced by the "installation instructions" page.

Prefix

In general, the installation instructions should be sufficient for most use cases—you shouldn't need to bother reading this page. However, if you do want to install each requirement individually for some reason, this page should be helpful.

If you just want to generate layouts for the "standard mode" of MetagenomeScope (i.e. without using the -spqr option), you'll just need the General Requirements listed below.

However, if you want to generate layouts for the SPQR "decomposition mode" of MetagenomeScope (i.e. using the -spqr command-line option), there are some extra system requirements you'll have to follow in order for the preprocessing script to work properly. In this case, you'll need both the General Requirements and -spqr Requirements listed below.

General Requirements

  • Python 2.7
    • Other versions of Python 2.x should be ok, but Python 2.7 is recommended.
    • Installed by default with many systems. Installation instructions for Python (as well as instructions for checking to see if you already have Python installed) are located here.
  • NumPy
    • Installation instructions are located here.
  • Graphviz, with the dot layout program installed
    • Using version 2.38.0 or a version of at least 2.41.20170712.0019 is recommended but not required.
      • Using a version in between 2.38.0 and 2.41.20170712.0019 might impact the quality of some edge routings a bit, as detailed in this issue; however, this should only be a cosmetic imperfection.
    • Download links and installation instructions are located here.
  • PyGraphviz
    • Installation instructions are located here.
    • Depending on your system, it may be easiest to install PyGraphviz through pip or another Python package manager.
    • From personal experience, I found that installing pkg-config before installing PyGraphviz helped resolve issues I had with importing it. If you're having trouble getting PyGraphviz installed, looking over the comments in this issue in the PyGraphviz repository might be helpful.

-spqr Requirements

  • The sfdp layout program contained in Graphviz
    • sfdp should usually be installed by default with Graphviz, fortunately.
  • Optional: The GTS library (libgts-dev on Debian/Ubuntu systems)
    • The triangulation functionality provided by GTS is used by sfdp when generating layouts in the SPQR mode, in order to smooth things out.
    • If you don't want to install GTS, you can pass the -nt flag to the preprocessing script to disable triangle smoothing in the SPQR mode. (This might make certain layouts in the SPQR mode appear more cluttered, though.)
    • See this GitHub thread for information about installing GTS for use with Graphviz.
  • OGDF
    • OGDF is linked with the "SPQR script" (graph_collator/spqr.cpp) that is used by the preprocessing script to generate SPQR tree information.
    • Installation instructions are located here.

If you're not using a 64-bit Linux system, you're going to need to compile your own binary of the SPQR script using the Makefile included in the root of MetagenomeScope. See the Installation Instructions page for information on how to do that.