Public | Automated Build

Last pushed: 8 months ago
Short Description
A containerized version of OrthoMCL.
Full Description

Download Run Script
Download the run script [[https://raw.githubusercontent.com/granek/OrthoMCL-docker/master/run_orthomcl.sh][run_orthomcl.sh]] (e.g. right click on the link and select "Save Link As ...")
Run the script
Within the Docker terminal run ~bash run_orthomcl.sh~ to launch the OrthoMCL container.
You should now have a bash shell in the OrthoMCL container that looks something like this:

#+BEGIN_SRC sh
root@a74d15695ca9:/#

#+END_SRC
* Generate OrthoMCL Configuration File
Download the config generation script into your docker container, and run it with the following commands
within your docker container*:

#+BEGIN_SRC sh
wget https://raw.githubusercontent.com/granek/OrthoMCL-docker/master/test_run/create_config.sh
bash create_config.sh > orthomcl.config

#+END_SRC
This should generate the config file ~orthomcl.config~ in the current directory in your docker container.
* Install the schema into MySQL database
Run it with the following command
within your docker container* to set up the database:

#+BEGIN_SRC sh
orthomclInstallSchema orthomcl.config

#+END_SRC

  • OrthoMCL Docker Details
    One-time Use
    Download the run script [[https://raw.githubusercontent.com/granek/OrthoMCL-docker/master/run_orthomcl_oneshot.sh][run_orthomcl_oneshot.sh]]. Run this script within the Docker terminal run ~bash run_orthomcl_oneshot.sh~ to launch the OrthoMCL container. This script cleans up after itself, which means that your session is completely obliterated once you exit. If you might want to resume your session, see Multi-time Use below.
    Multi-time Use
    If you expect to want to use OrthoMCL in several different sessions, you will want to run ~bash run_orthomcl.sh~. When you want to get out of your OrthoMCL session, but want to resume it later (technically this is detaching), use the "escape sequence" ~Ctrl-p~ + ~Ctrl-q~. This leaves the container running. To resume your orthomcl session use the command ~docker attach orthomcl-run~ within your "Docker Quickstart Terminal". Note that when you attach the shell will not print a prompt right away, just hit the enter/return key to get a prompt.

    Accidentally did ~exit~ in your OrthoMCL session? Don't worry, just run ~docker start orthomcl-run~ before ~docker attach orthomcl-run~.

    docker exec -ti orthomcl-run bash

    This is roughly equivalent to logging back into a server by ssh, after logging out.

    * Cleanup When Done
    Once you are completely done with OrthoMCL, you might want to get rid of the containers:
    #+BEGIN_SRC sh
    docker stop orthomcl-mysql
    docker rm orthomcl-run orthomcl-mysql
    #+END_SRC
    Accessing files on the host computer
    A Docker container is almost completely isolated from the host computer that it is running on. This prevents the container from doing nasty things to your computer, but also makes it a bit more difficult to interact with files that are residing on your computer. A simple way around this limitation is to mount a directory from the host computer into the Docker container. When you run ~bash run_orthomcl.sh~, the directory that you run it from (the "working directory") will automatically be mounted within the OrthoMCL container at the mountpoint ~/host_dir~. This means that you can read and write files that are in that directory. Try the following within your OrthoMCL container:
    #+BEGIN_SRC sh
    ls /host_dir
    echo "I am writing this from the future ... a docker container" > /host_dir/test_output.txt
    #+END_SRC

If you want to mount a different directory, just supply this as a full path when you run the orthomcl script ~bash run_orthomcl.sh FULL_PATH_TO_DATA~, and that directory will be mounted at ~/host_dir~ instead
OrthoMCL Configuration File
The github repo contains a script for automatically generating an OrthoMCL configuration file. There are two ways to generate the configuration file.
*
From repo
If you cloned the repo from github, and started things up by running the run_orthomcl.sh (or run_orthomcl_oneshot.sh) script in the repo directory, you can generate the configuration file by running the following command within your docker container:

#+BEGIN_SRC sh
bash /host_dir/test_run/create_config.sh > orthomcl.config

#+END_SRC

This should generate the config file in the current directory in your docker container. You can check this by running the following within your docker container:

#+BEGIN_SRC sh
cat orthomcl.config

#+END_SRC

If it worked, the second line should be the following (but probably with a different IP address):

#+BEGIN_SRC sh
dbConnectString=dbi:mysql:orthomcl:172.17.0.40:3306

#+END_SRC
** Download script
You can also download the config generation script into your docker container, and run it with the following commands
within your docker container*:

#+BEGIN_SRC sh
wget https://raw.githubusercontent.com/granek/OrthoMCL-docker/master/test_run/create_config.sh
bash create_config.sh > orthomcl.config

#+END_SRC
This should generate the config file in the current directory in your docker container. You can check this by running the following within your docker container:

#+BEGIN_SRC sh
cat orthomcl.config

#+END_SRC

If it worked, the second line should be the following (but probably with a different IP address):

#+BEGIN_SRC sh
dbConnectString=dbi:mysql:orthomcl:172.17.0.40:3306

#+END_SRC
OrthoMCL Image
*
Download OrthoMCL Image
The OrthoMCL image is automatically downloaded from Docker Hub by the run_orthomcl.sh script, but you can manually download it with the command ~docker pull granek/orthomcl~.
* Manual build of the OrthoMCL Image
If you want to build the OrthoMCL image instead of pulling it from Docker Hub, download [[https://raw.githubusercontent.com/granek/OrthoMCL-docker/master/Dockerfile][Dockerfile]] (or pull this repo), then run ~docker build -t orthomcl~ within the directory containing Dockerfile.

Docker Pull Command
Owner
granek
Source Repository

Comments (0)