Add minimalistic Docker testing capabilities develop
authorDmitry Shulga <shulga@qsar.chem.msu.ru>
Wed, 07 Sep 2022 15:50:31 +0300
branchdevelop
changeset 6 3b418f9b24c0
parent 5 fbc02d3d34ca
child 7 99cf857dd429
Add minimalistic Docker testing capabilities
Readme.md
bin/docker_test.sh
docker/Dockerfile
--- a/Readme.md	Wed Sep 07 14:23:52 2022 +0300
+++ b/Readme.md	Wed Sep 07 15:50:31 2022 +0300
@@ -33,9 +33,14 @@
 - Python3
 - RDKit version 2020.03 or later
 
+An Ubuntu 22.04 based Docker container is supplied and is run for the test by issuing in the base directory of the project
+
+>./bin/docker_test.sh
+
 **Examples of application**
-TODO: insert
+The test supplied splits two known drugs with DrugBank IDs DB00176 and DB08865 into fragments.
+The pictures and the fragments could be found in files directory after the run.
 
 **Scientific references**
-TODO: insert
+TODO: update once the paper is published
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bin/docker_test.sh	Wed Sep 07 15:50:31 2022 +0300
@@ -0,0 +1,26 @@
+#!/bin/bash
+#
+# Run a simple test for MedChem_Fragment_Splitter using docker image
+#
+
+# 1. first, build the docker image. 
+# NB: this step will be automatically omitted by docker once the image was built
+
+BASE_DIR=$( dirname $(dirname $(readlink -f ${0}) ) )
+echo -e "BASE_DIR=[${BASE_DIR}]"
+
+DOCKER_DIR="${BASE_DIR}/docker"
+CUR_PWD=$(pwd)
+cd ${DOCKER_DIR}
+echo -e "\n\tRUNNING docker build -t mcfs ."
+docker build -t mcfs .
+echo -e "\n\tDONE\n"
+cd ${CUR_PWD}
+
+# 2. second, run the test from files directory
+echo -e "\n\tRUNNING TEST"
+docker run --rm -it --name medchem_fragment_splitter -v $(pwd):/opt/mcfs \
+    --user "$(id -u):$(id -g)" mcfs \
+    /bin/bash -c "cd /opt/mcfs/files; ./test.sh"
+echo -e "\n\tDONE\n"
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docker/Dockerfile	Wed Sep 07 15:50:31 2022 +0300
@@ -0,0 +1,12 @@
+# Ubuntu 22.04 contains fresh RDKit in its repos
+FROM ubuntu:22.04
+
+# Install only what is required for the project above the clean system
+RUN apt-get update && apt-get upgrade -y && \
+	apt-get install -y python3-rdkit  
+
+# CharegeParameterFitting project source is mapped here in a container
+VOLUME /opt/mcfs
+
+# By default, build the project and run functional tests in it
+CMD ["/opt/mcfs/files/test.sh", "/opt/mcfs"]