Code
wget https://releases.hashicorp.com/vagrant/2.2.19/vagrant_2.2.19_x86_64.deb
sudo dpkg -i vagrant_2.2.19_x86_64.deb
If you are attempting to install on a much older machine or on a machine where you can’t change much in the global environment due to numerous reason installing a virtual image which already has SeekDeep installed might work much better for you.
back to top
SeekDeep can also be used by downloading a virtual image with it already installed. This is done with vagrant and virtualbox.
The newest vagrant is not in the Ubuntu default repositories or any ppa’s that I’m aware of so here’s how to install the deb by hand
Virtual box can be installed with the usual apt-get
If you don’t have sudo rights or you can installing on Mac brew can also install vagrant and virtual box
back to top
I would suggest making a directory to hold vagrant images. The SeekDeep Vagrantfile can be modified to mount a directory next to the directory where you downloaded the image where you can store the data you will be analyzing called SeekDeepData
though analyzing data in this mounted directory is slow and not recommend. Instead you should analyze data in another directory.
cd ~
mkdir vagrantImages
cd vagrantImages
#copy data that you will be analyzing into the SeekDeepData folder
mkdir SeekDeepData
cd SeekDeepData
wget http://seekdeep.brown.edu/data/SeekDeepTutorialData/ver2_5_0/Multiplex_IT_Tutorial_Materials.tar.gz
cd ..
#create directory for the vagrant virtual image
mkdir SeekDeep
cd SeekDeep
vagrant init nickjhathaway/SeekDeep
vagrant up
Now the above will install the base image nickjhathaway/SeekDeep and start up a machine using that image. To go into that image from within the SeekDeep directory called vagrant ssh
and you will ssh into the machine and SeekDeep should be already there and ready to use. There you will also see a directory in the home directory called data. This is a shared folder with the local host and will contain everything in the SeekDeepData directory. This is a dynamically shared resource between the virtual machine and the local host so changes made on either machine will instantly change in the other location.
Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-40-generic x86_64)
....
....
....
....
vagrant@SeekDeep:~$
SeekDeep
1) extractor
2) makeSampleDirectories
3) processClusters
4) qluster
5) sffExtractor
SeekDeepUtils
1) dryRunQualityFiltering
2) genProjectConfig
3) popClusteringViewer
4) runMultipleCommands
You can now navigate to the data
directory where the data you copied into the SeekDeepData
directory will be
data
Multiplex_IT_Tutorial_Materials.tar.gz
Also calling vagrant ssh is like sshing into any machine, once you are done with your work you can just call exit to get out of the machine and the machine will continue to run until you call vagrant halt
or vagrant suspend
(See below for details).
You can see full vagrant usage here. Below are some helpful tips.
By default the SeekDeep image will be use 4 CPUs and 8GB of RAM. To change this simply edit the Vagrantfile
within the SeekDeep vagrant directory. To set the RAM and CPUs add the following any where after Vagrant.configure(2) do |config|
before the last end
. The file is written in ruby if you are familiar with that language.
The amount of memory is in MB so the above would allow the machine to use 8 CPUs and 12GB of RAM.
To apply these changes to the image, first shut it down if it is running and call vagrant up
again
There are two different ways to shut down a running vagrant virtual image using vagrant halt
and vagrant suspend
. These commands should be called within the directory where the image you intend to stop was initialized in. vagrant halt
will cause a full shut down without saving any sort of state information where as vagrant suspend
will cause vagrant to save everything that is currently happening.
vagrant halt
will shut down the machine and is similar to how you normally just shut down a computer
==> default: Attempting graceful shutdown of VM...
To start up the image again just call vagrant up
again
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'nickjhathaway/SeekDeep' is up to date...
==> default: Clearing any previously set forwarded ports...
....
....
....
Stopping the machine will cause it to no longer eat up RAM.
To save the current state of the image use vagrant susepnd
. This could end up saving a large amount of disk space as the RAM currently being used by the virtual machine will have to be saved.
==> default: Saving VM state and suspending execution...
To restart a suspended image in the state saved use vagrant resume
==> default: Resuming suspended VM...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2200
default: SSH username: vagrant
default: SSH auth method: private key
default: Warning: Connection refused. Retrying...
==> default: Machine booted and ready!
The benefit of doing this is saving the current state of the machine but it will no longer eat up RAM.