SequenceTubeMap-Sapelo2: Difference between revisions
(Initial creation of page) |
m (Isaiah moved page SequenceTubeMap to SequenceTubeMap-Sapelo2: Fix name) |
(No difference)
|
Revision as of 12:45, 5 September 2023
Category
Bioinformatics
Program On
Version
N/A
Author / Distributor
Description
"A JavaScript module for the visualization of genomic sequence graphs. It automatically generates a "tube map"-like visualization of sequence graphs which have been created with vg."
Running Program
Initial Setup
Before a user can run this program, it first needs to be setup in a directory of the user's choosing such as the home or scratch directory.
Enter Interactive Job
This program should be run from within an interactive job, which can be started by issuing the following from a login node:
interact
Load Dependent Modules
As of September 5th, 2023, the dependencies for this program are NodeJS, NPM, and vg. The NPM program is included in our NodeJS module, so the only modules necessary are NodeJS and vg, which can be loaded with the following:
NodeJS
module load nodejs/18.12.1-GCCcore-11.3.0
vg
module load vg/1.50.1
Clone Repository
From within the directory that will serve to contain this project, clone the sequenceTubeMap repository:
git clone https://github.com/vgteam/sequenceTubeMap.git
Install NPM dependencies
This program depends on a few other programs from NPM. To install them, first enter into the sequenceTubeMap directory that was created when the repository was cloned in the previous step:
cd sequenceTubeMap
Then, use NPM to install the additional programs into the project's directory:
npm install
Build the Frontend
Once the additional dependencies have been installed with NPM, sequenceTubeMap will need to be built:
npm run build
Starting the server
As long as the previous steps have been completed, the program can be started and used when needed. Starting the program is as simple as navigating to the directory in which it is located, and running the server.
Enter Interactive Job
Unless already in an interactive job, it is necessary to enter into one before loading the modules and starting the server:
interact
Load Dependent Modules
The same versions of the modules that were loaded when performing the initial setup for sequenceTubeMap should be loaded whenever attempting to run the software:
NodeJS
module load nodejs/18.12.1-GCCcore-11.3.0
vg
module load vg/1.50.1
Unless already in the sequenceTubeMap directory, change to the location of that directory:
cd /path/to/sequenceTubeMap
Obtain IP Address
Obtain the IP address of the server that will host sequenceTubeMap for use in the next step:
hostname -i
Configure SSH Tunnel
It will be necessary to use SSH tunneling to connect to the web frontend from within a web browser. Please note that this step is to be performed on your local computer. It is recommended to setup the SSH tunnel from a new, separate terminal. Currently, the program is hard-coded to run on port 3000, but this can be changed by editing a few files as demonstrated later on this page.
SSH Tunneling from Mac or Linux
From your local terminal, issue the following command while making sure to replace HOST with the actual IP address obtained in the previous step and MyID with your actual MyID:
ssh -N -L 3000:HOST:3000 MyID@sapelo2.gacrc.uga.edu
SSH Tunneling from Windows
Download the plink program, open a command window--the current directory of this command window should contain the plink.exe file--and execute the following command, replacing HOST with the actual IP address obtained in the previous step and MyID with your actual MyID:
plink -ssh -N -L 3000:HOST:3000 MyID@sapelo2.gacrc.uga.edu
Launch the Program
To start the program, return to the terminal in which the interactive session is running, and execute the following command from within the sequenceTubeMap directory:
npm run serve
Connecting to the Server
To connect to the server, simply open a web browser on the computer connected to the SSH tunnel, and navigate to http://localhost:3000 in the URL bar.
Running Program on Different Port
As of September 5th, 2023 sequenceTubeMap is hard-coded to run on port 3000. As a result, using an alternative port number will require manually changing a few files.
The following commands, if issued from within the sequenceTubeMap directory, will change the necessary files to use port 8942 instead:
sed -i "s/3000/8942/g" server.mjs
sed -i "s/3000/8942/g" setupProxy.js
sed -i "s/3000/8942/g" util/demo-data.js
If a port is used other than port 3000, use the same number when setting up SSH tunneling:
ssh -N -L 8942:HOST:8942 MyID@sapelo2.gacrc.uga.edu
Make sure to connect to the correct corresponding port number, http://localhost:8942, when connecting from a web browser as well.
Documentation
Please reference the program's GitHub page at https://github.com/vgteam/sequenceTubeMap for further reading.
System
64-bit Linux