.. include:: substitutions.rst .. _overview-page: *********** Get started *********** This section just provides a general overview of the guidelines for the structure of the source code directory and the naming conventions. The most important guidelines are detailed in the :ref:`process-page` section. .. important:: It is important to note that the |geniacrepo|_ relies on the structure of the |geniactemplate|_ while the |geniactemplate|_ could work without the |geniacrepo|_ (provided that you generate manually the missing :ref:`profiles-page`). It means also that this documentation explains how the |geniactemplate|_ works with the |geniacrepo|_. All the examples shown in the documentation are taken from the |geniacdemo|_. You can clone this repository and reproduce what is presented. Prerequisites ============= The following software are required: * a Linux distribution * |nextflow|_ >= 24.04 * |git|_ >= 2.46 * |gitlfs|_ * |cmake|_ >= 3.30.2 * |make|_ >= 4.4.1 * |conda|_ >= 4.12.0 To use the containers, at least one of the following software is required: * |singularity|_ >= 3.8.5 or |apptainer|_ >= 1.0.0 * |docker|_ >= 18.0 * |podman|_ >= 3.4.4 .. _overview-source-tree: Test geniac on the geniac-demo pipeline ======================================= As a quick start, you can try the |geniacdemo|_ pipeline as follows: :: # 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 pip install geniac # Prepare the working directory for the use case export WORK_DIR="${HOME}/tmp/myPipeline" export INSTALL_DIR="${WORK_DIR}/install" export GIT_URL="https://github.com/bioinfo-pf-curie/geniac-demo.git" # Initialization of a working directory # with the src and build folders geniac init -w ${WORK_DIR} ${GIT_URL} cd ${WORK_DIR} # Check the code geniac lint # Install the pipeline geniac install . ${INSTALL_DIR} # Test the pipeline with the multiconda profile geniac test multiconda Start a new repository ====================== The best way to initiate your repository is to create a new |git|_ project from the |geniactemplate|_. Indeed, `geniac` expects that the repository contains specific folders and files that are already set up in the template. However, you can use `geniac` on an existing repository and you can follow the procedure described in the :ref:`faq-page`. .. _overview-naming: Naming convention ================= Variables --------- Use camelCase, for example ``outDir = './results'``. Channels -------- Use camelCase and add the suffix `Ch`, for example ``fastqFilesCh``. Files ----- Prefer camelCase (whenever possible as some tools expect specific pattern such as |multiqc|_ like ``_mqc`` suffix), for example ``someScript.sh``. For the scripts you develop and that are accessible in the ``bin/`` use the prefix **ap** (**a**\nalysis **p**\ipeline), for example ``apMyscript.sh``. This prefix makes it possible to distinguish the scripts you personally developed from those you retrieved from third parties. Environment variables --------------------- Use snake_case and upper case, for example ``MY_GLOBAL_VAR = "someValue"``.