A visualizer for gene-coexpression networks (GCNs) and alignments between them.
Watch our video demo showcasing some of the features at https://clemson.app.box.com/v/BioDepVis
BioDepVis requires CUDA, gcc, and Qt.
# CUDA drivers can be downloaded and installed from NVIDIA's website
sudo apt-get install gcc qt5-default
module load cuda-toolkit/9.2 gcc/5.4.0 Qt/5.9.2
To build and run the executable:
make CUDADIR=$CUDA_ROOT
./BioDepVis --config [config-file] --ont [ont-file]
The default values for these input files are config/test_M-R.json
and go-basic.obo
, which are provided in this repo. This configuration will load two gene networks, Maize and Rice, and their alignment, and the ontology database provided by go-basic.obo
. The config
folder contains several other example graph/alignment configurations. Use these example files to create your own configurations.
Install VirtualGL and TurboVNC on the remote machine. You will also need to install TurboVNC or an equivalent VNC client on your local machine.
Login to the remote machine through SSH and start a VNC server:
LANG=C /opt/TurboVNC/bin/vncserver
Start a VNC client on your local machine and connect to the remote VNC server at <hostname>:1
. For the TurboVNC client:
/opt/TurboVNC/bin/vncviewer
Start BioDep-Vis on the remote machine:
vglrun ./BioDepVis [...]
To stop the VNC server:
/opt/TurboVNC/bin/vncserver -kill :1
Palmetto should already have VirtualGL and TurboVNC installed. However, because compute nodes cannot be accessed directly via SSH but only through the login node, you must tunnel the VNC server through the login node on a second SSH session. As before, you will need to install a VNC client on your local machine. Binary packages for TurboVNC can be found here.
Login to a GPU node on Palmetto and start a VNC server:
ssh -X <username>@login.palmetto.clemson.edu
qsub -I -l select=1:ngpus=2:ncpus=4:mem=32gb,walltime=02:00:00
LANG=C vncserver
Look for TurboVNC: <node>:<port>
in the output. For example: node0263:1
.
Login to another Palmetto session with tunnelling:
ssh -L 10000:<node>.palmetto.clemson.edu:<5900 + port> <username>@login.palmetto.clemson.edu
# example:
ssh -L 10000:node0263.palmetto.clemson.edu:5901 ksapra@login.palmetto.clemson.edu
Start a VNC client on your local machine and connect to localhost:10000
. A remote desktop will appear, from which point you can launch BioDepVis as before with vglrun
.
Install vnc2flv
:
wget https://pypi.python.org/packages/1e/8e/40c71faa24e19dab555eeb25d6c07efbc503e98b0344f0b4c3131f59947f/vnc2flv-20100207.tar.gz
tar xvf vnc2flv-20100207.tar.gz
cd vnc2flv-20100207
python setup.py install --user
Start the VNC server at (e.g. 5901), then start recording:
cd tools
python flvrec.py localhost <port>
To stop recording, enter Ctrl-C
and an FLV file will be saved.
The Complexity Connector Tool (CCT) is a graphical interface for creating config files for BioDepVis, instead of writing the JSON files yourself. With CCT you can create or load a configuration and then launch BioDepVis right from the interface! You can even have multiple instances of BioDepVis running at once! Refer to the CCT docs for installation and usage instructions.
This feature is still incomplete:
sudo docker run --runtime=nvidia --rm -it \
-e DISPLAY=$DISPLAY -u docker -v /tmp/.X11-unix:/tmp/.X11-unix:ro \
systemsgenetics/biodepvis