Skip to content

Commit

Permalink
update doc
Browse files Browse the repository at this point in the history
  • Loading branch information
cokelaer committed Aug 5, 2020
1 parent 538487d commit 3302465
Show file tree
Hide file tree
Showing 3 changed files with 50 additions and 36 deletions.
64 changes: 34 additions & 30 deletions doc/dev.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@ Developer guide
tree structure
--------------

Recipes are in ./recipes where each sub directory is related to one container.
Inside a sub directory (e.g, R, conda) you may have several recipes.
Recipes are in the ./recipes directory with one sub-directory per tool or environment.
Inside a sub directory (e.g, R, conda) you may have several recipes for
different version

For example, for **damona** there is a directory called **damona**. Inside that
directory, if there is only one recipes, name it::
Expand All @@ -16,16 +17,6 @@ If you wish to have several recipes for different version, name it::

Singularity.damona_x.y.z

You may simplify it as::

Singularity.damona_x.y

if the micro version is 0 and ::

Singularity.damona_x

if the minor and micro version are 0 or unknown.

Naming convention
-----------------

Expand All @@ -38,13 +29,20 @@ it should be named as pkgname_x.y.z
build
-----

Add a Makefile wihh an entry for each Singularity. This will be useful for local
build.
To test the recipes, type::

damona build pkgname:x.y.z

Singularity recipes
--------------------

IF the class of image is executable, please add these lines::
We have three types of recipes:

1. executable
2. environment
3. sets of executables

If the class of image is executable, please add these lines::

%runscript
exec THE_EXE_NAME "$@"
Expand All @@ -53,6 +51,10 @@ so one can run it simply as ::

singularity run image.img

The class *environement* is suppose to be used to build other container. When
installing a *executable* container, a binary is created in ~/.config/damona/bin
but no such files are created for *environement*. The final class (set of
executables) is not yet implemented.

registry
---------
Expand All @@ -69,18 +71,20 @@ The different container types can be:

::

{
"Singularity_kraken_1.1": {
type": "executable"
"executables": {
"kraken": "kraken"
}
},
"Singularity_kraken_2": {
type": "executable"
"executables": {
"kraken2": "kraken2"
}
}
}

Singularity.kraken_1.1:
version: 1.1
download: library://cokelaer/damona/kraken:1.1
class: "exe"
binaries:
- kraken: "kraken"
Singularity.kraken_2.0.9:
version: 2.0.9
download: library://cokelaer/damona/kraken:2.0.9
class: "exe"
binaries:
- kraken2: "kraken2"

Where are stored the containers ?
----------------------------------

Currently containers are hosted in this collection: https://cloud.sylabs.io/library/cokelaer/damona
12 changes: 10 additions & 2 deletions doc/graph.rst
Original file line number Diff line number Diff line change
@@ -1,17 +1,25 @@
Relation between images
=======================

This image shows some examples of relations between containers.

We have three classes of containers in **damona**. The conda_4.7.12 for example
is an *environment* that allows us to build *executables* such as salmon,
fastqc, etc. A third class is the *set of executables*. This will create as many
executables as the developer provided in the registry.yaml file.

.. graphviz::

digraph foo {
bcl2fastq;
fastqc ;
"fastqc:0.11.9";
"r_4.0.2" ;
"r_3.7.3" ;
"r_4.0.2" -> "rnadiff:1.7.0";
"conda_4.7.12" -> "kraken_1.1";
"conda_4.7.12" -> "kraken_2.0";
"conda_4.7.12" -> "prokka";
"conda_4.7.12" -> "prokka:1.14.5";
"conda_4.7.12" -> "salmon:1.3.0";
}


Expand Down
10 changes: 6 additions & 4 deletions doc/userguide.rst
Original file line number Diff line number Diff line change
Expand Up @@ -91,11 +91,13 @@ found in damona::
this will find the recipes automatically and save the final container in
**salmon_1.3.0.img**.

Setup an environment
--------------------


Setup the environement
----------------------

Binaries are saved into ~/.config/damona/bin

To make those binaries available, change your path. For example under bash::

export PATH=~/.config/damona/bin:$PATH

To make it persisent add the previous line into your .bashrc file.

0 comments on commit 3302465

Please sign in to comment.