We used to have a virtual box, but we no longer serve it.
You can start using oligotyping from within a Docker image without installing anything on your computer.
Running the oligotyping docker image (for Linux users)
I assume the server you are working on has Docker installed, and the docker service is up and running. I run these commands on my Ubuntu Linux box to install Docker, and running it:
$ sudo apt-get install docker.io $ sudo service docker.io start
Now you can simply type this to get all the oligotyping tags available to you:
$ sudo docker pull meren/oligotyping
Here are the available tags as of today:
$ sudo docker images REPOSITORY TAG IMAGE ID CREATED SIZE meren/oligotyping latest (...) (...) 1.17GB meren/oligotyping 2.1 (...) (...) 1.17GB
Now you can simply type this to get the latest version running (or you can replace
latest with the version number you see in the list of TAGs):
$ sudo docker run --rm -it meren/oligotyping:latest
This will give you a new prompt in your terminal that will look like this:
:: oligotyping :: / >>>
And this is what you should see when you type ‘oligotype’ in the terminal:
:: oligotyping :: / >>> oligotype usage: oligotype [-h] [-o OUTPUT_DIRECTORY] [-c NUMBER_OF_AUTO_COMPONENTS] [--qual-scores-file QUAL SCORES FILE] [--qual-scores-dict QUAL SCORES DICT] [--qual-stats-dict QUAL STATS DICT] [-q MIN_BASE_QUALITY] [-C SELECTED_COMPONENTS] [-s MIN_NUMBER_OF_SAMPLES] [-a MIN_PERCENT_ABUNDANCE] [-A MIN_ACTUAL_ABUNDANCE] [-M MIN_SUBSTANTIVE_ABUNDANCE] [-t SAMPLE_NAME_SEPARATOR] [-l LIMIT_REPRESENTATIVE_SEQUENCES] [--limit-oligotypes-to LIMIT_OLIGOTYPES_TO] [-e EXCLUDE_OLIGOTYPES] [--quick] [--no-figures] [--blast-ref-db BLAST_REF_DB] [--colors-list-file COLORS_LIST_FILE] [--do-blast-search] [--no-display] [--skip-gen-html] [--generate-sets] [-K] [-S COS_SIM_TR] [-E FILEPATH] [--project PROJECT] [--skip-check-input-file] [--skip-basic-analyses] [--skip-gexf-network-file] [-T] [-N INTEGER] [--version] INPUT ALIGNMENT ENTROPY oligotype: error: too few arguments
Good? Good. You can press
D to go back to your host terminal.
Running the oligoytping docker image (for Mac OSX / Windows users)
First, you will need to install the Docker Toolbox. Once you have it installed, run ‘Docker Quickstart Terminal’ application. At the end, this is what you want to see:
Note the IP address (which is
192.168.99.100 in my case), becasue you will need it later. At this point, all you need to do is to run this command (note that you may need to change the version number):
docker run -p 8080:8080 -it meren/oligityping:latest
Docker will download all the necessary images, and will finally give you a prompt which will look like this:
:: oligotyping :: / >>>
How about my files?
You will soon realize that this new virtual environment in which you run oligotyping does not have access to the rest of your disk.
Let’s assume the data you would like to analyze using oligotyping is in a directory at
/home/meren/my_data. To have access to this directory from within the docker image, you can bind it to a directory in the virtual environment. Let’s assume, we want to have access to the content of
/my_data directory from within the docker image:
$ sudo docker run --rm -v /home/merenbey/my_data:/my_data -it meren/oligotyping:latest
That’s it. Here is a longer story:
$ pwd /home/meren $ ls my_data/ test.fa $ sudo docker run --rm -v /home/merenbey/my_data:/my_data -it meren/oligotyping:latest :: anvi`o :: / >>> ls /my_data/ test.fa
Rebuilding the docker image (for hackers)
This is the current Docker image for v2.1:
If you would like to rebuild the Docker image for oligotyping on your own server, you first need to get the Docker file:
wget https://gist.githubusercontent.com/meren/3b16c98b830e3796216b9d623ea2c2f4/raw/38e4188b0c21de89dd9eace5da361c9f9492f77d/Oligotyping_Dockerfile_v2.1.sh -O Dockerfile
Add/remove things you want, do your changes in the code, and build the new docker image (replace the username and tag with your preferences):
docker build -t meren/oligotyping:2.1 .
And optionally, push it to your account on the hub to allow other people run it easily (i.e., this is what I do to push the new images to my account):
docker push meren/oligotyping
Don’t hesitate to get in touch if you have any questions.