Generates a "tube map"-like visualization of sequence graphs which have been created with vg.
No idea what those squiggles are supposed to be? Read the Introduction.
Explore Without Installing Anything
The easiest way to have a look at some graph visualizations is to check out the online demo. There you can play with visualizations from a few different data sets as well as look at some examples showcasing different structural features of variation graphs. You can even provide your own vg-generated data as an input (limited to small file sizes only).
Run the Sequence Tube Map on Your Own
If you are using vg and want visualize the graphs it generates, the online version is limited to small file sizes. For visualizing bigger data sets you can run the Sequence Tube Map on your own Linux or Mac computer. You can either run the Tube Map completely on your local machine, or use your local browser to access a Tube Map server running on any other machine you have access to.
- Open your terminal. On Linux, you can usually hit
Ctrl
+Alt
+T
. On Mac, hitCommand
+Space
, typeterminal.app
, and hitEnter
. - If you don't already have Git installed, install Git.
- Clone the Git repository by typing:
Then press
git clone https://github.com/vgteam/sequenceTubeMap.git
Enter
. - Switch to the
sequenceTubeMap
directory:cd sequenceTubeMap
- If you don't already have vg installed, install vg.
- For Linux: you can drop the
vg
program file into thesequenceTubeMap
directory and the Sequence Tube Map will find it.- If you don't have
curl
installed, you may need to do something likesudo apt update && sudo apt install curl
. - Download the
vg
program and make it executable.If you have an ARM computer, usecurl -o vg https://github.com/vgteam/vg/releases/latest/download/vg chmod +x vg
https://github.com/vgteam/vg/releases/latest/download/vg-arm64
instead. - To use the data preparation scripts in
sequenceTubeMap/scripts/
, you will need to have the directory with vg in it in yourPATH
environment variable:echo 'export PATH="${PATH}:'"$(pwd)"'"' >>~/.bashrc . ~/.bashrc
- If you don't have
- For Mac: Open a new terminal, and follow the vg instructions for building on MacOS. Make sure to do the part about adding vg to your
PATH
environment variable. When you come back to your original terminal, run:. ~/.zshrc
- For Linux: you can drop the
- If you don't already have the right version of NodeJS, install nvm which can install NodeJS:
(If you don't have
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
curl
installed, you may need to do something likesudo apt update && sudo apt install curl
.) - Install the version of NodeJS that the Sequence Tube Map asks for in its
.nvmrc
file. As of this writing that is 18.7.0. You can install the right version automatically withnvm
:nvm install
- Activate the appropriate version of NodeJS:
nvm use
- Install the exact versions of NPM dependencies that the Sequence Tube Map is tested against:
Note that this is using npm, not nvm as in the previous step.
npm ci
- Build the frontend:
npm run build
After installation, you can run the Sequence Tube Map:
- Open your terminal. On Linux, you can usually hit
Ctrl
+Alt
+T
. On Mac, hitCommand
+Space
, typeterminal.app
, and hitEnter
. - Switch to the
sequenceTubeMap
directory:If you didn't clone the Git repository immediately inside your home directory, you may need to navigate to another directory first.cd sequenceTubeMap
- Activate the appropriate version of NodeJS. If you installed
nvm
to manage NodeJS versions, you can run:nvm use
- Start the Sequence Tube Map server:
Note that this is using npm, not nvm as in the previous step.
npm run serve
- Open the Sequence Tube Map in your browser.
- If you are running the Sequence Tube Map on your local computer, you can visit http://localhost:3001.
- If you are running the Sequence Tube Map on a different computer (for example, one accessed by SSH), you will need to connect to it there. You can try browsing to port 3001 on that machine's hostname. For example, if you connected with
ssh [email protected]
, thenbigserver.example.edu
is the hostname, and you want to visithttp://bigserver.example.edu:3001
. If that doesn't work, you can try setting up an SSH tunnel by making a second SSH connection with:While that SSH connection is open, you will be able to see the Sequence Tube Map at http://localhost:3001.ssh -L 3001:localhost:3001 [email protected]
The application comes with pre-set demos that you can use to learn the tool's visual language and basic features.
To set up a custom visualization of particular files, you will need to configure a set of "tracks" describing the files you want to visualize, using the "Configure Tracks" dialog in "custom (mounted files)" mode. For information on how to do this, click on the "?" help button, or read the help documentation online.
To load your own data into the Sequence Tube Map, see the guide to Adding Your Own Data.
Previously we provided a Docker image at https://hub.docker.com/r/wolfib/sequencetubemap/, which contained the build of this repo as well as a vg executable for data preprocessing and extraction. We now recommend a different installation approach, either using the online version or a full installation of the local version. However, if you would like to Dockerize the Sequence Tube Map, the repository includes a Dockerfile
.
For information on how to develop on the Sequence Tube Map codebase, pleas see the Development Guide.
Copyright (c) 2018 Wolfgang Beyer, licensed under the MIT License.