From 224c42c6748d69ac2e6bd296c39d24877ad3248c Mon Sep 17 00:00:00 2001 From: slarson Date: Thu, 4 Jan 2018 23:52:19 -0800 Subject: [PATCH 01/20] Begin pointing to authoritative repos And version bump --- Dockerfile | 16 ++++++++-------- build.sh | 2 +- master_openworm.py | 2 +- run-shell-only.sh | 2 +- run.sh | 2 +- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Dockerfile b/Dockerfile index 3694700..f6c5238 100644 --- a/Dockerfile +++ b/Dockerfile @@ -77,16 +77,16 @@ WORKDIR $HOME RUN mkdir neuron && \ cd neuron && \ - git clone https://github.com/lungd/iv.git && \ - git clone https://github.com/lungd/nrn.git && \ + git clone https://github.com/nrnhines/iv.git && \ + git clone https://github.com/nrnhines/nrn.git && \ cd iv && \ - git checkout ow-0.1 && \ + git checkout 76c123b && \ ./build.sh && \ ./configure --prefix=`pwd` && \ make && \ sudo make install && \ cd ../nrn && \ - git checkout ow-0.1 && \ + git checkout e0950a1 && \ ./build.sh && \ ./configure --prefix=`pwd` --with-iv=$HOME/neuron/iv --with-nrnpython=/usr/bin/python --with-paranrn && \ make && \ @@ -115,9 +115,9 @@ RUN wget http://registrationcenter-download.intel.com/akdlm/irc_nas/vcp/11705/in rm intel_sdk_for_opencl_$INTEL_SDK_VERSION.tgz && \ sudo rm /tmp/silent-intel-sdk.cfg -RUN git clone https://github.com/lungd/jNeuroML.git && \ +RUN git clone https://github.com/NeuroML/jNeuroML.git && \ cd jNeuroML && \ - git checkout ow-0.1 && \ + git checkout 485e905 && \ python getNeuroML.py ow-0.1 RUN git clone https://github.com/lungd/pyNeuroML.git && \ @@ -125,9 +125,9 @@ RUN git clone https://github.com/lungd/pyNeuroML.git && \ git checkout ow-0.1 && \ sudo python setup.py install -RUN git clone https://github.com/lungd/PyOpenWorm.git && \ +RUN git clone https://github.com/openworm/PyOpenWorm.git && \ cd PyOpenWorm && \ - git checkout ow-0.1 && \ + git checkout 7ff1266 && \ sudo python setup.py install RUN git clone https://github.com/lungd/CElegansNeuroML.git && \ diff --git a/build.sh b/build.sh index fec3d34..f545f9e 100755 --- a/build.sh +++ b/build.sh @@ -1,3 +1,3 @@ #!/bin/bash -docker build -t "openworm/openworm:0.7" . +docker build -t "openworm/openworm:0.8" . diff --git a/master_openworm.py b/master_openworm.py index 8334e4f..1f3e56c 100644 --- a/master_openworm.py +++ b/master_openworm.py @@ -13,7 +13,7 @@ import math print("****************************") -print("OpenWorm Master Script v.0.7") +print("OpenWorm Master Script v.0.8") print("****************************") print("") print("This script attempts to run a full pass through the OpenWorm scientific libraries.") diff --git a/run-shell-only.sh b/run-shell-only.sh index 16ece38..79d29da 100755 --- a/run-shell-only.sh +++ b/run-shell-only.sh @@ -13,6 +13,6 @@ docker run -ti \ -v /tmp/.X11-unix:/tmp/.X11-unix:rw \ --privileged \ -v $HOST_OUT_DIR:$OW_OUT_DIR:rw \ - openworm/openworm:0.7 \ + openworm/openworm:0.8 \ bash diff --git a/run.sh b/run.sh index 9c98dad..a787e9f 100755 --- a/run.sh +++ b/run.sh @@ -13,5 +13,5 @@ docker run -d \ -v /tmp/.X11-unix:/tmp/.X11-unix:rw \ --privileged \ -v $HOST_OUT_DIR:$OW_OUT_DIR:rw \ - openworm/openworm:0.7 \ + openworm/openworm:0.8 \ python master_openworm.py From 92dd42db422662650e1b8cd1eaa2a68196bc918d Mon Sep 17 00:00:00 2001 From: slarson Date: Mon, 15 Jan 2018 12:21:04 -0500 Subject: [PATCH 02/20] Incorporate NeuroML version of pyNeuroML post-merge --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index f6c5238..871d3bc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -120,9 +120,9 @@ RUN git clone https://github.com/NeuroML/jNeuroML.git && \ git checkout 485e905 && \ python getNeuroML.py ow-0.1 -RUN git clone https://github.com/lungd/pyNeuroML.git && \ +RUN git clone https://github.com/NeuroML/pyNeuroML.git && \ cd pyNeuroML && \ - git checkout ow-0.1 && \ + git checkout db6c39f && \ sudo python setup.py install RUN git clone https://github.com/openworm/PyOpenWorm.git && \ From 2e40e54feb6b9f705eda718a49307a0c00c6d53f Mon Sep 17 00:00:00 2001 From: Padraig Gleeson Date: Tue, 16 Jan 2018 20:16:34 +0000 Subject: [PATCH 03/20] Changes to test pgleeson mods --- Dockerfile | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/Dockerfile b/Dockerfile index 871d3bc..fd236cf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -117,12 +117,12 @@ RUN wget http://registrationcenter-download.intel.com/akdlm/irc_nas/vcp/11705/in RUN git clone https://github.com/NeuroML/jNeuroML.git && \ cd jNeuroML && \ - git checkout 485e905 && \ - python getNeuroML.py ow-0.1 + git checkout development && \ + python getNeuroML.py development RUN git clone https://github.com/NeuroML/pyNeuroML.git && \ cd pyNeuroML && \ - git checkout db6c39f && \ + git checkout master && \ sudo python setup.py install RUN git clone https://github.com/openworm/PyOpenWorm.git && \ @@ -130,13 +130,11 @@ RUN git clone https://github.com/openworm/PyOpenWorm.git && \ git checkout 7ff1266 && \ sudo python setup.py install -RUN git clone https://github.com/lungd/CElegansNeuroML.git && \ - cd CElegansNeuroML && \ - git checkout ow-0.1 +RUN git clone https://github.com/openworm/CElegansNeuroML.git -RUN git clone https://github.com/lungd/sibernetic.git && \ +RUN git clone https://github.com/pgleeson/sibernetic.git && \ cd sibernetic && \ - git checkout ow-0.1 && \ + git checkout development && \ make clean && make all ENV JNML_HOME=$HOME/jNeuroML From 4af574f09079d6cc72a26ae10e06b89eea372414 Mon Sep 17 00:00:00 2001 From: Padraig Gleeson Date: Fri, 19 Jan 2018 16:22:32 +0000 Subject: [PATCH 04/20] Add readme in output --- .gitignore | 1 + output/README.md | 1 + 2 files changed, 2 insertions(+) create mode 100644 .gitignore create mode 100644 output/README.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..354da5c --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/output/* diff --git a/output/README.md b/output/README.md new file mode 100644 index 0000000..95fabd3 --- /dev/null +++ b/output/README.md @@ -0,0 +1 @@ +The output produced after running simulations in the Docker container will be saved here (in your native filesystem). From dac372b88f3268bf7194e6c8501adad899e11d4c Mon Sep 17 00:00:00 2001 From: Padraig Gleeson Date: Fri, 26 Jan 2018 17:18:53 +0000 Subject: [PATCH 05/20] Added branches in CElegans and sibernetic with stable version with updated connectome @slarson please test! --- Dockerfile | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index fd236cf..4751afd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -130,11 +130,13 @@ RUN git clone https://github.com/openworm/PyOpenWorm.git && \ git checkout 7ff1266 && \ sudo python setup.py install -RUN git clone https://github.com/openworm/CElegansNeuroML.git +RUN git clone https://github.com/openworm/CElegansNeuroML.git && \ + cd CElegansNeuroML && \ + git checkout ow-0.8 -RUN git clone https://github.com/pgleeson/sibernetic.git && \ +RUN git clone https://github.com/openworm/sibernetic.git && \ cd sibernetic && \ - git checkout development && \ + git checkout ow-0.8 && \ make clean && make all ENV JNML_HOME=$HOME/jNeuroML From 522213ac0eed517d71ea127f985fa0a3e64419a2 Mon Sep 17 00:00:00 2001 From: slarson Date: Sun, 11 Feb 2018 19:47:28 -0500 Subject: [PATCH 06/20] Attempt at parameter for sim duration --- master_openworm.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/master_openworm.py b/master_openworm.py index d14275d..68d3557 100644 --- a/master_openworm.py +++ b/master_openworm.py @@ -106,8 +106,11 @@ def execute_with_realtime_output(command, directory, env=None): print("Unexpected error: %s" % sys.exc_info()[0]) raise +sim_duration = 15.0 +if 'DURATION' in os.environ: + sim_duration = os.environ['DURATION'] -DEFAULTS = {'duration': 15.0, # 50 ms +DEFAULTS = {'duration': sim_duration, # 50 ms 'dt': 0.005, 'dtNrn': 0.05, 'logstep': 100, From c4cb3174788d700c53bb9ae01722510a24c2cbfe Mon Sep 17 00:00:00 2001 From: slarson Date: Sun, 11 Feb 2018 20:26:31 -0500 Subject: [PATCH 07/20] Improve adding parameter for duration --- README.md | 2 +- master_openworm.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index efafcb6..730fb56 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,7 @@ To Install: Try the following to play around with the system: -* Open a terminal and run `run-shell-only.sh`. This will let you log into the system before it has run `master_openworm.py`. From here you can inspect the internals of the various checked out code bases and installed systems and modify things. Afterwards you'll still need to run `stop.sh` to clean up. +* Before the main run command try `export DURATION=50` if you want to run a 50 millisecond simulation that captures the time period in the video. You can use any arbitrary number here that you like. * If you modify what gets installed, you should modify Dockerfile. If you modify what runs, you should modify `master_openworm.py`. Either way you will need to run `build.py` in order to rebuild the image locally. Afterwards you can run normally. Documentation diff --git a/master_openworm.py b/master_openworm.py index 68d3557..ea4ef65 100644 --- a/master_openworm.py +++ b/master_openworm.py @@ -108,7 +108,7 @@ def execute_with_realtime_output(command, directory, env=None): sim_duration = 15.0 if 'DURATION' in os.environ: - sim_duration = os.environ['DURATION'] + sim_duration = float(os.environ['DURATION']) DEFAULTS = {'duration': sim_duration, # 50 ms 'dt': 0.005, From 228796f3aeb735e69b8aecf7386dee11eda90e9f Mon Sep 17 00:00:00 2001 From: slarson Date: Sun, 11 Feb 2018 20:56:52 -0500 Subject: [PATCH 08/20] Simplified run + first argument --- README.md | 17 ++++++++++------- run.sh | 49 +++++++++++++++++++++++++++++++++++++++---------- 2 files changed, 49 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 730fb56..20c95a3 100644 --- a/README.md +++ b/README.md @@ -39,17 +39,20 @@ To Install: **Running** -1. Open a terminal and run `run-shell-only.sh`. -2. Run `DISPLAY=:44 python master_openworm.py`. -3. About 5-10 minutes of output will display on the screen as the steps run. -4. The simulation will end. Exit the container with `exit` and run `stop.sh` on your system to clean up the running container. -5. Inspect the output in the `output` directory. +1. Open a terminal and run `run.sh`. +2. About 5-10 minutes of output will display on the screen as the steps run. +3. The simulation will end. Exit the container with `exit` and run `stop.sh` on your system to clean up the running container. +4. Inspect the output in the `output` directory. **Advanced** -Try the following to play around with the system: +***Arguments*** -* Before the main run command try `export DURATION=50` if you want to run a 50 millisecond simulation that captures the time period in the video. You can use any arbitrary number here that you like. +* -d [num] : Use to modify the duration of the simulation in milliseconds. Default is 15. Use 50 to run for time to make full movie above. + +***Other things to try*** + +* Open a terminal and run `run-shell-only.sh`. This will let you log into the system before it has run `master_openworm.py`. From here you can inspect the internals of the various checked out code bases and installed systems and modify things. Afterwards you'll still need to run `stop.sh` to clean up. * If you modify what gets installed, you should modify Dockerfile. If you modify what runs, you should modify `master_openworm.py`. Either way you will need to run `build.py` in order to rebuild the image locally. Afterwards you can run normally. Documentation diff --git a/run.sh b/run.sh index a787e9f..a96dfce 100755 --- a/run.sh +++ b/run.sh @@ -1,17 +1,46 @@ #!/bin/bash +#from: https://unix.stackexchange.com/a/129401 +while getopts ":d:p:" opt; do + case $opt in + d) duration="$OPTARG" + ;; + p) p_out="$OPTARG" + ;; + \?) echo "Invalid option -$OPTARG" >&2 + ;; + esac +done + OW_OUT_DIR=/home/ow/shared HOST_OUT_DIR=$PWD xhost + -docker run -d \ - --name openworm \ - --device=/dev/dri:/dev/dri \ - -e DISPLAY=$DISPLAY \ - -e OW_OUT_DIR=$OW_OUT_DIR \ - -v /tmp/.X11-unix:/tmp/.X11-unix:rw \ - --privileged \ - -v $HOST_OUT_DIR:$OW_OUT_DIR:rw \ - openworm/openworm:0.8 \ - python master_openworm.py +if [ -z "$duration" ] +then #duration is not set, don't use it + docker run -d \ + --name openworm \ + --device=/dev/dri:/dev/dri \ + -e DISPLAY=$DISPLAY \ + -e OW_OUT_DIR=$OW_OUT_DIR \ + -v /tmp/.X11-unix:/tmp/.X11-unix:rw \ + --privileged \ + -v $HOST_OUT_DIR:$OW_OUT_DIR:rw \ + openworm/openworm:0.8 \ + bash -c "DISPLAY=:44 python master_openworm.py" +else #Duration is set, use it. + docker run -d \ + --name openworm \ + --device=/dev/dri:/dev/dri \ + -e DISPLAY=$DISPLAY \ + -e DURATION=$duration \ + -e OW_OUT_DIR=$OW_OUT_DIR \ + -v /tmp/.X11-unix:/tmp/.X11-unix:rw \ + --privileged \ + -v $HOST_OUT_DIR:$OW_OUT_DIR:rw \ + openworm/openworm:0.8 \ + bash -c "DISPLAY=:44 python master_openworm.py" +fi + +docker logs -f openworm From d72705cc0e733a3b35c99f2185a9516cdc4ff12a Mon Sep 17 00:00:00 2001 From: slarson Date: Sun, 11 Feb 2018 21:16:19 -0500 Subject: [PATCH 09/20] Specific versions so they don't change on rebuild in future --- Dockerfile | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 4751afd..e53ae14 100644 --- a/Dockerfile +++ b/Dockerfile @@ -117,12 +117,16 @@ RUN wget http://registrationcenter-download.intel.com/akdlm/irc_nas/vcp/11705/in RUN git clone https://github.com/NeuroML/jNeuroML.git && \ cd jNeuroML && \ - git checkout development && \ - python getNeuroML.py development + #Checking out specific commit on development: + # https://github.com/NeuroML/jNeuroML/commit/777ee99372817139cd5b571974a00dcb02aaa0b4 + git checkout 777ee99 && \ + python getNeuroML.py 777ee99 RUN git clone https://github.com/NeuroML/pyNeuroML.git && \ cd pyNeuroML && \ - git checkout master && \ + #Checking out specific commit on master: + https://github.com/NeuroML/pyNeuroML/commit/57b411292905465f414b68d045b41cba1f246dde + git checkout 57b4112 && \ sudo python setup.py install RUN git clone https://github.com/openworm/PyOpenWorm.git && \ @@ -136,7 +140,9 @@ RUN git clone https://github.com/openworm/CElegansNeuroML.git && \ RUN git clone https://github.com/openworm/sibernetic.git && \ cd sibernetic && \ - git checkout ow-0.8 && \ + # fixed to a specific commit in development branch: + # https://github.com/openworm/sibernetic/commit/3eb9914db040fff852cba76ef8f4f39d0bed3294 + git checkout 3eb9914 && \ make clean && make all ENV JNML_HOME=$HOME/jNeuroML From 6abca4fdb31e091f3ff7cb6f22051261f73f8e53 Mon Sep 17 00:00:00 2001 From: slarson Date: Sun, 11 Feb 2018 21:33:00 -0500 Subject: [PATCH 10/20] Readme improvements --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 20c95a3..8cb0137 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ We are using a bottom-up approach, aimed at observing the worm behaviour emerge Quickstart ---------- -We have put together a [docker container](http://docker.com) that pulls together the major components of our simulation and runs it on your machine. When you get it all running it do the following: +We have put together a [docker container](http://docker.com) that pulls together the major components of our simulation and runs it on your machine. When you get it all running it does the following: 1. Run our nervous system model, known as [c302](https://github.com/openworm/CElegansNeuroML/tree/master/CElegans/pythonScripts/c302), on your computer. 2. Run our body model, known as [Sibernetic](https://github.com/openworm/sibernetic), on your computer, using the output of the nervous system model. @@ -39,7 +39,8 @@ To Install: **Running** -1. Open a terminal and run `run.sh`. +1. Open a terminal and run: `git clone http://github.com/openworm/openworm`; `cd openworm` +1. Run `./run.sh`. 2. About 5-10 minutes of output will display on the screen as the steps run. 3. The simulation will end. Exit the container with `exit` and run `stop.sh` on your system to clean up the running container. 4. Inspect the output in the `output` directory. From 32c703d492db5748e4a61590c826e6c48201bb5e Mon Sep 17 00:00:00 2001 From: slarson Date: Sun, 11 Feb 2018 21:45:48 -0500 Subject: [PATCH 11/20] Modifying total time needed for big simulation --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8cb0137..e83056a 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,7 @@ To Install: ***Arguments*** -* -d [num] : Use to modify the duration of the simulation in milliseconds. Default is 15. Use 50 to run for time to make full movie above. +* -d [num] : Use to modify the duration of the simulation in milliseconds. Default is 15. Use 5000 to run for time to make the full movie above. ***Other things to try*** From a76d48102271a4eb9f3b6d249f0f74a8d1c9251e Mon Sep 17 00:00:00 2001 From: Stephen Larson Date: Mon, 12 Feb 2018 11:17:57 -0500 Subject: [PATCH 12/20] Removing spurious comment, adding clarifying comment --- master_openworm.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/master_openworm.py b/master_openworm.py index ea4ef65..553479a 100644 --- a/master_openworm.py +++ b/master_openworm.py @@ -106,11 +106,12 @@ def execute_with_realtime_output(command, directory, env=None): print("Unexpected error: %s" % sys.exc_info()[0]) raise +#Default is 15 ms of simulation time. sim_duration = 15.0 if 'DURATION' in os.environ: sim_duration = float(os.environ['DURATION']) -DEFAULTS = {'duration': sim_duration, # 50 ms +DEFAULTS = {'duration': sim_duration, 'dt': 0.005, 'dtNrn': 0.05, 'logstep': 100, From 43aba17423b6b83906e6909a66acccaf7c602f52 Mon Sep 17 00:00:00 2001 From: Padraig Gleeson Date: Mon, 12 Feb 2018 17:28:41 +0000 Subject: [PATCH 13/20] Using tagged version of pyNeuroML Note @slarson, @lungd, jneuroml is not required in the Docker image independently, it's bundled with pyneuroml; any command line functionality can be accessed by using pynml aot jnml --- Dockerfile | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/Dockerfile b/Dockerfile index e53ae14..622fd49 100644 --- a/Dockerfile +++ b/Dockerfile @@ -114,19 +114,10 @@ RUN wget http://registrationcenter-download.intel.com/akdlm/irc_nas/vcp/11705/in cd $HOME && \ rm intel_sdk_for_opencl_$INTEL_SDK_VERSION.tgz && \ sudo rm /tmp/silent-intel-sdk.cfg - -RUN git clone https://github.com/NeuroML/jNeuroML.git && \ - cd jNeuroML && \ - #Checking out specific commit on development: - # https://github.com/NeuroML/jNeuroML/commit/777ee99372817139cd5b571974a00dcb02aaa0b4 - git checkout 777ee99 && \ - python getNeuroML.py 777ee99 RUN git clone https://github.com/NeuroML/pyNeuroML.git && \ cd pyNeuroML && \ - #Checking out specific commit on master: - https://github.com/NeuroML/pyNeuroML/commit/57b411292905465f414b68d045b41cba1f246dde - git checkout 57b4112 && \ + git checkout ow-0.8a && \ sudo python setup.py install RUN git clone https://github.com/openworm/PyOpenWorm.git && \ From 1e702d1f8160eb1871868875a0827e64c832c9f6 Mon Sep 17 00:00:00 2001 From: Stephen Larson Date: Sat, 17 Feb 2018 18:03:16 -0500 Subject: [PATCH 14/20] FAQ by @mstachowsky (thanks!!) --- README.md | 38 +++++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e83056a..888476b 100644 --- a/README.md +++ b/README.md @@ -56,10 +56,46 @@ To Install: * Open a terminal and run `run-shell-only.sh`. This will let you log into the system before it has run `master_openworm.py`. From here you can inspect the internals of the various checked out code bases and installed systems and modify things. Afterwards you'll still need to run `stop.sh` to clean up. * If you modify what gets installed, you should modify Dockerfile. If you modify what runs, you should modify `master_openworm.py`. Either way you will need to run `build.py` in order to rebuild the image locally. Afterwards you can run normally. +### FAQ + +#### **What is the docker container?** + +The docker container is a self-contained environment in which you can run openworm simulations. It's fully setup to get you started by following the steps above. At the moment, it runs simulations and produces visualizations for you, but these visualizations must be viewed outside of the docker container. + +#### **Is it possible to modify the simulation without having to run `build.py`?** + +Yes, but it is marginally more complex. The easiest way is to modify anything in the docker container once you are inside of it - it will work just like a bash shell. If you want to modify any code in the container, you'll need to use an editor that runs in the terminal, like nano. Once you've modified something in the container, you don't need to re-build. However, if you run `stop.sh` once you exit, those changes will be gone. + +#### **How do I access more data than what is already output?** + +The simulation by default outputs only a few figures and movies to your home system (that is, outside of the docker container). If you want to access the entire output of the simulation, you will need to copy it from the docker container. + +For example, say you want to extract the worm motion data. This is contained in the file `worm_motion_log.txt`, which is found in the `/home/ow/sibernetic/simulations/[SPECIFIC_TIMESTAMPED_DIRECTORY]/worm_motion_log.txt`. The directory `[SPECIFIC_TIMESTAMPED_DIRECTORY]` will have a name like `C2_FW_2018_02-12_18-36-32`, and its name can be found by checking the `output` directory. This is actually the main output directory for the simulation, and contains all output, including cell modelling and worm movement. + +Once the simulation ends and you exit the container with `exit`, but before you run `stop.sh`, run the following command from the openworm-docker-master folder: + +`docker cp openworm:/home/ow/sibernetic/simulations/[SPECIFIC_TIMESTAMPED_DIRECTORY]/worm_motion_log.txt ./worm_motion_log.txt` + +This will copy the file from the docker container, whose default name is `openworm`. **It is crucial that you do not run `stop.sh` before trying to get your data out (see below)** + +#### **What is the difference between `exit` and `stop.sh`?** + +When you are in the Docker Container `openworm`, and are done interacting with it, you type `exit` to return to your system's shell. This stops execution of anything in the container, and that container's status is now `Exited`. If you try to re-start the process using `run-shell-only.sh`, you will get an error saying that the container already exists. You can choose, at this point, to run `stop.sh`. Doing so will remove the container and any files associated with it, allowing you to run a new simulation. However, if you don't want to remove that container, you will instead want to re-enter it. + +#### **How do I enter a container I just exited?** + +If you run `stop.sh` you'll delete your data and reset the container for a new run. If, however, you don't want to do that, you can re-enter the docker container like this: + + sudo docker exec -it openworm bash + +You'll need to enter your su password. This tells docker to all you to *execute* commands (`exec`) with an *interactive, tty* (`-it`) bash (`bash`) shell in the container `openworm`. + +You'll be able to interact with the container as before. + Documentation ------------- Find out more about OpenWorm. Documentation is available at [http://docs.openworm.org](http://docs.openworm.org). [Join us on Slack](http://bit.ly/OpenWormVolunteer). This repository references: * A project-wide [Kanban board of all issues](https://waffle.io/openworm/openworm) -* Project-wide tracking via high-level [issues](https://github.com/openworm/OpenWorm/issues?labels=&milestone=&page=1&state=open) and [milestones](https://github.com/openworm/OpenWorm/milestones) \ No newline at end of file +* Project-wide tracking via high-level [issues](https://github.com/openworm/OpenWorm/issues?labels=&milestone=&page=1&state=open) and [milestones](https://github.com/openworm/OpenWorm/milestones) From c7f664040b9f4bf5f4c2e0e72d194d98a0aa4d26 Mon Sep 17 00:00:00 2001 From: slarson Date: Sat, 17 Feb 2018 18:16:08 -0500 Subject: [PATCH 15/20] Updated .gitignore --- .gitignore | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.gitignore b/.gitignore index 354da5c..bf2ca38 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,7 @@ +<<<<<<< Updated upstream /output/* +======= + +.DS_Store +output/* +>>>>>>> Stashed changes From b12cccb5392cd108c2152044ada22f921b2ada48 Mon Sep 17 00:00:00 2001 From: Stephen Larson Date: Sun, 18 Feb 2018 11:41:02 -0500 Subject: [PATCH 16/20] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 888476b..ce3d3c4 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ We have put together a [docker container](http://docker.com) that pulls together -**NOTE**: Running the simulation for the full amount of time would produce content like the above. However, in order to run in a reasonable amount of time, the default run time for the simulation is limited. As such, you will see only a partial output, equivalent to about 5% of run time, compared to the examples above. +**NOTE**: Running the simulation for the full amount of time would produce content like the above. However, in order to run in a reasonable amount of time, the default run time for the simulation is limited. As such, you will see only a partial output, equivalent to about 5% of run time, compared to the examples above. To extend the run time, use the `-d` argument as described below. **Installation** From b0b638e7e796c484f4f1624cccdc2ca339731903 Mon Sep 17 00:00:00 2001 From: Stephen Larson Date: Sun, 18 Feb 2018 11:43:43 -0500 Subject: [PATCH 17/20] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ce3d3c4..9d6de44 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ We have put together a [docker container](http://docker.com) that pulls together Pre-requisites: -1. Currently Windows is not supported; you will need Mac OS or Linux (or a virtual environment on Windows that runs either of those). +1. Currently Windows is not supported (see https://github.com/openworm/OpenWorm/issues/263); you will need Mac OS or Linux (or a virtual environment on Windows that runs either of those). 2. You should have at least 60 GB of free space on your machine and at least 2GB of RAM To Install: From 68e595bafc6042c87600986a76901c03b18d2ab5 Mon Sep 17 00:00:00 2001 From: slarson Date: Mon, 19 Feb 2018 14:01:10 -0500 Subject: [PATCH 18/20] Switching from branch to specific commit --- Dockerfile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 622fd49..6c29ff2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -127,7 +127,9 @@ RUN git clone https://github.com/openworm/PyOpenWorm.git && \ RUN git clone https://github.com/openworm/CElegansNeuroML.git && \ cd CElegansNeuroML && \ - git checkout ow-0.8 + # Pointing this at a recent commit that adds python 3 support! + # https://github.com/openworm/CElegansNeuroML/commit/c8b13642d79335bb8157431b83624e33d50a166e + git checkout c8b1364 RUN git clone https://github.com/openworm/sibernetic.git && \ cd sibernetic && \ From 95a291c607f31be2795df393b4d8af612e16575e Mon Sep 17 00:00:00 2001 From: slarson Date: Mon, 19 Feb 2018 14:02:05 -0500 Subject: [PATCH 19/20] Gitignore update --- .gitignore | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index bf2ca38..e6612d3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,3 @@ -<<<<<<< Updated upstream -/output/* -======= - .DS_Store output/* ->>>>>>> Stashed changes + From e3d5f59837c0d60a0738215dc4f026963dd76a8a Mon Sep 17 00:00:00 2001 From: slarson Date: Mon, 19 Feb 2018 14:03:34 -0500 Subject: [PATCH 20/20] Gitignore tweak --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index e6612d3..50dd847 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ .DS_Store -output/* +output/C2*