Geniac CLI

This section describes how to install and use the geniac Command Line Interface (CLI).

Install the geniac command line interface

# Create the geniac conda environment (use conda >= 4.12.0)
export GENIAC_CONDA="https://raw.githubusercontent.com/bioinfo-pf-curie/geniac/release/environment.yml"
wget ${GENIAC_CONDA}
conda env create -f environment.yml
conda activate geniac

Tip

All the geniac CLI comes with the -v option (verbosity) which can be useful to describes what runs the command step by step.

Initiate a geniac working directory

# Initialization of a working directory
# with the src and build folders
geniac init -w ${WORK_DIR} ${GIT_URL}
cd ${WORK_DIR}

Check the code with the geniac linter

Once in the geniac working directory, you can check that the guidelines to Add a process have been correctly implemented.

cd ${WORK_DIR}
geniac lint

You can also provide a path to the source code of your pipeline:

geniac lint /PATH/TO/DIRECTORY

Tip

The default configuration file for the geniac linter is available in the file src/geniac/conf/geniac.ini. It defines which files are parsed and what is checked by the geniac linter. You can pass a custom file to the linter using the -c option.

For more options run geniac -h and geniac lint -h.

Install the pipeline with the singularity images

# Install the pipeline with the singularity images
cd ${WORK_DIR}
geniac install . ${INSTALL_DIR} -m singularity

This installation requires sudo privileges. Another alternative is to use the fakeroot option provided that the system administrator allowed you to use this option.

# Install the pipeline with the singularity images
cd ${WORK_DIR}
geniac install . ${INSTALL_DIR} -m singularityfakeroot

For more options run geniac install -h.

Install the pipeline using existing singularity images

# Install the pipeline using existing singularity images
cd ${WORK_DIR}
geniac install . ${INSTALL_DIR} --ap_singularity_image_path=/path/to/singularity/images

For more options run geniac install -h.

Generate the configuration files

# Generate the config files
cd ${WORK_DIR}
geniac configs

The config files will be available in the folder ${WORK_DIR}/configs

Generate the container recipes

# Generate the container recipes
cd ${WORK_DIR}
geniac recipes

The config files will be available in the folder ${WORK_DIR}/recipes for both docker and singularity.

If you want to generate and install the container recipes do:

# Generate and install the container recipes
cd ${WORK_DIR}
geniac install . ${INSTALL_DIR} --ap_install_singularity_recipes --ap_install_docker_recipes

Test the pipeline with the singularity profile

# Test the pipeline with the singularity profile
cd ${WORK_DIR}
geniac test singularity

Test the pipeline with the singularity and cluster profiles

# Test the pipeline with the singularity profile
cd ${WORK_DIR}
geniac test singularity --check-cluster

Clean the geniac work directory

You can clean the build directory as follows:

# Clean the build directory
cd ${WORK_DIR}
geniac clean

List available cmake options

# List available cmake options
cd ${WORK_DIR}
geniac options