Frequently Asked Questions
---------------------------


**CulebrONT report does not show Quast results**

- To observe results on CulebrONT final report you have to transfer the whole of repertory. ``FINAL_RESULTS`` contains QUAST directory and also the ``snakemake-report.htlm`` who is generated by snakemake argument --report.


**Error validating model from --model argument**

- This error is obtained if you are not bind your singularity. It's necessary to launch snakemake command line by using ``--singularity-args '--bind $HOME'``  arguments.


**How much space does it take to install the CulebrONT dependencies?**

- Built containers singularity.culebront_tools.sif and singularity.report.sig take 5G and 781M respectively.

**Recommended Snakemake command line to launch CulebrONT**

.. code-block:: bash

    snakemake --nolock --use-singularity --singularity-args '--bind $HOME' --cores -p -s Snakefile --latency-wait 6000000 --keep-going --restart-times 0 --rerun-incomplete --configfile config.yaml

- Bind mount disks to singularity environment by using ``--singularity-args '--bind $HOME'``. This allows to detect others disks on the singularity container.


**How to include others SLURM options on cluster_config.yaml**

   When a SLUMR profile is created, default slurm options are created in a 'RESOURCE_MAPPING' dictionary on the profiles/CulebrONT/slurm-submit.py script. You can add other keys into this dictionary (ex. nodelist) and populate ``cluster_config.yaml`` with new options.


**The conda command is not available in the shell /bin/bash that will be used by Snakemake**

Please check conda installation. On i-Trop cluster you can add it on sbatch script. you have to adapt it to your favorite cluster.

.. code-block:: bash

    module load system/Miniconda3/1.0

    env=/home/$(whoami)/.conda/envs/snakemake
    [ ! -d $env ] && echo -e "## [$(date) - culebrONT]\t Creating conda environment for snakemake" && conda env create -f envs/environment.yaml -n snakemake

    source activate snakemake

**Error in assemblytics log file**

.. code-block:: bash

    Error in revalue(bed$type, c(Repeat_expansion = "Repeat expansion", Repeat_contraction = "Repeat contraction",  : x is not a factor or a character vector.
    Execution halted

After trying the delta files for the failling assemblytics rules on the Assemblytics webserver, it seems the problem comes from the fact that Assemblytics do not detect any structural variation between these assemblies and the reference and so fail to write some of the (graphical) files in connexion with struct. variation. Hence, CulebrONT throughts an error when the output files are not found. You can put False to ASSEMBLYTICS tool in CulebrONT pipeline.


**QUAST takes to much time to run**

Add  ``--large`` to quast options


**Problem building conda environments**

CreateCondaEnvironmentException:
Could not create conda environment from /shared/ifbstor1/home/jorjuela/softs/CulebrONT_pipeline/envs/nanopolish_minimap2_samtools_seqtk.yaml:
Collecting package metadata (repodata.json): ...working... done
Solving environment: ...working...
Building graph of deps: 0%| | 0/8 [00:00<?, ?it/s]
Examining minimap2=2.17: 0%| | 0/8 [00:00<?, ?it/s]
Examining seqtk=1.3: 12%|█▎ | 1/8 [00:00<00:00, 138.72it/s]
Examining @/linux-64::__archspec==1=x86_64: 25%|██▌ | 2/8 [00:00<00:00, 149.47it/s]
Examining samtools=1.10: 38%|███▊ | 3/8 [00:00<00:00, 220.81it/s]
Examining python=3.7: 50%|█████ | 4/8 [00:00<00:00, 169.27it/s]
Examining nanopolish=0.13.2: 62%|██████▎ | 5/8 [00:01<00:00, 3.16it/s]
Examining nanopolish=0.13.2: 75%|███████▌ | 6/8 [00:01<00:00, 3.79it/s]
Examining @/linux-64::__unix==0=0: 75%|███████▌ | 6/8 [00:01<00:00, 3.79it/s]
Examining @/linux-64::__unix==0=0: 88%|████████▊ | 7/8 [00:01<00:00, 3.56it/s]
Examining @/linux-64::__glibc==2.17=0: 88%|████████▊ | 7/8 [00:01<00:00, 3.56it/s]

OR test use mamba instead of conda ``--conda-frontend mamba``


**Singularity and my local environments**

Bind mount disks to singularity environment by using ``--singularity-args '--bind $YOURMOUNTDISK'``. It allows to detect others disk inside of the singularity container. $YOURMOUNTDISK corresponds to mount disk, it could be $HOME or another disk path.

**Hmmsearch path is not found running BUSCO using Singularity.culebront_tools image**

Please check if you don't have another instance of BUSCO. BUSCO checks the ``config.ini`` file to find binaries such as hmmsearch, we have already detected conflicts because others busco versions are installed on local computers. You could reinitialise $PATH variable before to launch BUSCO using CulebrONT.

**Assemblers are lauched one after other and not in a parallel way**

If assemblers or jobs are being launched one after other and not in a parallel way, please check if the ``--core`` parameter is given to the snakemake command line. Please remove it. this parameter is 1 by default. Don't forget to give to CulebrONT the jobs numbers allowed when profiles are being created as is explained on the section profiles.

