From d0dc65f0ff374151f315e3ed971137d994626d3d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nicolas=20FERNANDEZ=20NU=C3=91EZ?=
 <nicolas.fernandez@ird.fr>
Date: Thu, 3 Apr 2025 17:13:15 +0200
Subject: [PATCH] v.2025.04_beta

---
 Run_GeVarLi.sh                                |  46 +-
 config/config.yaml                            | 286 ++++++++-----
 resources/primers/bedpe/.gitkeep              |   1 -
 resources/primers/fasta/.gitkeep              |   1 -
 resources/primers_schemes/bed/LICENSE         | 395 ++++++++++++++++++
 .../bed/MPXV/V1/MPXV.primer.bed               | 326 +++++++++++++++
 .../bed/Nipah/V1/NiV_6_Malaysia.primer.bed    | 120 ++++++
 resources/primers_schemes/bed/README.md       |  74 ++++
 .../bed/ZaireEbola/V1/ZaireEbola.primer.bed   |  46 ++
 .../bed/ZaireEbola/V2/ZaireEbola.primer.bed   |  94 +++++
 .../bed/ZaireEbola/V3/ZaireEbola.primer.bed   | 124 ++++++
 .../bed/nCoV-2019/V1/nCoV-2019.primer.bed     | 196 +++++++++
 .../bed/nCoV-2019/V2/nCoV-2019.primer.bed     | 196 +++++++++
 .../bed/nCoV-2019/V3/nCoV-2019.primer.bed     | 218 ++++++++++
 .../bed/nCoV-2019/V4.1/SARS-CoV-2.primer.bed  | 209 +++++++++
 .../bed/nCoV-2019/V4/SARS-CoV-2.primer.bed    | 198 +++++++++
 .../nCoV-2019/V5.3.2/SARS-CoV-2.primer.bed    | 192 +++++++++
 .../bed => primers_schemes/bedpe}/.gitkeep    |   0
 ...s_Zaire_AF-272001-1_artic-primers-V2.bedpe |   0
 ...s_Zaire_KR-063671-1_artic-primers-V1.bedpe |   0
 ...s_Zaire_KR-063671-1_artic-primers-V3.bedpe |   0
 ...alaysia_AJ-564622-1_artic-primers-V1.bedpe |   0
 ...2_Wuhan_MN-908947-3_artic-primers-V1.bedpe |   0
 ...2_Wuhan_MN-908947-3_artic-primers-V2.bedpe |   0
 ...2_Wuhan_MN-908947-3_artic-primers-V3.bedpe |   0
 ...Wuhan_MN-908947-3_artic-primers-V4-1.bedpe |   0
 ...2_Wuhan_MN-908947-3_artic-primers-V4.bedpe |   0
 workflow/Snakefile                            | 139 +++---
 workflow/envs/workflow-core.yaml              |   5 +-
 workflow/envs/yq_v.3.4.3.yaml                 |   7 -
 workflow/rules/consensus_calling.smk          |  73 ++--
 workflow/rules/coverage_stats.smk             |   9 +-
 workflow/rules/duplicates_removing.smk        |  10 +-
 workflow/rules/genomes_indexing.smk           |   8 +-
 workflow/rules/gisaid_submission.smk          |   7 +-
 workflow/rules/lineages_calling.smk           |   7 +-
 workflow/rules/lowcov_masking.smk             |   7 +-
 workflow/rules/primers_clipping.smk           |  71 ++--
 workflow/rules/quality_controls.smk           |   2 +-
 workflow/rules/reads_cleanning.smk            |  38 +-
 workflow/rules/reads_mapping.smk              |  12 +-
 workflow/rules/results_merging.smk            |  45 +-
 ...ymlinks_renamming.smk => samples_prep.smk} |  39 +-
 workflow/rules/variants_calling.smk           |  25 +-
 workflow/rules/workflow_reporting.smk         | 148 ++-----
 workflow/schemas/config.schema.yaml           | 342 +++++++--------
 .../__pycache__/__init__.cpython-312.pyc      | Bin 154 -> 0 bytes
 .../__pycache__/functions.cpython-312.pyc     | Bin 6456 -> 0 bytes
 workflow/scripts/functions.py                 | 362 ++++++++++++++--
 workflow/scripts/settings.py                  | 214 ----------
 workflow/scripts/settings.sh                  | 196 ---------
 51 files changed, 3354 insertions(+), 1134 deletions(-)
 delete mode 100644 resources/primers/bedpe/.gitkeep
 delete mode 100644 resources/primers/fasta/.gitkeep
 create mode 100644 resources/primers_schemes/bed/LICENSE
 create mode 100644 resources/primers_schemes/bed/MPXV/V1/MPXV.primer.bed
 create mode 100644 resources/primers_schemes/bed/Nipah/V1/NiV_6_Malaysia.primer.bed
 create mode 100644 resources/primers_schemes/bed/README.md
 create mode 100644 resources/primers_schemes/bed/ZaireEbola/V1/ZaireEbola.primer.bed
 create mode 100644 resources/primers_schemes/bed/ZaireEbola/V2/ZaireEbola.primer.bed
 create mode 100644 resources/primers_schemes/bed/ZaireEbola/V3/ZaireEbola.primer.bed
 create mode 100644 resources/primers_schemes/bed/nCoV-2019/V1/nCoV-2019.primer.bed
 create mode 100644 resources/primers_schemes/bed/nCoV-2019/V2/nCoV-2019.primer.bed
 create mode 100644 resources/primers_schemes/bed/nCoV-2019/V3/nCoV-2019.primer.bed
 create mode 100644 resources/primers_schemes/bed/nCoV-2019/V4.1/SARS-CoV-2.primer.bed
 create mode 100644 resources/primers_schemes/bed/nCoV-2019/V4/SARS-CoV-2.primer.bed
 create mode 100644 resources/primers_schemes/bed/nCoV-2019/V5.3.2/SARS-CoV-2.primer.bed
 rename resources/{primers/bed => primers_schemes/bedpe}/.gitkeep (100%)
 rename resources/{primers => primers_schemes}/bedpe/Ebola-virus_Zaire_AF-272001-1_artic-primers-V2.bedpe (100%)
 rename resources/{primers => primers_schemes}/bedpe/Ebola-virus_Zaire_KR-063671-1_artic-primers-V1.bedpe (100%)
 rename resources/{primers => primers_schemes}/bedpe/Ebola-virus_Zaire_KR-063671-1_artic-primers-V3.bedpe (100%)
 rename resources/{primers => primers_schemes}/bedpe/Nipah-virus_Malaysia_AJ-564622-1_artic-primers-V1.bedpe (100%)
 rename resources/{primers => primers_schemes}/bedpe/SARS-CoV-2_Wuhan_MN-908947-3_artic-primers-V1.bedpe (100%)
 rename resources/{primers => primers_schemes}/bedpe/SARS-CoV-2_Wuhan_MN-908947-3_artic-primers-V2.bedpe (100%)
 rename resources/{primers => primers_schemes}/bedpe/SARS-CoV-2_Wuhan_MN-908947-3_artic-primers-V3.bedpe (100%)
 rename resources/{primers => primers_schemes}/bedpe/SARS-CoV-2_Wuhan_MN-908947-3_artic-primers-V4-1.bedpe (100%)
 rename resources/{primers => primers_schemes}/bedpe/SARS-CoV-2_Wuhan_MN-908947-3_artic-primers-V4.bedpe (100%)
 delete mode 100644 workflow/envs/yq_v.3.4.3.yaml
 rename workflow/rules/{symlinks_renamming.smk => samples_prep.smk} (68%)
 delete mode 100644 workflow/scripts/__pycache__/__init__.cpython-312.pyc
 delete mode 100644 workflow/scripts/__pycache__/functions.cpython-312.pyc
 delete mode 100644 workflow/scripts/settings.py
 delete mode 100644 workflow/scripts/settings.sh

diff --git a/Run_GeVarLi.sh b/Run_GeVarLi.sh
index b0fc8bf..5bcf2c4 100755
--- a/Run_GeVarLi.sh
+++ b/Run_GeVarLi.sh
@@ -10,12 +10,12 @@
 ###                                                                         ###
 ###I###R###D######U###2###3###3#######T###R###A###N###S###V###I###H###M###I####
 # Name ___________________ Run_GeVarLi.sh
-# Version ________________ v.2025.03
+# Version ________________ v.2025.04
 # Author _________________ Nicolas Fernandez
 # Affiliation ____________ IRD_U233_TransVIHMI
 # Aim ____________________ Bash script running GeVarLi snakefile
 # Date ___________________ 2021.10.12
-# Latest modifications ___ 2025.03.12
+# Latest modifications ___ 2025.04.04
 # Use ____________________ '. Run_GeVarLi.sh'
 ###############################################################################
 
@@ -106,28 +106,28 @@ then # If 'exist'
     ENV_YAML="${workdir}/workflow/envs/workflow-core.yaml"
     CURRENT_ENV=$(conda env export --no-builds --name workflow-core | grep -v '^prefix:')
     EXPECTED_ENV=$(grep -v '^prefix:' "$ENV_YAML")
-    if false #diff <(echo "$CURRENT_ENV") <(echo "$EXPECTED_ENV") > /dev/null
-    then # If 'up-to-date'
-        echo -e "\n ${ylo}Workflow-Core${nc} environment is already up-to-date."
-    else # If 'not' up-to-date
-        if [[ $network == "Offline" ]]
-        then # If 'offline'
-            echo -e "\n Cannot update ${ylo}Workflow-Core${nc} environment.
-                     ${green}Network${nc}: ${red}${network}${nc}."
-        else # If 'online'
-            echo -e "\n Updating ${ylo}Workflow-Core${nc} environment. \n"
-            run_with_spinner \
-                conda env update \
-                    --prune \
-                    --name workflow-core \
-                    --file $ENV_YAML
-        fi
-    fi
+    #if false #diff <(echo "$CURRENT_ENV") <(echo "$EXPECTED_ENV") > /dev/null
+    #hen # If 'up-to-date'
+    #    echo -e "\n ${ylo}Workflow-Core${nc} environment is already up-to-date."
+    #else # If 'not' up-to-date
+    #    if [[ $network == "Offline" ]]
+    #    then # If 'offline'
+    #        echo -e "\n Cannot update ${ylo}Workflow-Core${nc} environment.
+    #                 ${green}Network${nc}: ${red}${network}${nc}."
+    #    else # If 'online'
+    #        echo -e "\n Updating ${ylo}Workflow-Core${nc} environment. \n"
+    #        run_with_spinner \
+    #            conda env update \
+    #                --prune \
+    #                --name workflow-core \
+    #                --file $ENV_YAML
+    #    fi
+    #fi
 else # If 'not' exist
     echo -e "\n ${ylo}Workflow-Core${nc} conda environment not found."
     if [[ $network == "Online" ]]
     then # If 'online'
-        echo -e "\n ${ylo}Workflow-Core${nc} conda environment will be create, with:
+        echo -e "\n ${ylo}Workflow-Core${nc} conda environment will be created, with:
     > ${red}Snakemake${nc}
     > ${red}Snakedeploy${nc}   
     > ${red}Snakemake Slurm plugin${nc} \n"
@@ -176,12 +176,14 @@ echo -e "\n ${green} > Snakemake: list conda environments${nc} \n"
 snakemake \
     --directory ${workdir}/ \
     --snakefile ${workdir}/workflow/Snakefile \
+    --rerun-incomplete \
     --list-conda-envs
 
 echo -e "\n ${green} > Snakemake: create conda environments${nc} \n"
 snakemake \
     --directory ${workdir}/ \
     --snakefile ${workdir}/workflow/Snakefile \
+    --rerun-incomplete \
     --conda-create-envs-only \
     --use-conda
 
@@ -189,6 +191,7 @@ echo -e "\n ${green} > Snakemake: dry run${nc} \n"
 snakemake \
     --directory ${workdir}/ \
     --snakefile ${workdir}/workflow/Snakefile \
+    --rerun-incomplete \
     --use-conda \
     --dry-run \
     --quiet host rules
@@ -197,8 +200,6 @@ echo -e "\n ${green} > Snakemake: run${nc} \n"
 snakemake \
     --directory ${workdir}/ \
     --snakefile ${workdir}/workflow/Snakefile \
-    --cores ${max_threads} \
-    --resources mem_gb=${max_memory} \
     --rerun-incomplete \
     --keep-going \
     --use-conda \
@@ -213,3 +214,4 @@ echo -e "\n Deactivate ${ylo}Workflow-Core${nc} conda environment."
 conda deactivate
 
 ###############################################################################
+###############################################################################
diff --git a/config/config.yaml b/config/config.yaml
index 77c3741..22305ad 100755
--- a/config/config.yaml
+++ b/config/config.yaml
@@ -10,13 +10,14 @@
 ###                                                                         ###
 ###I###R###D######U###2###3###3#######T###R###A###N###S###V###I###H###M###I####
 # Name ___________________ config.yaml
-# Version ________________ v.2025.01
+# Version ________________ v.2025.04
 # Author _________________ Nicolas Fernandez
 # Affiliation ____________ IRD_U233_TransVIHMI
 # Aim ____________________ Configuration yaml file for gevarli.smk snakefile
 # Date ___________________ 2021.10.12
-# Latest modifications ___ 2025.03.12
+# Latest modifications ___ 2025.04.04
 # Use ____________________ Edit default settings
+###############################################################################
 
 ###############################################################################
 ################################## GENERAL ####################################
@@ -27,84 +28,76 @@ fastq_dir: 'resources/reads/' # Path to reads fastq.gz files (default: 'resource
 modules: # GeVarLi analysis modules, set 'true' or 'false' [BOOL]
   qualities: true   # Perform reads quality controls (FastQC, Fastq-Screen)       (default: true)
   keeptrim: false   # Keep trimmed reads files (Cutadapt / Sickle-trim)           (default: false)
-  clipping: false   # Perform reads clipping (Bamclipper)                         (default: false)
+  clipping: true   # Perform reads clipping (iVar)                               (default: false)
   covstats: true    # Perform coverage statistics (Fagstat, Covstats)             (default: true)
   consensus: true   # Perform reads mapping to reference (BWA, Minimap2, Bowtie2) (default: true)
   lineages: true    # Perform clade and lineage assignations (Nexclade, Pangolin) (default: true)
   gisaid: false     # Perform gisaid submission template (GisAid : TODO)          (default: false)
 
-consensus:
-  reference: 'SARS-CoV-2_Wuhan_MN908947.3' # Your reference, in fasta format (default: 'SARS-CoV-2_Wuhan_MN-908947-3') [STR]
-  # Available options (not exhaustive):
-    ##- 'SARS-CoV-2_Wuhan_MN908947.3'                      # SARS-CoV-2  (with Nextclade and Pangolin)(default)
-    ### 
-    ##- 'Monkeypox-virus_Zaire_AF380138.1'                 # Monkeypox [MPXV] (with Nextclade and Pangolin)
-    ##- 'Monkeypox-virus_UK_MT903345.1'                    # Monkeypox [MPXV] (with Nextclade and Pangolin)
-    ##- 'Swinepox-virus_India_MW036632.1'                  # Swinepox  [SPXV] (with Nextclade)
-    ### 
-    ##- 'Ebola-virus_Zaire_AF272001.1'                     # Ebola   [EBOV]
-    ##- 'Ebola-virus_Sudan_MH121162.1'                     # Ebola   [EBOV]
-    ##- 'Marburg-virus_NC001608.3'                         # Marburg [MarV]
-    ### 
-    ##- 'Measles-virus_Ichinose-B95a_NC001498.1'           # Measles [MeV]
-    ##- 'Measles-virus_B3_Khartoum-Sudan_MG912590.1'       # Measles [MeV]
-    ##- 'Measles-virus_B3_Kole-Uganda_ON642796.1'          # Measles [MeV]
-    ##- 'Measles-virus_B3_Bura-Kenya_MZ615446.1_partial'   # Measles [MeV]
-    ##- 'Measles-virus_C2_Netherland-Bilthoven_MG912589.1' # Measles [MeV]
-    ##- 'Measles-virus_H1_Netherland-Amsterdam_MG912594.1' # Measles [MeV]
-    ### 
-    ##- 'Lassa-virus_NC004297.1_Seg-L'                     # Lassa Josiah L
-    ##- 'Lassa-virus_NC004297.1_Seg-S'                     # Lassa Josiah S
-    ##- 'Lassa-virus_Guinea_Faranah_MG812684.1_Seg-L'      # Lassa Guinea L
-    ##- 'Lassa-virus_Guinea_Faranah_MG812685.1_Seg-S'      # Lassa Guinea S
-    ##- 'Lassa-virus_Benin_Ben-16131_MT193231.1_Seg-L'     # Lassa Benin L
-    ##- 'Lassa-virus_Benin_Ben-16131_MT193282.1_Seg-S'     # Lassa Benin S
-    ### 
-    ##- 'Chikungunya-virus_HM045817.1'                     # Chikungunya [CHIKV]
-    ##- 'Dengue-virus-1_NC001477.1'                        # Dengue 1
-    ##- 'Dengue-virus-2_NC001474.2'                        # Dengue 2
-    ##- 'Dengue-virus-3_NC001475.2'                        # Dengue 3
-    ##- 'Dengue-virus-4_NC002640.1'                        # Dengue 4
-    ##- 'West-Nile-virus_M12294.2'                         # West Nile [WNV]
-    ##- 'Zika-virus_French-Polynesia_KX369547.1'           # Zika [ZV]
-    ### 
-    ##- 'Nipah-virus_Malaysia_AJ564622.1'                  # Nipah
-    ### 
-    ##- 'Human-herpesvirus-5_NC006273.2'                   # Herpes    [HCMV]
-    ##- 'Human-herpesvirus-3_NC001348.1'                   # Varicella [VZV]
-    ##- 'Human-adenovirus-A_NC001460.1'                    # Adeno
-    ##- 'Human-enterovirus-68_AY426531.1'                  # Entero
-    ### 
-    ##- 'HIV-1_HXB2_K03455.1'                              # HIV-1 [HIV]
-
-  min_cov: '30' # Minimum coverage, mask lower regions with "N" (default: '30') [INT]
-  # Available options (not exhaustive):
-    ##- '100' # 100 x : for greater coverage
-    ##- '30'  #  30 X : for AFROSCREEN SARS-CoV-2 consortium, with Illumina amplicons sequencing (default)
-    ##- '10'  #  10 X : for some applications...
-    ##- '3'   #   3 X : only for exploration!
-    ##- '1'   #   1 X : not recommanded
-  min_freq: '0.2'  # Minimum allele frequency allowed (default: "0.2") [FLOAT] *** LoFreq ***
-  iupac: '--iupac-code' # Output variants in the form of IUPAC ambiguity codes (default: "activate")
-  # Available options, set only one:
-    ##- '--iupac-code' # Activate (default)
-    ##- ''             # Deactivate
+tools:
   mapper: 'bwa' # Select your favorite mapper (default: 'bwa')
   # Available options:
     ##- 'bwa'      # Better, faster (default)
     ##- 'bowtie2'  # Slower, "sensitivity" requiried (see below "Bowtie2" options)
     ##- 'minimap2' # Versatile
-  caller: 'ivar'
+  caller: 'ivar' # Select your favorite variant caller (default: 'ivar')
+  # Available options:
+    ##- 'ivar' # iVar: a toolkit for analysis of viral NGS data (default)
   assigner: 'nextclade' # Select your favorite clades / lineages assigner (default: 'nextclade')
   # Available options:
     ##- 'nextclade' # Clade assignment, mutation calling, phylogenetic placement and quality checks (default)
     ##- 'pangolin'  # PANGO: Phylogenetic Assignment of Named Global Outbreak Lineages
 
+reference: 'SARS-CoV-2_Wuhan_MN908947.3' # Your reference, in fasta format (default: 'SARS-CoV-2_Wuhan_MN-908947-3') [STR]
+# Available options (not exhaustive):
+  ##- 'SARS-CoV-2_Wuhan_MN908947.3'                      # SARS-CoV-2  (with Nextclade and Pangolin)(default)
+  ### 
+  ##- 'Monkeypox-virus_Zaire_AF380138.1'                 # Monkeypox [MPXV] (with Nextclade and Pangolin)
+  ##- 'Monkeypox-virus_UK_MT903345.1'                    # Monkeypox [MPXV] (with Nextclade and Pangolin)
+  ##- 'Swinepox-virus_India_MW036632.1'                  # Swinepox  [SPXV] (with Nextclade)
+  ### 
+  ##- 'Ebola-virus_Zaire_AF272001.1'                     # Ebola   [EBOV]
+  ##- 'Ebola-virus_Sudan_MH121162.1'                     # Ebola   [EBOV]
+  ##- 'Marburg-virus_NC001608.3'                         # Marburg [MarV]
+  ### 
+  ##- 'Measles-virus_Ichinose-B95a_NC001498.1'           # Measles [MeV]
+  ##- 'Measles-virus_B3_Khartoum-Sudan_MG912590.1'       # Measles [MeV]
+  ##- 'Measles-virus_B3_Kole-Uganda_ON642796.1'          # Measles [MeV]
+  ##- 'Measles-virus_B3_Bura-Kenya_MZ615446.1_partial'   # Measles [MeV]
+  ##- 'Measles-virus_C2_Netherland-Bilthoven_MG912589.1' # Measles [MeV]
+  ##- 'Measles-virus_H1_Netherland-Amsterdam_MG912594.1' # Measles [MeV]
+  ### 
+  ##- 'Lassa-virus_NC004297.1_Seg-L'                     # Lassa Josiah L
+  ##- 'Lassa-virus_NC004297.1_Seg-S'                     # Lassa Josiah S
+  ##- 'Lassa-virus_Guinea_Faranah_MG812684.1_Seg-L'      # Lassa Guinea L
+  ##- 'Lassa-virus_Guinea_Faranah_MG812685.1_Seg-S'      # Lassa Guinea S
+  ##- 'Lassa-virus_Benin_Ben-16131_MT193231.1_Seg-L'     # Lassa Benin L
+  ##- 'Lassa-virus_Benin_Ben-16131_MT193282.1_Seg-S'     # Lassa Benin S
+  ### 
+  ##- 'Chikungunya-virus_HM045817.1'                     # Chikungunya [CHIKV]
+  ##- 'Dengue-virus-1_NC001477.1'                        # Dengue 1
+  ##- 'Dengue-virus-2_NC001474.2'                        # Dengue 2
+  ##- 'Dengue-virus-3_NC001475.2'                        # Dengue 3
+  ##- 'Dengue-virus-4_NC002640.1'                        # Dengue 4
+  ##- 'West-Nile-virus_M12294.2'                         # West Nile [WNV]
+  ##- 'Zika-virus_French-Polynesia_KX369547.1'           # Zika [ZV]
+  ### 
+  ##- 'Nipah-virus_Malaysia_AJ564622.1'                  # Nipah
+  ### 
+  ##- 'Human-herpesvirus-5_NC006273.2'                   # Herpes    [HCMV]
+  ##- 'Human-herpesvirus-3_NC001348.1'                   # Varicella [VZV]
+  ##- 'Human-adenovirus-A_NC001460.1'                    # Adeno
+  ##- 'Human-enterovirus-68_AY426531.1'                  # Entero
+  ### 
+  ##- 'HIV-1_HXB2_K03455.1'                              # HIV-1 [HIV]
+  ###
+  ##- 'your_custom_reference'                            # Add your custom reference
+
 ###############################################################################
-################################### GISAID ####################################
+################################ SUBMISSIONS ##################################
 ###############################################################################
 
-gisaid: ## TODO ##
+gisaid: ##TODO##
   username: 'username'
   threshold: '30'
   name: 'hCoV-19'
@@ -119,52 +112,110 @@ gisaid: ## TODO ##
 nextclade:
   path: 'resources/nextclade/' # Path to nextclade datasets (default: "resources/nextclade/")
   dataset: 'sars-cov-2' # Nextclade dataset
+  # Available options (not exhaustive), set only one:
+    ##- 'sars-cov-2' # SARS-CoV-2 (default)
+    ##- 'MPXV'       # MPox - all clades 
+    ##- 'hMPXV'      # human MPox
+    ##- 'hMPXV_B1'   # human MPox - only lineage B1*
+
+###############################################################################
+################################# CONSENSUS ###################################
+###############################################################################
+
+consensus:
+  min_depth: '30' # Minimum coverage, mask lower regions with "N" (default: '10', recomanded: '30') [INT]
   # Available options (not exhaustive):
-    #- 'sars-cov-2' # SARS-CoV-2 (default)
-    #- 'MPXV'       # MPox - all clades 
-    #- 'hMPXV'      # human MPox
-    #- 'hMPXV_B1'   # human MPox - only lineage B1*
+    ##- '100' # 100 X : for greater coverage
+    ##- '60'  #  30 X : for better coverage
+    ##- '30'  #  30 X : for AFROSCREEN SARS-CoV-2 consortium, with Illumina amplicons sequencing (recomanded)
+    ##- '10'  #  10 X : for some applications (default)
+    ##- '3'   #   3 X : only for exploration...
+    ##- '1'   #   1 X : not recommanded!
+
+  max_depth: '0' # Max per-file depth; avoids excessive memory usage (default: '8000', recomanded "0") [INT]
+  # Passing zero for this option sets it to the highest possible value, effectively removing the depth limit.
+
+  min_freq: '0.2'  # Minimum allele frequency allowed (default: "0.2") [FLOAT]
+  min_insert: '0' # Minimum insertion frequency threshold (0 to 1) to call consensus [FLOAT] (Default: 0.8)
+
+  map_qual: '--no-BAQ' # Disable BAQ, per-Base Alignment Quality (default: '--no-BAQ')
+  # Available options, set only one:
+    ##- '--no-BAQ' # no, don't merge mapping quality: disable (default, recommanded with Samtools)
+    ##- ''         # yes, merge mapping quality: enable (not recommanded with Samtools)
 
+  min_bq: '0'          # -Q: Skip bases with baseQ/BAQ smaller than (default: '13', recomanded: '0') [INT]
+  min_qual: '0' # -q: Minimum quality score threshold to count base (Default: '20', recomanded: '0') [INT]
 
 ###############################################################################
 ################################## VARIANTS ###################################
 ###############################################################################
 
-ivar:
-  #min_depth: '0'    # Minimum read depth to call variants (Default: '0') [INT] *** iVar ***
-  #min_freq: '0.03'  # Minimum frequency threshold to call variants (Default: '0.03') [FLOAT] *** iVar ***
-  #min_insert: '0.8' # Minimum insertion frequency threshold to call variants (Default: '0.8') [FLOAT] *** iVar ***
-  max_depth: '1000000' # Max per-file depth; avoids excessive memory usage (default: '8000', recomanded "1000000") [INT]
-  min_bq: '0'          # -Q: Skip bases with baseQ/BAQ smaller than (default: '13', recomanded: '0') [INT]
-  min_qual: '0'        # -q: Minimum quality score threshold to count base (Default: '20', recomanded: '0') [INT]
-  map_qual: '--no-BAQ' # Disable BAQ, per-Base Alignment Quality (default: '--no-BAQ' (disable))
-    # Available options:
-    ##- '--no-BAQ' # no, don't merge mapping quality: disable (default)
+variant:
+  min_depth: '30' # Minimum coverage, mask lower regions with "N" (default: '10', recomanded: '30') [INT]
+  # Available options (not exhaustive):
+    ##- '100' # 100x : for greater coverage
+    ##- '60'  #  30x : for better coverage
+    ##- '30'  #  30x : for AFROSCREEN SARS-CoV-2 consortium, with Illumina amplicons sequencing (recomanded)
+    ##- '10'  #  10x : for some applications (default)
+    ##- '3'   #   3x : only for exploration...
+    ##- '1'   #   1x : not recommanded!
+
+  max_depth: '0' # Max per-file depth; avoids excessive memory usage (default: '8000', recomanded "0") [INT]
+  # Passing zero for this option sets it to the highest possible value, effectively removing the depth limit.
+
+  min_freq: '0.2' # Minimum allele frequency allowed (default: "0.2") [FLOAT]
+  min_insert: '0' # Minimum insertion frequency threshold (0 to 1) to call consensus [FLOAT] (Default: 0.8)
+
+  map_qual: '--no-BAQ' # Disable BAQ, per-Base Alignment Quality (default: '--no-BAQ')
+  # Available options, set only one:
+    ##- '--no-BAQ' # no, don't merge mapping quality: disable (default, recommanded with Samtools)
     ##- ''         # yes, merge mapping quality: enable (not recommanded with Samtools)
 
+  min_bq: '0'          # -Q: Skip bases with baseQ/BAQ smaller than (default: '13', recomanded: '0') [INT]
+  min_qual: '0' # -q: Minimum quality score threshold to count base (Default: '20', recomanded: '0') [INT]
 
 ###############################################################################
-############################## PRIMER CLEAPING  ###############################
+############################# PRIMERS CLEAPING  ###############################
 ###############################################################################
 
-bamclipper:
-  path: 'resources/primers/bedpe/' # Path to primers bedpe files (default 'resources/primer/bedpe') [PATH]
-  primers: '' # Your primer set, in BEDPE format (no default: you need to know which kit / ref you used)
-  # Reference sequence names and coordinates of BAM and BED are assumed to be derived from identical reference sequences
-  # Available options (not exhaustive), set only one:
-    ##- 'SARS-CoV-2_Wuhan_MN-908947-3_artic-primers-V4-1'         # SARS-CoV-2 Artic V4.1 (update to the V4, see Artic README)
-    ##- 'SARS-CoV-2_Wuhan_MN-908947-3_artic-primers-V4'           # SARS-CoV-2 Artic V4 (not based on V3, see Artic README)
-    ##- 'SARS-CoV-2_Wuhan_MN-908947-3_artic-primers-V3'           # SARS-CoV-2 Artic V3
-    ##- 'SARS-CoV-2_Wuhan_MN-908947-3_artic-primers-V2'           # SARS-CoV-2 Artic V2
-    ##- 'SARS-CoV-2_Wuhan_MN-908947-3_artic-primers-V1'           # SARS-CoV-2 Artic V1
-    ##- 'Ebola-virus_Zaire_KR-063671-1_artic-primers-V3'          # EBOV Artic V3
-    ##- 'Ebola-virus_Zaire_AF-272001-1_artic-primers-V2'          # EBOV Artic V2 (based on AF272001.1)    
-    ##- 'Ebola-virus_Zaire_KR-063671-1_artic-primers-V1'          # EBOV Artic V1
-    ##- 'Nipah-virus_Malaysia_AJ-564622-1_artic-primers-V1'       # NIV Artic V1
-    ##- 'Monkeypox-virus_UK_MT-903345-1_custom-VGCARE-primers-V1' # MPXV VGCARE V1
-    ##- 'Add_your_favorite_amplicon_kit'                          # Custom
-  upstream: '5'   # (default: '5') [INT]
-  downstream: '5' # (default: '5') [INT]
+primers:
+  offset: '0'      # Offset for primer trimming (default: '0') [INT]
+  min_length: '35' # Minimum length of read to retain after trimming (Default: 50% average length of the first 1000 reads) [INT]
+  min_qual: '20' # Minimum quality threshold for sliding window to pass (Default: '20') [INT]
+  slide: '4'     # Width of sliding window (Default: '4') [INT]
+  bed:
+    path: 'resources/primers_schemes/bed/' # Path to primers bed files (default 'resources/primer/bed') [PATH]
+    scheme: 'nCoV-2019/V4.1/SARS-CoV-2.primer.bed' # Your primer set, in BED format (no default: you need to know which kit and reference you used!)
+    # Reference sequence names and coordinates of BAM and BED are assumed to be derived from identical reference sequences.
+    # Available options (not exhaustive), set only one:
+      ##- 'nCoV-2019/V5.3.2/SARS-CoV-2.primer.bed' # SARS-CoV-2 Artic V5.3.2 (latest)
+      ##- 'nCoV-2019/V4.1/SARS-CoV-2.primer.bed' # SARS-CoV-2 Artic V4.1 (update to the V4, see Artic README)
+      ##- 'nCoV-2019/V4/SARS-CoV-2.primer.bed'  # SARS-CoV-2 Artic V4 (not based on V3, see Artic README)
+      ##- 'nCoV-2019/V3/SARS-CoV-2.primer.bed'  # SARS-CoV-2 Artic V3
+      ##- 'nCoV-2019/V2/SARS-CoV-2.primer.bed'  # SARS-CoV-2 Artic V2
+      ##- 'nCoV-2019/V1/SARS-CoV-2.primer.bed'  # SARS-CoV-2 Artic V1
+      ##- 'ZaireEbola/V3/ZaireEbola.primer.bed' # EBOV Artic V3
+      ##- 'ZaireEbola/V2/ZaireEbola.primer.bed' # EBOV Artic V2 (based on AF272001.1)    
+      ##- 'ZaireEbola/V1/ZaireEbola.primer.bed' # EBOV Artic V1
+      ##- 'Nipah/V1/NiV_6_Malaysia.primer.bed'  # NIV Artic V1
+      ##- 'MPXV/V1/MPXV.primer.bed'             # MPXV  V1 (dx.doi.org/10.17504/protocols.io.5qpvob1nbl4o/v4)
+      ##- 'your_custom_amplicon_kit.bed'        # Add your custom amplicon kit
+  bedpe:
+    path: 'resources/primers_schemes/bedpe/' # Path to primers bedpe files (default 'resources/primer/bedpe') [PATH]
+    scheme: #'insert_here' # Your primer set, in BEDPE format (no default: you need to know which kit and reference you used!)
+    # Reference sequence names and coordinates of BAM and BED are assumed to be derived from identical reference sequences.
+    # Available options (not exhaustive), set only one:
+      ##- 'SARS-CoV-2_Wuhan_MN-908947-3_artic-primers-V4-1.bedpe'   # SARS-CoV-2 Artic V4.1 (update to the V4, see Artic README)
+      ##- 'SARS-CoV-2_Wuhan_MN-908947-3_artic-primers-V4.bedpe'     # SARS-CoV-2 Artic V4 (not based on V3, see Artic README)
+      ##- 'SARS-CoV-2_Wuhan_MN-908947-3_artic-primers-V3.bedpe'     # SARS-CoV-2 Artic V3
+      ##- 'SARS-CoV-2_Wuhan_MN-908947-3_artic-primers-V2.bedpe'     # SARS-CoV-2 Artic V2
+      ##- 'SARS-CoV-2_Wuhan_MN-908947-3_artic-primers-V1.bedpe'     # SARS-CoV-2 Artic V1
+      ##- 'Ebola-virus_Zaire_KR-063671-1_artic-primers-V3.bedpe'    # EBOV Artic V3
+      ##- 'Ebola-virus_Zaire_AF-272001-1_artic-primers-V2.bedpe'    # EBOV Artic V2 (based on AF272001.1)    
+      ##- 'Ebola-virus_Zaire_KR-063671-1_artic-primers-V1.bedpe'    # EBOV Artic V1
+      ##- 'Nipah-virus_Malaysia_AJ-564622-1_artic-primers-V1.bedpe' # NIV Artic V1
+      ##- 'Monkeypox-virus_UK_MT-903345-1_VGCARE-primers-V1.bedpe'  # MPXV VGCARE V1 (based on MT903345.1)
+      ##- 'your_custom_amplicon_kit.bedpe'                          # Add your custom amplicon kit
 
 ###############################################################################
 ################################### MAPPING ###################################
@@ -172,14 +223,14 @@ bamclipper:
 
 bwa:
   algorithm: '' # Algorithm for constructing BWA index (default: auto --> '')
-  # Available options:
+  # Available options, set only one:
     ##- ''         # Auto-select (default)
     ##- '-a is'    # Moderately fast, but does not work with database larger than 2GB
     ##- '-a bwtsw' # This method works with the whole human genome
 
 bowtie2:
   algorithm: '' # Algorithm for constructing BT2 index (default: '' (small))
-  # Available options:
+  # Available options, set only one:
     ##- ''              # (default)
     ##- '--large-index' # Force generated index to be "large"
                         # even if reference has fewer than 4 billion nucleotides
@@ -196,11 +247,12 @@ minimap2:
     minimizer_size: '11' # -w: minimizer window size (default: "11") [INT]
     split_size: '8G'     # -I: split index for every {NUM} input bases (default: "8G") [INT]
     homopolymer: ''      # -H: use homopolymer-compressed k-mer  (default: '' (no))
-    # Available options: 
+    # Available options, set only one: 
       ##- ''   # no (default)
       ##- '-H' # yes (preferrable for PacBio)
+
   preset: 'sr' # -x: Minimap2 presets, always applied before other options (default: 'sr')
-  # Available preset options: 
+  # Available preset options, set only one: 
     ##- 'sr'        # genomic short-read mapping, like Illumina (default)
     ##- 'map-ont'   # Nanopore vs reference mapping
     ##- 'ava-ont'   # Nanopore read overlap
@@ -230,19 +282,21 @@ sickle_trim:
 cutadapt:
   clipping: '0' # Cut 'n' first nucleotides of each reads (default: 0)
   length: '50' # Discard reads shorter than 'length' after trim (default: "50")
-  kits: # Sequence of an adapter ligated to the 3' end of the first read (default: Illumina)
-    truseq:  'AGATCGGAAGAGC'         # Illumina "TruSeq" or "ScriptSeq" based libraries kits
-    nextera: 'CTGTCTCTTATACACATC'    # Illumina "Nextera" or "TruSight" based libraries kits
-    small:   'TGGAATTCTCGGGTGCCAAGG' # Illumina "Small" based libraries kits
+  adapters: # Sequence of an adapter ligated to the 3' end of the first read (default: Illumina kits)
+  # Available options (not exhaustive):
+    - 'AGATCGGAAGAGC'         # Illumina "TruSeq" or "ScriptSeq" based libraries kits (default)
+    - 'CTGTCTCTTATACACATC'    # Illumina "Nextera" or "TruSight" based libraries kits (default)
+    - 'TGGAATTCTCGGGTGCCAAGG' # Illumina "Small" based libraries kits (default)
+    #- 'your_custom_adapter'   # Add your custom adapter
 
 ###############################################################################
 ############################### QUALITY CONTROL ###############################
 ###############################################################################
 
-multiqc: ## TODO ##
+multiqc: ##TODO##
   path: 'config/multiqc/' # Path to the multiqc configuration file
   config: 'default.yaml' # Multiqc configuration file (default: default.yaml)
-  # Available options (not exhaustive):
+  # Available options (not exhaustive), set only one:
     ##- 'default.yaml' # default
     ##- ''             #
   tag: '' # Use only modules which tagged with this keyword
@@ -250,11 +304,15 @@ multiqc: ## TODO ##
 fastq_screen:
   config: 'config/fastq-screen.conf' # Path to the fastq-screen configuration file
   subset: '10000' # Don't use whole sequences, but a subset reads (default: "10000") [INT] (0=all)
+
   reference: # FastqScreen config file genomes to index [LIST]
+    # Available options (not exhaustive):
+  
     ### MOLECULAR BIOLOGY SEQUENCES
     - 'QC_Phi-X174_Coliphage_NC001422.1'
     - 'QC_Kanamycin-Resistance-Gene'
     - 'QC_UniVec_wo_phiX-kanamycin-NGSseq'
+  
     ### MAIN TRANSVIHMI VIRUSES (small genomes, provided)
     - 'SARS-CoV-2_Wuhan_MN908947.3' # without poly-A tail
     - 'Monkeypox-virus_Zaire_AF380138.1'
@@ -276,12 +334,14 @@ fastq_screen:
     - 'Lassa-virus_Josiah_NC004297.1_Seg-L'
     - 'Lassa-virus_Josiah_NC004296.1_Seg-S'
     - 'HIV-1_HXB2_K03455.1'
+  
     ### MAIN TRANSVIHMI PUTATIVE HOSTS (large genomes, not provided)
     #- 'HOST_Gorilla-gorilla_g4'
     #- 'HOST_Pan-troglodytes_t3'
     #- 'HOST_Pteropus-vampyrus_v1'
     #- 'HOST_Mus-musculus_m39'
     #- 'HOST_Homo-sapiens_h38_NC000001.11'
+  
     ### GENERIC LAB MODEL ORGANISMS (putative contaminations)
     - 'QC_Echerichia-coli_CP060121.1'
     #- 'QC_Saccharomyces-cerevisiae'
@@ -293,12 +353,11 @@ fastq_screen:
     #- 'QC_Xenopus-laevis'
     #- 'QC_Gallus-gallus'
 
-
 ###############################################################################
 ############################### RENAME SAMPLES ################################
 ###############################################################################
 
-rename:
+rename: ##TODO##
   barcode_id: true
   line_id: true
   end_id: true
@@ -311,7 +370,7 @@ resources:
   cpus: '8' # Set maximum cpus usage (for multithreading, default: "8") [INT]
   ram: '16' # Set maximum memory usage (in Gb, default: "16") [INT]
   tmp_dir: '$TMPDIR' # Temporary directory.
-  # Available options (not exhaustive):
+  # Available options (not exhaustive), set only one:
     ## -'$TMPDIR'  # System variable $TMPDIR (default)
     ## -'.'        # Local (i.e. GeVarLi directory)
     ## -'/scratch' # HPC (set it to match your HPC usage)
@@ -336,23 +395,24 @@ envs: # Conda environement yaml files:
   sickle_trim:   '../envs/sickle-trim_v.1.33.yaml'      # Sickle-trim   ver. 1.33
   tsv2vcf:       '../envs/tsv2vcf_v.2025.01.yaml'       # tsv2vcf       ver. 2025.01 (biopython=1.85 numpy=2.2.2 scipy=1.15.1)
   workflow:      '../envs/workflow-core.yaml'           # workflow      ver. 2025.01 (snakemake=8.27.1 graphviz=12.0.0)
-  yq:            '../envs/yq_v.3.4.3.yaml'              # yq            ver. 3.4.3
 
 report: # Snakemake reports formats
+
   stat:
-    extention: # [LIST]
+    extention:
       - 'txt'
       - 'tsv'
       - 'json'
+  
   graph:
-    type: # [LIST]
+    type:
       - 'dag'
       - 'rulegraph'
       - 'filegraph'
-    extention: # [LIST]
+    extention:
       - 'png'
       - 'svg'
       - 'pdf'
 
 ###############################################################################
-###############################################################################
+###############################################################################
\ No newline at end of file
diff --git a/resources/primers/bedpe/.gitkeep b/resources/primers/bedpe/.gitkeep
deleted file mode 100644
index f13c79c..0000000
--- a/resources/primers/bedpe/.gitkeep
+++ /dev/null
@@ -1 +0,0 @@
-Git: keep this non empty file!
\ No newline at end of file
diff --git a/resources/primers/fasta/.gitkeep b/resources/primers/fasta/.gitkeep
deleted file mode 100644
index f13c79c..0000000
--- a/resources/primers/fasta/.gitkeep
+++ /dev/null
@@ -1 +0,0 @@
-Git: keep this non empty file!
\ No newline at end of file
diff --git a/resources/primers_schemes/bed/LICENSE b/resources/primers_schemes/bed/LICENSE
new file mode 100644
index 0000000..52bd145
--- /dev/null
+++ b/resources/primers_schemes/bed/LICENSE
@@ -0,0 +1,395 @@
+Attribution 4.0 International
+
+=======================================================================
+
+Creative Commons Corporation ("Creative Commons") is not a law firm and
+does not provide legal services or legal advice. Distribution of
+Creative Commons public licenses does not create a lawyer-client or
+other relationship. Creative Commons makes its licenses and related
+information available on an "as-is" basis. Creative Commons gives no
+warranties regarding its licenses, any material licensed under their
+terms and conditions, or any related information. Creative Commons
+disclaims all liability for damages resulting from their use to the
+fullest extent possible.
+
+Using Creative Commons Public Licenses
+
+Creative Commons public licenses provide a standard set of terms and
+conditions that creators and other rights holders may use to share
+original works of authorship and other material subject to copyright
+and certain other rights specified in the public license below. The
+following considerations are for informational purposes only, are not
+exhaustive, and do not form part of our licenses.
+
+     Considerations for licensors: Our public licenses are
+     intended for use by those authorized to give the public
+     permission to use material in ways otherwise restricted by
+     copyright and certain other rights. Our licenses are
+     irrevocable. Licensors should read and understand the terms
+     and conditions of the license they choose before applying it.
+     Licensors should also secure all rights necessary before
+     applying our licenses so that the public can reuse the
+     material as expected. Licensors should clearly mark any
+     material not subject to the license. This includes other CC-
+     licensed material, or material used under an exception or
+     limitation to copyright. More considerations for licensors:
+	wiki.creativecommons.org/Considerations_for_licensors
+
+     Considerations for the public: By using one of our public
+     licenses, a licensor grants the public permission to use the
+     licensed material under specified terms and conditions. If
+     the licensor's permission is not necessary for any reason--for
+     example, because of any applicable exception or limitation to
+     copyright--then that use is not regulated by the license. Our
+     licenses grant only permissions under copyright and certain
+     other rights that a licensor has authority to grant. Use of
+     the licensed material may still be restricted for other
+     reasons, including because others have copyright or other
+     rights in the material. A licensor may make special requests,
+     such as asking that all changes be marked or described.
+     Although not required by our licenses, you are encouraged to
+     respect those requests where reasonable. More_considerations
+     for the public:
+	wiki.creativecommons.org/Considerations_for_licensees
+
+=======================================================================
+
+Creative Commons Attribution 4.0 International Public License
+
+By exercising the Licensed Rights (defined below), You accept and agree
+to be bound by the terms and conditions of this Creative Commons
+Attribution 4.0 International Public License ("Public License"). To the
+extent this Public License may be interpreted as a contract, You are
+granted the Licensed Rights in consideration of Your acceptance of
+these terms and conditions, and the Licensor grants You such rights in
+consideration of benefits the Licensor receives from making the
+Licensed Material available under these terms and conditions.
+
+
+Section 1 -- Definitions.
+
+  a. Adapted Material means material subject to Copyright and Similar
+     Rights that is derived from or based upon the Licensed Material
+     and in which the Licensed Material is translated, altered,
+     arranged, transformed, or otherwise modified in a manner requiring
+     permission under the Copyright and Similar Rights held by the
+     Licensor. For purposes of this Public License, where the Licensed
+     Material is a musical work, performance, or sound recording,
+     Adapted Material is always produced where the Licensed Material is
+     synched in timed relation with a moving image.
+
+  b. Adapter's License means the license You apply to Your Copyright
+     and Similar Rights in Your contributions to Adapted Material in
+     accordance with the terms and conditions of this Public License.
+
+  c. Copyright and Similar Rights means copyright and/or similar rights
+     closely related to copyright including, without limitation,
+     performance, broadcast, sound recording, and Sui Generis Database
+     Rights, without regard to how the rights are labeled or
+     categorized. For purposes of this Public License, the rights
+     specified in Section 2(b)(1)-(2) are not Copyright and Similar
+     Rights.
+
+  d. Effective Technological Measures means those measures that, in the
+     absence of proper authority, may not be circumvented under laws
+     fulfilling obligations under Article 11 of the WIPO Copyright
+     Treaty adopted on December 20, 1996, and/or similar international
+     agreements.
+
+  e. Exceptions and Limitations means fair use, fair dealing, and/or
+     any other exception or limitation to Copyright and Similar Rights
+     that applies to Your use of the Licensed Material.
+
+  f. Licensed Material means the artistic or literary work, database,
+     or other material to which the Licensor applied this Public
+     License.
+
+  g. Licensed Rights means the rights granted to You subject to the
+     terms and conditions of this Public License, which are limited to
+     all Copyright and Similar Rights that apply to Your use of the
+     Licensed Material and that the Licensor has authority to license.
+
+  h. Licensor means the individual(s) or entity(ies) granting rights
+     under this Public License.
+
+  i. Share means to provide material to the public by any means or
+     process that requires permission under the Licensed Rights, such
+     as reproduction, public display, public performance, distribution,
+     dissemination, communication, or importation, and to make material
+     available to the public including in ways that members of the
+     public may access the material from a place and at a time
+     individually chosen by them.
+
+  j. Sui Generis Database Rights means rights other than copyright
+     resulting from Directive 96/9/EC of the European Parliament and of
+     the Council of 11 March 1996 on the legal protection of databases,
+     as amended and/or succeeded, as well as other essentially
+     equivalent rights anywhere in the world.
+
+  k. You means the individual or entity exercising the Licensed Rights
+     under this Public License. Your has a corresponding meaning.
+
+
+Section 2 -- Scope.
+
+  a. License grant.
+
+       1. Subject to the terms and conditions of this Public License,
+          the Licensor hereby grants You a worldwide, royalty-free,
+          non-sublicensable, non-exclusive, irrevocable license to
+          exercise the Licensed Rights in the Licensed Material to:
+
+            a. reproduce and Share the Licensed Material, in whole or
+               in part; and
+
+            b. produce, reproduce, and Share Adapted Material.
+
+       2. Exceptions and Limitations. For the avoidance of doubt, where
+          Exceptions and Limitations apply to Your use, this Public
+          License does not apply, and You do not need to comply with
+          its terms and conditions.
+
+       3. Term. The term of this Public License is specified in Section
+          6(a).
+
+       4. Media and formats; technical modifications allowed. The
+          Licensor authorizes You to exercise the Licensed Rights in
+          all media and formats whether now known or hereafter created,
+          and to make technical modifications necessary to do so. The
+          Licensor waives and/or agrees not to assert any right or
+          authority to forbid You from making technical modifications
+          necessary to exercise the Licensed Rights, including
+          technical modifications necessary to circumvent Effective
+          Technological Measures. For purposes of this Public License,
+          simply making modifications authorized by this Section 2(a)
+          (4) never produces Adapted Material.
+
+       5. Downstream recipients.
+
+            a. Offer from the Licensor -- Licensed Material. Every
+               recipient of the Licensed Material automatically
+               receives an offer from the Licensor to exercise the
+               Licensed Rights under the terms and conditions of this
+               Public License.
+
+            b. No downstream restrictions. You may not offer or impose
+               any additional or different terms or conditions on, or
+               apply any Effective Technological Measures to, the
+               Licensed Material if doing so restricts exercise of the
+               Licensed Rights by any recipient of the Licensed
+               Material.
+
+       6. No endorsement. Nothing in this Public License constitutes or
+          may be construed as permission to assert or imply that You
+          are, or that Your use of the Licensed Material is, connected
+          with, or sponsored, endorsed, or granted official status by,
+          the Licensor or others designated to receive attribution as
+          provided in Section 3(a)(1)(A)(i).
+
+  b. Other rights.
+
+       1. Moral rights, such as the right of integrity, are not
+          licensed under this Public License, nor are publicity,
+          privacy, and/or other similar personality rights; however, to
+          the extent possible, the Licensor waives and/or agrees not to
+          assert any such rights held by the Licensor to the limited
+          extent necessary to allow You to exercise the Licensed
+          Rights, but not otherwise.
+
+       2. Patent and trademark rights are not licensed under this
+          Public License.
+
+       3. To the extent possible, the Licensor waives any right to
+          collect royalties from You for the exercise of the Licensed
+          Rights, whether directly or through a collecting society
+          under any voluntary or waivable statutory or compulsory
+          licensing scheme. In all other cases the Licensor expressly
+          reserves any right to collect such royalties.
+
+
+Section 3 -- License Conditions.
+
+Your exercise of the Licensed Rights is expressly made subject to the
+following conditions.
+
+  a. Attribution.
+
+       1. If You Share the Licensed Material (including in modified
+          form), You must:
+
+            a. retain the following if it is supplied by the Licensor
+               with the Licensed Material:
+
+                 i. identification of the creator(s) of the Licensed
+                    Material and any others designated to receive
+                    attribution, in any reasonable manner requested by
+                    the Licensor (including by pseudonym if
+                    designated);
+
+                ii. a copyright notice;
+
+               iii. a notice that refers to this Public License;
+
+                iv. a notice that refers to the disclaimer of
+                    warranties;
+
+                 v. a URI or hyperlink to the Licensed Material to the
+                    extent reasonably practicable;
+
+            b. indicate if You modified the Licensed Material and
+               retain an indication of any previous modifications; and
+
+            c. indicate the Licensed Material is licensed under this
+               Public License, and include the text of, or the URI or
+               hyperlink to, this Public License.
+
+       2. You may satisfy the conditions in Section 3(a)(1) in any
+          reasonable manner based on the medium, means, and context in
+          which You Share the Licensed Material. For example, it may be
+          reasonable to satisfy the conditions by providing a URI or
+          hyperlink to a resource that includes the required
+          information.
+
+       3. If requested by the Licensor, You must remove any of the
+          information required by Section 3(a)(1)(A) to the extent
+          reasonably practicable.
+
+       4. If You Share Adapted Material You produce, the Adapter's
+          License You apply must not prevent recipients of the Adapted
+          Material from complying with this Public License.
+
+
+Section 4 -- Sui Generis Database Rights.
+
+Where the Licensed Rights include Sui Generis Database Rights that
+apply to Your use of the Licensed Material:
+
+  a. for the avoidance of doubt, Section 2(a)(1) grants You the right
+     to extract, reuse, reproduce, and Share all or a substantial
+     portion of the contents of the database;
+
+  b. if You include all or a substantial portion of the database
+     contents in a database in which You have Sui Generis Database
+     Rights, then the database in which You have Sui Generis Database
+     Rights (but not its individual contents) is Adapted Material; and
+
+  c. You must comply with the conditions in Section 3(a) if You Share
+     all or a substantial portion of the contents of the database.
+
+For the avoidance of doubt, this Section 4 supplements and does not
+replace Your obligations under this Public License where the Licensed
+Rights include other Copyright and Similar Rights.
+
+
+Section 5 -- Disclaimer of Warranties and Limitation of Liability.
+
+  a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
+     EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
+     AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
+     ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
+     IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
+     WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
+     PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
+     ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
+     KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
+     ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
+
+  b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
+     TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
+     NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
+     INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
+     COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
+     USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
+     ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
+     DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
+     IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
+
+  c. The disclaimer of warranties and limitation of liability provided
+     above shall be interpreted in a manner that, to the extent
+     possible, most closely approximates an absolute disclaimer and
+     waiver of all liability.
+
+
+Section 6 -- Term and Termination.
+
+  a. This Public License applies for the term of the Copyright and
+     Similar Rights licensed here. However, if You fail to comply with
+     this Public License, then Your rights under this Public License
+     terminate automatically.
+
+  b. Where Your right to use the Licensed Material has terminated under
+     Section 6(a), it reinstates:
+
+       1. automatically as of the date the violation is cured, provided
+          it is cured within 30 days of Your discovery of the
+          violation; or
+
+       2. upon express reinstatement by the Licensor.
+
+     For the avoidance of doubt, this Section 6(b) does not affect any
+     right the Licensor may have to seek remedies for Your violations
+     of this Public License.
+
+  c. For the avoidance of doubt, the Licensor may also offer the
+     Licensed Material under separate terms or conditions or stop
+     distributing the Licensed Material at any time; however, doing so
+     will not terminate this Public License.
+
+  d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
+     License.
+
+
+Section 7 -- Other Terms and Conditions.
+
+  a. The Licensor shall not be bound by any additional or different
+     terms or conditions communicated by You unless expressly agreed.
+
+  b. Any arrangements, understandings, or agreements regarding the
+     Licensed Material not stated herein are separate from and
+     independent of the terms and conditions of this Public License.
+
+
+Section 8 -- Interpretation.
+
+  a. For the avoidance of doubt, this Public License does not, and
+     shall not be interpreted to, reduce, limit, restrict, or impose
+     conditions on any use of the Licensed Material that could lawfully
+     be made without permission under this Public License.
+
+  b. To the extent possible, if any provision of this Public License is
+     deemed unenforceable, it shall be automatically reformed to the
+     minimum extent necessary to make it enforceable. If the provision
+     cannot be reformed, it shall be severed from this Public License
+     without affecting the enforceability of the remaining terms and
+     conditions.
+
+  c. No term or condition of this Public License will be waived and no
+     failure to comply consented to unless expressly agreed to by the
+     Licensor.
+
+  d. Nothing in this Public License constitutes or may be interpreted
+     as a limitation upon, or waiver of, any privileges and immunities
+     that apply to the Licensor or You, including from the legal
+     processes of any jurisdiction or authority.
+
+
+=======================================================================
+
+Creative Commons is not a party to its public
+licenses. Notwithstanding, Creative Commons may elect to apply one of
+its public licenses to material it publishes and in those instances
+will be considered the “Licensor.” The text of the Creative Commons
+public licenses is dedicated to the public domain under the CC0 Public
+Domain Dedication. Except for the limited purpose of indicating that
+material is shared under a Creative Commons public license or as
+otherwise permitted by the Creative Commons policies published at
+creativecommons.org/policies, Creative Commons does not authorize the
+use of the trademark "Creative Commons" or any other trademark or logo
+of Creative Commons without its prior written consent including,
+without limitation, in connection with any unauthorized modifications
+to any of its public licenses or any other arrangements,
+understandings, or agreements concerning use of licensed material. For
+the avoidance of doubt, this paragraph does not form part of the
+public licenses.
+
+Creative Commons may be contacted at creativecommons.org.
\ No newline at end of file
diff --git a/resources/primers_schemes/bed/MPXV/V1/MPXV.primer.bed b/resources/primers_schemes/bed/MPXV/V1/MPXV.primer.bed
new file mode 100644
index 0000000..5f60caa
--- /dev/null
+++ b/resources/primers_schemes/bed/MPXV/V1/MPXV.primer.bed
@@ -0,0 +1,326 @@
+MT903345	356	378	MPXV_1_LEFT	1	+
+MT903345	2395	2417	MPXV_1_RIGHT	1	-
+MT903345	1439	1461	MPXV_2_LEFT	2	+
+MT903345	3353	3375	MPXV_2_RIGHT	2	-
+MT903345	2606	2628	MPXV_3_LEFT	1	+
+MT903345	4593	4615	MPXV_3_RIGHT	1	-
+MT903345	3990	4012	MPXV_4_LEFT	2	+
+MT903345	5584	5607	MPXV_4_RIGHT	2	-
+MT903345	4991	5013	MPXV_5_LEFT	1	+
+MT903345	7027	7049	MPXV_5_RIGHT	1	-
+MT903345	6134	6156	MPXV_6_LEFT	2	+
+MT903345	8202	8224	MPXV_6_RIGHT	2	-
+MT903345	7417	7439	MPXV_7_LEFT	1	+
+MT903345	9405	9427	MPXV_7_RIGHT	1	-
+MT903345	8858	8880	MPXV_8_LEFT	2	+
+MT903345	10646	10668	MPXV_8_RIGHT	2	-
+MT903345	9767	9789	MPXV_9_LEFT	1	+
+MT903345	11731	11753	MPXV_9_RIGHT	1	-
+MT903345	10729	10751	MPXV_10_LEFT	2	+
+MT903345	12880	12902	MPXV_10_RIGHT	2	-
+MT903345	12290	12312	MPXV_11_LEFT	1	+
+MT903345	14020	14042	MPXV_11_RIGHT	1	-
+MT903345	13079	13101	MPXV_12_LEFT	2	+
+MT903345	15347	15369	MPXV_12_RIGHT	2	-
+MT903345	14663	14685	MPXV_13_LEFT	1	+
+MT903345	16733	16755	MPXV_13_RIGHT	1	-
+MT903345	15866	15888	MPXV_14_LEFT	2	+
+MT903345	18116	18138	MPXV_14_RIGHT	2	-
+MT903345	17282	17304	MPXV_15_LEFT	1	+
+MT903345	19262	19284	MPXV_15_RIGHT	1	-
+MT903345	18294	18316	MPXV_16_LEFT	2	+
+MT903345	20256	20278	MPXV_16_RIGHT	2	-
+MT903345	19740	19762	MPXV_17_LEFT	1	+
+MT903345	21690	21712	MPXV_17_RIGHT	1	-
+MT903345	21069	21091	MPXV_18_LEFT	2	+
+MT903345	22848	22870	MPXV_18_RIGHT	2	-
+MT903345	22029	22051	MPXV_19_LEFT	1	+
+MT903345	23931	23953	MPXV_19_RIGHT	1	-
+MT903345	23058	23080	MPXV_20_LEFT	2	+
+MT903345	24880	24902	MPXV_20_RIGHT	2	-
+MT903345	23975	23997	MPXV_21_LEFT	1	+
+MT903345	26160	26182	MPXV_21_RIGHT	1	-
+MT903345	25311	25333	MPXV_22_LEFT	2	+
+MT903345	27552	27574	MPXV_22_RIGHT	2	-
+MT903345	26810	26832	MPXV_23_LEFT	1	+
+MT903345	28859	28881	MPXV_23_RIGHT	1	-
+MT903345	27858	27880	MPXV_24_LEFT	2	+
+MT903345	30041	30063	MPXV_24_RIGHT	2	-
+MT903345	29492	29514	MPXV_25_LEFT	1	+
+MT903345	31057	31079	MPXV_25_RIGHT	1	-
+MT903345	30136	30158	MPXV_26_LEFT	2	+
+MT903345	32426	32448	MPXV_26_RIGHT	2	-
+MT903345	31730	31752	MPXV_27_LEFT	1	+
+MT903345	33548	33570	MPXV_27_RIGHT	1	-
+MT903345	33000	33022	MPXV_28_LEFT	2	+
+MT903345	34964	34986	MPXV_28_RIGHT	2	-
+MT903345	34181	34203	MPXV_29_LEFT	1	+
+MT903345	36344	36366	MPXV_29_RIGHT	1	-
+MT903345	35632	35654	MPXV_30_LEFT	2	+
+MT903345	37370	37392	MPXV_30_RIGHT	2	-
+MT903345	36423	36445	MPXV_31_LEFT	1	+
+MT903345	38633	38655	MPXV_31_RIGHT	1	-
+MT903345	37903	37925	MPXV_32_LEFT	2	+
+MT903345	39666	39688	MPXV_32_RIGHT	2	-
+MT903345	38939	38961	MPXV_33_LEFT	1	+
+MT903345	40939	40961	MPXV_33_RIGHT	1	-
+MT903345	40025	40047	MPXV_34_LEFT	2	+
+MT903345	42129	42151	MPXV_34_RIGHT	2	-
+MT903345	41186	41208	MPXV_35_LEFT	1	+
+MT903345	43252	43274	MPXV_35_RIGHT	1	-
+MT903345	42576	42598	MPXV_36_LEFT	2	+
+MT903345	44393	44415	MPXV_36_RIGHT	2	-
+MT903345	43813	43835	MPXV_37_LEFT	1	+
+MT903345	45826	45848	MPXV_37_RIGHT	1	-
+MT903345	45265	45287	MPXV_38_LEFT	2	+
+MT903345	47160	47182	MPXV_38_RIGHT	2	-
+MT903345	46384	46406	MPXV_39_LEFT	1	+
+MT903345	48581	48603	MPXV_39_RIGHT	1	-
+MT903345	47887	47909	MPXV_40_LEFT	2	+
+MT903345	49557	49579	MPXV_40_RIGHT	2	-
+MT903345	49014	49036	MPXV_41_LEFT	1	+
+MT903345	50960	50982	MPXV_41_RIGHT	1	-
+MT903345	50015	50037	MPXV_42_LEFT	2	+
+MT903345	52313	52335	MPXV_42_RIGHT	2	-
+MT903345	51409	51431	MPXV_43_LEFT	1	+
+MT903345	53382	53404	MPXV_43_RIGHT	1	-
+MT903345	52745	52767	MPXV_44_LEFT	2	+
+MT903345	54376	54398	MPXV_44_RIGHT	2	-
+MT903345	53797	53819	MPXV_45_LEFT	1	+
+MT903345	55509	55531	MPXV_45_RIGHT	1	-
+MT903345	54852	54874	MPXV_46_LEFT	2	+
+MT903345	56830	56852	MPXV_46_RIGHT	2	-
+MT903345	55974	55996	MPXV_47_LEFT	1	+
+MT903345	57890	57912	MPXV_47_RIGHT	1	-
+MT903345	57233	57255	MPXV_48_LEFT	2	+
+MT903345	59232	59254	MPXV_48_RIGHT	2	-
+MT903345	58683	58705	MPXV_49_LEFT	1	+
+MT903345	60300	60322	MPXV_49_RIGHT	1	-
+MT903345	59317	59339	MPXV_50_LEFT	2	+
+MT903345	61288	61310	MPXV_50_RIGHT	2	-
+MT903345	60711	60733	MPXV_51_LEFT	1	+
+MT903345	62585	62607	MPXV_51_RIGHT	1	-
+MT903345	61791	61813	MPXV_52_LEFT	2	+
+MT903345	63941	63963	MPXV_52_RIGHT	2	-
+MT903345	63140	63162	MPXV_53_LEFT	1	+
+MT903345	64969	64991	MPXV_53_RIGHT	1	-
+MT903345	64237	64259	MPXV_54_LEFT	2	+
+MT903345	66153	66175	MPXV_54_RIGHT	2	-
+MT903345	65306	65328	MPXV_55_LEFT	1	+
+MT903345	67356	67378	MPXV_55_RIGHT	1	-
+MT903345	66510	66532	MPXV_56_LEFT	2	+
+MT903345	68422	68444	MPXV_56_RIGHT	2	-
+MT903345	67453	67475	MPXV_57_LEFT	1	+
+MT903345	69517	69539	MPXV_57_RIGHT	1	-
+MT903345	68682	68704	MPXV_58_LEFT	2	+
+MT903345	70481	70503	MPXV_58_RIGHT	2	-
+MT903345	69722	69744	MPXV_59_LEFT	1	+
+MT903345	71941	71963	MPXV_59_RIGHT	1	-
+MT903345	71216	71238	MPXV_60_LEFT	2	+
+MT903345	73103	73125	MPXV_60_RIGHT	2	-
+MT903345	72358	72380	MPXV_61_LEFT	1	+
+MT903345	74275	74297	MPXV_61_RIGHT	1	-
+MT903345	73551	73573	MPXV_62_LEFT	2	+
+MT903345	75439	75461	MPXV_62_RIGHT	2	-
+MT903345	74533	74555	MPXV_63_LEFT	1	+
+MT903345	76557	76579	MPXV_63_RIGHT	1	-
+MT903345	75823	75845	MPXV_64_LEFT	2	+
+MT903345	77575	77597	MPXV_64_RIGHT	2	-
+MT903345	76756	76778	MPXV_65_LEFT	1	+
+MT903345	78814	78836	MPXV_65_RIGHT	1	-
+MT903345	77896	77919	MPXV_66_LEFT	2	+
+MT903345	80075	80097	MPXV_66_RIGHT	2	-
+MT903345	79176	79198	MPXV_67_LEFT	1	+
+MT903345	81264	81286	MPXV_67_RIGHT	1	-
+MT903345	80668	80691	MPXV_68_LEFT	2	+
+MT903345	82491	82513	MPXV_68_RIGHT	2	-
+MT903345	81726	81748	MPXV_69_LEFT	1	+
+MT903345	83678	83700	MPXV_69_RIGHT	1	-
+MT903345	83016	83038	MPXV_70_LEFT	2	+
+MT903345	84751	84773	MPXV_70_RIGHT	2	-
+MT903345	83959	83981	MPXV_71_LEFT	1	+
+MT903345	85799	85821	MPXV_71_RIGHT	1	-
+MT903345	85165	85187	MPXV_72_LEFT	2	+
+MT903345	87066	87088	MPXV_72_RIGHT	2	-
+MT903345	86488	86510	MPXV_73_LEFT	1	+
+MT903345	88323	88345	MPXV_73_RIGHT	1	-
+MT903345	87600	87622	MPXV_74_LEFT	2	+
+MT903345	89649	89671	MPXV_74_RIGHT	2	-
+MT903345	88702	88726	MPXV_75_LEFT	1	+
+MT903345	91056	91078	MPXV_75_RIGHT	1	-
+MT903345	90360	90382	MPXV_76_LEFT	2	+
+MT903345	92246	92268	MPXV_76_RIGHT	2	-
+MT903345	91464	91486	MPXV_77_LEFT	1	+
+MT903345	93361	93383	MPXV_77_RIGHT	1	-
+MT903345	92707	92729	MPXV_78_LEFT	2	+
+MT903345	94547	94570	MPXV_78_RIGHT	2	-
+MT903345	93852	93874	MPXV_79_LEFT	1	+
+MT903345	95607	95629	MPXV_79_RIGHT	1	-
+MT903345	94872	94894	MPXV_80_LEFT	2	+
+MT903345	96654	96676	MPXV_80_RIGHT	2	-
+MT903345	95897	95919	MPXV_81_LEFT	1	+
+MT903345	97806	97828	MPXV_81_RIGHT	1	-
+MT903345	97210	97232	MPXV_82_LEFT	2	+
+MT903345	99077	99099	MPXV_82_RIGHT	2	-
+MT903345	98139	98161	MPXV_83_LEFT	1	+
+MT903345	100447	100469	MPXV_83_RIGHT	1	-
+MT903345	99465	99487	MPXV_84_LEFT	2	+
+MT903345	101705	101727	MPXV_84_RIGHT	2	-
+MT903345	101077	101099	MPXV_85_LEFT	1	+
+MT903345	102833	102855	MPXV_85_RIGHT	1	-
+MT903345	101916	101938	MPXV_86_LEFT	2	+
+MT903345	103806	103828	MPXV_86_RIGHT	2	-
+MT903345	103235	103257	MPXV_87_LEFT	1	+
+MT903345	105068	105090	MPXV_87_RIGHT	1	-
+MT903345	104047	104069	MPXV_88_LEFT	2	+
+MT903345	106298	106320	MPXV_88_RIGHT	2	-
+MT903345	105407	105429	MPXV_89_LEFT	1	+
+MT903345	107404	107426	MPXV_89_RIGHT	1	-
+MT903345	106746	106768	MPXV_90_LEFT	2	+
+MT903345	108585	108607	MPXV_90_RIGHT	2	-
+MT903345	107927	107949	MPXV_91_LEFT	1	+
+MT903345	109870	109892	MPXV_91_RIGHT	1	-
+MT903345	109250	109272	MPXV_92_LEFT	2	+
+MT903345	111172	111194	MPXV_92_RIGHT	2	-
+MT903345	110548	110570	MPXV_93_LEFT	1	+
+MT903345	112346	112368	MPXV_93_RIGHT	1	-
+MT903345	111725	111747	MPXV_94_LEFT	2	+
+MT903345	113489	113511	MPXV_94_RIGHT	2	-
+MT903345	112793	112815	MPXV_95_LEFT	1	+
+MT903345	114896	114918	MPXV_95_RIGHT	1	-
+MT903345	114028	114050	MPXV_96_LEFT	2	+
+MT903345	116193	116216	MPXV_96_RIGHT	2	-
+MT903345	115648	115670	MPXV_97_LEFT	1	+
+MT903345	117548	117570	MPXV_97_RIGHT	1	-
+MT903345	116880	116902	MPXV_98_LEFT	2	+
+MT903345	118585	118607	MPXV_98_RIGHT	2	-
+MT903345	117756	117778	MPXV_99_LEFT	1	+
+MT903345	119762	119784	MPXV_99_RIGHT	1	-
+MT903345	118947	118969	MPXV_100_LEFT	2	+
+MT903345	120739	120761	MPXV_100_RIGHT	2	-
+MT903345	120255	120277	MPXV_101_LEFT	1	+
+MT903345	121948	121970	MPXV_101_RIGHT	1	-
+MT903345	121324	121346	MPXV_102_LEFT	2	+
+MT903345	122954	122976	MPXV_102_RIGHT	2	-
+MT903345	122348	122370	MPXV_103_LEFT	1	+
+MT903345	124294	124316	MPXV_103_RIGHT	1	-
+MT903345	123607	123629	MPXV_104_LEFT	2	+
+MT903345	125605	125627	MPXV_104_RIGHT	2	-
+MT903345	124669	124691	MPXV_105_LEFT	1	+
+MT903345	126984	127006	MPXV_105_RIGHT	1	-
+MT903345	126327	126349	MPXV_106_LEFT	2	+
+MT903345	128363	128385	MPXV_106_RIGHT	2	-
+MT903345	127456	127478	MPXV_107_LEFT	1	+
+MT903345	129806	129828	MPXV_107_RIGHT	1	-
+MT903345	128995	129017	MPXV_108_LEFT	2	+
+MT903345	131239	131261	MPXV_108_RIGHT	2	-
+MT903345	130359	130381	MPXV_109_LEFT	1	+
+MT903345	132681	132703	MPXV_109_RIGHT	1	-
+MT903345	132061	132083	MPXV_110_LEFT	2	+
+MT903345	133984	134006	MPXV_110_RIGHT	2	-
+MT903345	133125	133147	MPXV_111_LEFT	1	+
+MT903345	135056	135078	MPXV_111_RIGHT	1	-
+MT903345	134041	134063	MPXV_112_LEFT	2	+
+MT903345	136220	136242	MPXV_112_RIGHT	2	-
+MT903345	135188	135210	MPXV_113_LEFT	1	+
+MT903345	137446	137468	MPXV_113_RIGHT	1	-
+MT903345	136636	136658	MPXV_114_LEFT	2	+
+MT903345	138456	138478	MPXV_114_RIGHT	2	-
+MT903345	137753	137775	MPXV_115_LEFT	1	+
+MT903345	139755	139777	MPXV_115_RIGHT	1	-
+MT903345	139065	139088	MPXV_116_LEFT	2	+
+MT903345	141135	141157	MPXV_116_RIGHT	2	-
+MT903345	140505	140527	MPXV_117_LEFT	1	+
+MT903345	142493	142515	MPXV_117_RIGHT	1	-
+MT903345	141726	141748	MPXV_118_LEFT	2	+
+MT903345	143899	143921	MPXV_118_RIGHT	2	-
+MT903345	143125	143147	MPXV_119_LEFT	1	+
+MT903345	145129	145151	MPXV_119_RIGHT	1	-
+MT903345	144221	144243	MPXV_120_LEFT	2	+
+MT903345	146504	146526	MPXV_120_RIGHT	2	-
+MT903345	145683	145705	MPXV_121_LEFT	1	+
+MT903345	147491	147515	MPXV_121_RIGHT	1	-
+MT903345	146655	146677	MPXV_122_LEFT	2	+
+MT903345	148776	148798	MPXV_122_RIGHT	2	-
+MT903345	148194	148216	MPXV_123_LEFT	1	+
+MT903345	150016	150038	MPXV_123_RIGHT	1	-
+MT903345	149180	149202	MPXV_124_LEFT	2	+
+MT903345	151244	151266	MPXV_124_RIGHT	2	-
+MT903345	150457	150479	MPXV_125_LEFT	1	+
+MT903345	152584	152606	MPXV_125_RIGHT	1	-
+MT903345	151815	151837	MPXV_126_LEFT	2	+
+MT903345	153595	153617	MPXV_126_RIGHT	2	-
+MT903345	152655	152677	MPXV_127_LEFT	1	+
+MT903345	154813	154835	MPXV_127_RIGHT	1	-
+MT903345	153992	154014	MPXV_128_LEFT	2	+
+MT903345	155899	155921	MPXV_128_RIGHT	2	-
+MT903345	155006	155028	MPXV_129_LEFT	1	+
+MT903345	157303	157325	MPXV_129_RIGHT	1	-
+MT903345	156543	156565	MPXV_130_LEFT	2	+
+MT903345	158259	158281	MPXV_130_RIGHT	2	-
+MT903345	157783	157805	MPXV_131_LEFT	1	+
+MT903345	159433	159455	MPXV_131_RIGHT	1	-
+MT903345	158398	158421	MPXV_132_LEFT	2	+
+MT903345	160872	160895	MPXV_132_RIGHT	2	-
+MT903345	160098	160120	MPXV_133_LEFT	1	+
+MT903345	162057	162079	MPXV_133_RIGHT	1	-
+MT903345	161313	161335	MPXV_134_LEFT	2	+
+MT903345	163043	163065	MPXV_134_RIGHT	2	-
+MT903345	162555	162577	MPXV_135_LEFT	1	+
+MT903345	164489	164511	MPXV_135_RIGHT	1	-
+MT903345	163858	163880	MPXV_136_LEFT	2	+
+MT903345	165513	165535	MPXV_136_RIGHT	2	-
+MT903345	164937	164960	MPXV_137_LEFT	1	+
+MT903345	166946	166968	MPXV_137_RIGHT	1	-
+MT903345	165993	166015	MPXV_138_LEFT	2	+
+MT903345	168215	168237	MPXV_138_RIGHT	2	-
+MT903345	167503	167525	MPXV_139_LEFT	1	+
+MT903345	169254	169276	MPXV_139_RIGHT	1	-
+MT903345	168314	168336	MPXV_140_LEFT	2	+
+MT903345	170374	170396	MPXV_140_RIGHT	2	-
+MT903345	169602	169628	MPXV_141_LEFT	1	+
+MT903345	171509	171531	MPXV_141_RIGHT	1	-
+MT903345	170931	170953	MPXV_142_LEFT	2	+
+MT903345	172513	172535	MPXV_142_RIGHT	2	-
+MT903345	171898	171920	MPXV_143_LEFT	1	+
+MT903345	173581	173603	MPXV_143_RIGHT	1	-
+MT903345	173009	173031	MPXV_144_LEFT	2	+
+MT903345	174796	174818	MPXV_144_RIGHT	2	-
+MT903345	174125	174147	MPXV_145_LEFT	1	+
+MT903345	176213	176235	MPXV_145_RIGHT	1	-
+MT903345	175337	175359	MPXV_146_LEFT	2	+
+MT903345	177271	177293	MPXV_146_RIGHT	2	-
+MT903345	176298	176321	MPXV_147_LEFT	1	+
+MT903345	178300	178322	MPXV_147_RIGHT	1	-
+MT903345	177434	177456	MPXV_148_LEFT	2	+
+MT903345	179327	179349	MPXV_148_RIGHT	2	-
+MT903345	178763	178785	MPXV_149_LEFT	1	+
+MT903345	180553	180575	MPXV_149_RIGHT	1	-
+MT903345	179672	179694	MPXV_150_LEFT	2	+
+MT903345	181536	181558	MPXV_150_RIGHT	2	-
+MT903345	181043	181065	MPXV_151_LEFT	1	+
+MT903345	182725	182747	MPXV_151_RIGHT	1	-
+MT903345	182098	182121	MPXV_152_LEFT	2	+
+MT903345	183821	183843	MPXV_152_RIGHT	2	-
+MT903345	182924	182946	MPXV_153_LEFT	1	+
+MT903345	184806	184828	MPXV_153_RIGHT	1	-
+MT903345	184067	184089	MPXV_154_LEFT	2	+
+MT903345	186170	186192	MPXV_154_RIGHT	2	-
+MT903345	185280	185302	MPXV_155_LEFT	1	+
+MT903345	187518	187540	MPXV_155_RIGHT	1	-
+MT903345	186757	186779	MPXV_156_LEFT	2	+
+MT903345	188744	188766	MPXV_156_RIGHT	2	-
+MT903345	188008	188030	MPXV_157_LEFT	1	+
+MT903345	189896	189921	MPXV_157_RIGHT	1	-
+MT903345	189166	189188	MPXV_158_LEFT	2	+
+MT903345	191049	191071	MPXV_158_RIGHT	2	-
+MT903345	190199	190221	MPXV_159_LEFT	1	+
+MT903345	192192	192214	MPXV_159_RIGHT	1	-
+MT903345	191597	191620	MPXV_160_LEFT	2	+
+MT903345	193193	193215	MPXV_160_RIGHT	2	-
+MT903345	192591	192613	MPXV_161_LEFT	1	+
+MT903345	194274	194296	MPXV_161_RIGHT	1	-
+MT903345	193264	193286	MPXV_162_LEFT	2	+
+MT903345	195268	195290	MPXV_162_RIGHT	2	-
+MT903345	194788	194810	MPXV_163_LEFT	1	+
+MT903345	196402	196424	MPXV_163_RIGHT	1	-
diff --git a/resources/primers_schemes/bed/Nipah/V1/NiV_6_Malaysia.primer.bed b/resources/primers_schemes/bed/Nipah/V1/NiV_6_Malaysia.primer.bed
new file mode 100644
index 0000000..7a283b4
--- /dev/null
+++ b/resources/primers_schemes/bed/Nipah/V1/NiV_6_Malaysia.primer.bed
@@ -0,0 +1,120 @@
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	1	27	NiV_6_Malaysia_1_LEFT	1	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	378	401	NiV_6_Malaysia_1_RIGHT	1	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	319	341	NiV_6_Malaysia_2_LEFT	2	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	702	726	NiV_6_Malaysia_2_RIGHT	2	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	640	662	NiV_6_Malaysia_3_LEFT	1	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	1004	1028	NiV_6_Malaysia_3_RIGHT	1	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	943	965	NiV_6_Malaysia_4_LEFT	2	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	1308	1330	NiV_6_Malaysia_4_RIGHT	2	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	1239	1263	NiV_6_Malaysia_5_LEFT	1	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	1617	1639	NiV_6_Malaysia_5_RIGHT	1	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	1545	1567	NiV_6_Malaysia_6_LEFT	2	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	1900	1929	NiV_6_Malaysia_6_RIGHT	2	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	1840	1862	NiV_6_Malaysia_7_LEFT	1	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	2212	2234	NiV_6_Malaysia_7_RIGHT	1	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	2179	2204	NiV_6_Malaysia_8_LEFT	2	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	2538	2560	NiV_6_Malaysia_8_RIGHT	2	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	2477	2501	NiV_6_Malaysia_9_LEFT	1	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	2831	2857	NiV_6_Malaysia_9_RIGHT	1	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	2798	2820	NiV_6_Malaysia_10_LEFT	2	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	3156	3179	NiV_6_Malaysia_10_RIGHT	2	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	3113	3138	NiV_6_Malaysia_11_LEFT	1	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	3471	3493	NiV_6_Malaysia_11_RIGHT	1	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	3435	3457	NiV_6_Malaysia_12_LEFT	2	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	3795	3817	NiV_6_Malaysia_12_RIGHT	2	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	3718	3740	NiV_6_Malaysia_13_LEFT	1	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	4089	4111	NiV_6_Malaysia_13_RIGHT	1	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	4008	4037	NiV_6_Malaysia_14_LEFT	2	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	4364	4388	NiV_6_Malaysia_14_RIGHT	2	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	4283	4305	NiV_6_Malaysia_15_LEFT	1	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	4652	4674	NiV_6_Malaysia_15_RIGHT	1	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	4571	4596	NiV_6_Malaysia_16_LEFT	2	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	4924	4951	NiV_6_Malaysia_16_RIGHT	2	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	4878	4907	NiV_6_Malaysia_17_LEFT	1	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	5246	5269	NiV_6_Malaysia_17_RIGHT	1	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	5175	5197	NiV_6_Malaysia_18_LEFT	2	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	5567	5589	NiV_6_Malaysia_18_RIGHT	2	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	5500	5522	NiV_6_Malaysia_19_LEFT	1	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	5873	5901	NiV_6_Malaysia_19_RIGHT	1	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	5792	5814	NiV_6_Malaysia_20_LEFT	2	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	6145	6172	NiV_6_Malaysia_20_RIGHT	2	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	6081	6103	NiV_6_Malaysia_21_LEFT	1	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	6462	6487	NiV_6_Malaysia_21_RIGHT	1	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	6403	6429	NiV_6_Malaysia_22_LEFT	2	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	6760	6785	NiV_6_Malaysia_22_RIGHT	2	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	6711	6733	NiV_6_Malaysia_23_LEFT	1	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	7072	7097	NiV_6_Malaysia_23_RIGHT	1	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	7026	7048	NiV_6_Malaysia_24_LEFT	2	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	7385	7409	NiV_6_Malaysia_24_RIGHT	2	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	7346	7368	NiV_6_Malaysia_25_LEFT	1	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	7708	7733	NiV_6_Malaysia_25_RIGHT	1	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	7660	7682	NiV_6_Malaysia_26_LEFT	2	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	8027	8052	NiV_6_Malaysia_26_RIGHT	2	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	7932	7956	NiV_6_Malaysia_27_LEFT	1	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	8284	8312	NiV_6_Malaysia_27_RIGHT	1	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	8244	8267	NiV_6_Malaysia_28_LEFT	2	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	8604	8632	NiV_6_Malaysia_28_RIGHT	2	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	8503	8526	NiV_6_Malaysia_29_LEFT	1	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	8869	8893	NiV_6_Malaysia_29_RIGHT	1	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	8821	8850	NiV_6_Malaysia_30_LEFT	2	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	9191	9213	NiV_6_Malaysia_30_RIGHT	2	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	9150	9178	NiV_6_Malaysia_31_LEFT	1	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	9506	9531	NiV_6_Malaysia_31_RIGHT	1	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	9460	9482	NiV_6_Malaysia_32_LEFT	2	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	9829	9851	NiV_6_Malaysia_32_RIGHT	2	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	9751	9773	NiV_6_Malaysia_33_LEFT	1	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	10124	10148	NiV_6_Malaysia_33_RIGHT	1	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	10075	10100	NiV_6_Malaysia_34_LEFT	2	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	10441	10463	NiV_6_Malaysia_34_RIGHT	2	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	10384	10408	NiV_6_Malaysia_35_LEFT	1	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	10735	10764	NiV_6_Malaysia_35_RIGHT	1	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	10671	10698	NiV_6_Malaysia_36_LEFT	2	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	11029	11052	NiV_6_Malaysia_36_RIGHT	2	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	10940	10965	NiV_6_Malaysia_37_LEFT	1	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	11308	11333	NiV_6_Malaysia_37_RIGHT	1	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	11261	11283	NiV_6_Malaysia_38_LEFT	2	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	11614	11644	NiV_6_Malaysia_38_RIGHT	2	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	11525	11550	NiV_6_Malaysia_39_LEFT	1	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	11881	11910	NiV_6_Malaysia_39_RIGHT	1	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	11788	11813	NiV_6_Malaysia_40_LEFT	2	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	12151	12175	NiV_6_Malaysia_40_RIGHT	2	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	12097	12123	NiV_6_Malaysia_41_LEFT	1	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	12469	12494	NiV_6_Malaysia_41_RIGHT	1	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	12378	12403	NiV_6_Malaysia_42_LEFT	2	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	12749	12773	NiV_6_Malaysia_42_RIGHT	2	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	12712	12737	NiV_6_Malaysia_43_LEFT	1	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	13074	13097	NiV_6_Malaysia_43_RIGHT	1	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	13029	13053	NiV_6_Malaysia_44_LEFT	2	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	13384	13409	NiV_6_Malaysia_44_RIGHT	2	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	13346	13368	NiV_6_Malaysia_45_LEFT	1	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	13704	13726	NiV_6_Malaysia_45_RIGHT	1	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	13670	13694	NiV_6_Malaysia_46_LEFT	2	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	14028	14051	NiV_6_Malaysia_46_RIGHT	2	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	13968	13990	NiV_6_Malaysia_47_LEFT	1	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	14325	14348	NiV_6_Malaysia_47_RIGHT	1	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	14279	14304	NiV_6_Malaysia_48_LEFT	2	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	14651	14673	NiV_6_Malaysia_48_RIGHT	2	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	14595	14617	NiV_6_Malaysia_49_LEFT	1	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	14946	14976	NiV_6_Malaysia_49_RIGHT	1	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	14864	14888	NiV_6_Malaysia_50_LEFT	2	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	15228	15253	NiV_6_Malaysia_50_RIGHT	2	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	15148	15171	NiV_6_Malaysia_51_LEFT	1	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	15534	15562	NiV_6_Malaysia_51_RIGHT	1	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	15484	15506	NiV_6_Malaysia_52_LEFT	2	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	15855	15881	NiV_6_Malaysia_52_RIGHT	2	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	15784	15806	NiV_6_Malaysia_53_LEFT	1	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	16173	16196	NiV_6_Malaysia_53_RIGHT	1	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	16102	16126	NiV_6_Malaysia_54_LEFT	2	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	16455	16483	NiV_6_Malaysia_54_RIGHT	2	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	16403	16433	NiV_6_Malaysia_55_LEFT	1	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	16758	16784	NiV_6_Malaysia_55_RIGHT	1	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	16709	16733	NiV_6_Malaysia_56_LEFT	2	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	17077	17099	NiV_6_Malaysia_56_RIGHT	2	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	17033	17061	NiV_6_Malaysia_57_LEFT	1	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	17399	17422	NiV_6_Malaysia_57_RIGHT	1	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	17340	17362	NiV_6_Malaysia_58_LEFT	2	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	17701	17726	NiV_6_Malaysia_58_RIGHT	2	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	17669	17691	NiV_6_Malaysia_59_LEFT	1	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	18025	18049	NiV_6_Malaysia_59_RIGHT	1	-
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	17814	17836	NiV_6_Malaysia_60_LEFT	2	+
+NiV|AJ564622|NV/MY/99/VRI-1413|pig|Malaysia|||1999	18166	18196	NiV_6_Malaysia_60_RIGHT	2	-
diff --git a/resources/primers_schemes/bed/README.md b/resources/primers_schemes/bed/README.md
new file mode 100644
index 0000000..9ceacbc
--- /dev/null
+++ b/resources/primers_schemes/bed/README.md
@@ -0,0 +1,74 @@
+# primer-schemes
+
+Primer schemes for real-time genome epidemiology
+
+[![Build Status](https://travis-ci.org/artic-network/primer-schemes.svg?branch=master)](https://travis-ci.org/artic-network/primer-schemes)
+[![DOI](https://zenodo.org/badge/96756353.svg)](https://zenodo.org/badge/latestdoi/96756353)
+
+## About
+
+The primer schemes in this repository were built using [Primal Scheme](https://primalscheme.com/) and are available for the following viruses:
+
+- Ebola
+- Nipah
+- SARS-CoV-2 (nCoV-2019)
+
+Within each virus directory, there are versioned sub-directories which each contain a versioned scheme for that virus.
+
+The following files are available per scheme version:
+
+| file extension     | about                                                                                  |
+| ------------------ | -------------------------------------------------------------------------------------- |
+| `.primer.bed`      | The coordinates of each primer in the scheme                                           |
+| `.insert.bed`      | The coordinates of the expected amplicons that the scheme produces (excluding primers) |
+| `.reference.fasta` | The sequence of the reference genome used for the scheme                               |
+| `.tsv`             | Details on each primer in the scheme (name, sequence, length, GC, TM)                  |
+
+For more information visit the [ARTIC network website](https://artic.network/).
+
+## Notes
+
+- There may be some additional files in the scheme directories - these are either deprecated and left for backward compatibility (e.g. `scheme.bed`), or are created by Primal Scheme [check here](https://github.com/aresti/primalscheme) for more info.
+- The schemes are in BED format, which is a 0-based, half-open format. This means that reference sequence position counting starts at 0 and the chromEnd is not included in the primer sequence.
+- All the schemes within this repository can be downloaded using [artic-tools](https://github.com/will-rowe/artic-tools) (e.g. `artic-tools get_scheme ebola --schemeVersion 2`)
+- The SARS-CoV-2 directory is an alias to the original nCoV-2019 directory, left for backwards compatibility
+
+## Updated scheme file format
+
+> updated: 25.08.2020
+
+### changes
+
+With the major version bump to [Primal Scheme](https://github.com/aresti/primalscheme), primer schemes are now output to `*.primer.bed` files.
+
+These new files aren't much different to the old `*.scheme.bed` files and the same information is contained within, but they now conform to the [BED standard](https://genome.ucsc.edu/FAQ/FAQformat.html#format1).
+
+The new format has the following columns:
+
+| column | name       | type         | description                                               |
+| ------ | ---------- | ------------ | --------------------------------------------------------- |
+| 1      | chrom      | string       | primer reference sequence                                 |
+| 2      | chromStart | int          | starting position of the primer in the reference sequence |
+| 3      | chomEnd    | int          | ending position of the primer in the reference sequence   |
+| 4      | name       | string       | primer name                                               |
+| 5      | primerPool | int          | primer pool<sup>\*</sup>                                  |
+| 6      | strand     | string (+/-) | primer direction                                          |
+
+<sup>\*</sup> column 5 in the BED spec is an int for score, whereas here we are using it to denote primerPool.
+
+### commands
+
+The `liftover.py` script was used to create a `*.primer.bed` file for each `*.scheme.bed` file, within each scheme directory in this repository.
+
+The `validate_scheme` command from [artic-tools](https://github.com/will-rowe/artic-tools) was used to validate each `*.primer.bed` and also to create the `*.insert.bed` file which is produced by recent versions of [Primal Scheme](https://github.com/aresti/primalscheme).
+
+The following commands where used:
+
+```bash
+for i in */V*/*.scheme.bed;
+do
+basename=${i%%.scheme.bed}
+scripts/liftover.py -i $i -o ${basename}.primer.bed;
+artic-tools validate_scheme ${basename}.primer.bed --outputInserts ${basename}.insert.bed
+done;
+```
diff --git a/resources/primers_schemes/bed/ZaireEbola/V1/ZaireEbola.primer.bed b/resources/primers_schemes/bed/ZaireEbola/V1/ZaireEbola.primer.bed
new file mode 100644
index 0000000..44709f8
--- /dev/null
+++ b/resources/primers_schemes/bed/ZaireEbola/V1/ZaireEbola.primer.bed
@@ -0,0 +1,46 @@
+KR063671.1	32	59	Ebov_1_LEFT	1	+
+KR063671.1	1035	1057	Ebov_1_RIGHT	1	-
+KR063671.1	907	929	Ebov_2_LEFT	2	+
+KR063671.1	1859	1881	Ebov_2_RIGHT	2	-
+KR063671.1	1730	1753	Ebov_3_LEFT	1	+
+KR063671.1	2689	2711	Ebov_3_RIGHT	1	-
+KR063671.1	2555	2577	Ebov_4_LEFT	2	+
+KR063671.1	3556	3578	Ebov_4_RIGHT	2	-
+KR063671.1	3417	3439	Ebov_5_LEFT	1	+
+KR063671.1	4409	4431	Ebov_5_RIGHT	1	-
+KR063671.1	4274	4303	Ebov_6_LEFT	2	+
+KR063671.1	5279	5301	Ebov_6_RIGHT	2	-
+KR063671.1	5149	5171	Ebov_7_LEFT	1	+
+KR063671.1	6030	6052	Ebov_7_RIGHT	1	-
+KR063671.1	5895	5917	Ebov_8_LEFT	2	+
+KR063671.1	6792	6814	Ebov_8_RIGHT	2	-
+KR063671.1	6656	6678	Ebov_9_LEFT	1	+
+KR063671.1	7592	7614	Ebov_9_RIGHT	1	-
+KR063671.1	7438	7460	Ebov_10_LEFT	2	+
+KR063671.1	8406	8428	Ebov_10_RIGHT	2	-
+KR063671.1	8239	8269	Ebov_11_LEFT	1	+
+KR063671.1	9267	9289	Ebov_11_RIGHT	1	-
+KR063671.1	9139	9166	Ebov_12_LEFT	2	+
+KR063671.1	10026	10048	Ebov_12_RIGHT	2	-
+KR063671.1	9895	9920	Ebov_13_LEFT	1	+
+KR063671.1	10787	10809	Ebov_13_RIGHT	1	-
+KR063671.1	10651	10673	Ebov_14_LEFT	2	+
+KR063671.1	11646	11668	Ebov_14_RIGHT	2	-
+KR063671.1	11517	11540	Ebov_15_LEFT	1	+
+KR063671.1	12467	12489	Ebov_15_RIGHT	1	-
+KR063671.1	12337	12365	Ebov_16_LEFT	2	+
+KR063671.1	13276	13298	Ebov_16_RIGHT	2	-
+KR063671.1	13141	13171	Ebov_17_LEFT	1	+
+KR063671.1	14031	14053	Ebov_17_RIGHT	1	-
+KR063671.1	13897	13919	Ebov_18_LEFT	2	+
+KR063671.1	14781	14803	Ebov_18_RIGHT	2	-
+KR063671.1	14651	14673	Ebov_19_LEFT	1	+
+KR063671.1	15621	15643	Ebov_19_RIGHT	1	-
+KR063671.1	15480	15502	Ebov_20_LEFT	2	+
+KR063671.1	16471	16493	Ebov_20_RIGHT	2	-
+KR063671.1	16331	16358	Ebov_21_LEFT	1	+
+KR063671.1	17311	17333	Ebov_21_RIGHT	1	-
+KR063671.1	17182	17210	Ebov_22_LEFT	2	+
+KR063671.1	18161	18183	Ebov_22_RIGHT	2	-
+KR063671.1	17941	17968	Ebov_23_LEFT	1	+
+KR063671.1	18894	18916	Ebov_23_RIGHT	1	-
diff --git a/resources/primers_schemes/bed/ZaireEbola/V2/ZaireEbola.primer.bed b/resources/primers_schemes/bed/ZaireEbola/V2/ZaireEbola.primer.bed
new file mode 100644
index 0000000..213ef90
--- /dev/null
+++ b/resources/primers_schemes/bed/ZaireEbola/V2/ZaireEbola.primer.bed
@@ -0,0 +1,94 @@
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	38	64	Ebola-Zaire_1_LEFT	1	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	500	522	Ebola-Zaire_1_RIGHT	1	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	434	459	Ebola-Zaire_2_LEFT	2	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	907	929	Ebola-Zaire_2_RIGHT	2	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	859	881	Ebola-Zaire_3_LEFT	1	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	1327	1349	Ebola-Zaire_3_RIGHT	1	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	1251	1273	Ebola-Zaire_4_LEFT	2	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	1740	1762	Ebola-Zaire_4_RIGHT	2	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	1687	1709	Ebola-Zaire_5_LEFT	1	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	2143	2165	Ebola-Zaire_5_RIGHT	1	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	2065	2087	Ebola-Zaire_6_LEFT	2	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	2557	2580	Ebola-Zaire_6_RIGHT	2	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	2508	2531	Ebola-Zaire_7_LEFT	1	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	2975	2997	Ebola-Zaire_7_RIGHT	1	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	2894	2924	Ebola-Zaire_8_LEFT	2	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	3347	3370	Ebola-Zaire_8_RIGHT	2	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	3291	3313	Ebola-Zaire_9_LEFT	1	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	3768	3790	Ebola-Zaire_9_RIGHT	1	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	3694	3716	Ebola-Zaire_10_LEFT	2	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	4147	4169	Ebola-Zaire_10_RIGHT	2	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	4074	4096	Ebola-Zaire_11_LEFT	1	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	4566	4588	Ebola-Zaire_11_RIGHT	1	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	4493	4515	Ebola-Zaire_12_LEFT	2	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	4947	4969	Ebola-Zaire_12_RIGHT	2	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	4871	4893	Ebola-Zaire_13_LEFT	1	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	5343	5366	Ebola-Zaire_13_RIGHT	1	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	5280	5302	Ebola-Zaire_14_LEFT	2	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	5757	5779	Ebola-Zaire_14_RIGHT	2	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	5708	5737	Ebola-Zaire_15_LEFT	1	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	6166	6190	Ebola-Zaire_15_RIGHT	1	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	6122	6146	Ebola-Zaire_16_LEFT	2	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	6580	6602	Ebola-Zaire_16_RIGHT	2	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	6523	6545	Ebola-Zaire_17_LEFT	1	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	6986	7008	Ebola-Zaire_17_RIGHT	1	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	6924	6949	Ebola-Zaire_18_LEFT	2	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	7377	7399	Ebola-Zaire_18_RIGHT	2	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	7323	7345	Ebola-Zaire_19_LEFT	1	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	7776	7798	Ebola-Zaire_19_RIGHT	1	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	7722	7744	Ebola-Zaire_20_LEFT	2	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	8178	8202	Ebola-Zaire_20_RIGHT	2	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	8100	8124	Ebola-Zaire_21_LEFT	1	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	8555	8577	Ebola-Zaire_21_RIGHT	1	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	8515	8537	Ebola-Zaire_22_LEFT	2	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	8970	8992	Ebola-Zaire_22_RIGHT	2	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	8891	8914	Ebola-Zaire_23_LEFT	1	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	9345	9367	Ebola-Zaire_23_RIGHT	1	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	9269	9291	Ebola-Zaire_24_LEFT	2	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	9765	9787	Ebola-Zaire_24_RIGHT	2	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	9670	9693	Ebola-Zaire_25_LEFT	1	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	10162	10185	Ebola-Zaire_25_RIGHT	1	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	10096	10125	Ebola-Zaire_26_LEFT	2	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	10544	10571	Ebola-Zaire_26_RIGHT	2	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	10489	10511	Ebola-Zaire_27_LEFT	1	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	10944	10966	Ebola-Zaire_27_RIGHT	1	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	10863	10890	Ebola-Zaire_28_LEFT	2	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	11312	11341	Ebola-Zaire_28_RIGHT	2	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	11243	11265	Ebola-Zaire_29_LEFT	1	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	11703	11725	Ebola-Zaire_29_RIGHT	1	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	11650	11672	Ebola-Zaire_30_LEFT	2	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	12120	12143	Ebola-Zaire_30_RIGHT	2	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	12043	12067	Ebola-Zaire_31_LEFT	1	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	12518	12540	Ebola-Zaire_31_RIGHT	1	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	12466	12489	Ebola-Zaire_32_LEFT	2	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	12919	12941	Ebola-Zaire_32_RIGHT	2	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	12840	12867	Ebola-Zaire_33_LEFT	1	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	13316	13339	Ebola-Zaire_33_RIGHT	1	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	13274	13296	Ebola-Zaire_34_LEFT	2	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	13724	13749	Ebola-Zaire_34_RIGHT	2	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	13667	13689	Ebola-Zaire_35_LEFT	1	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	14129	14154	Ebola-Zaire_35_RIGHT	1	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	14075	14097	Ebola-Zaire_36_LEFT	2	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	14543	14565	Ebola-Zaire_36_RIGHT	2	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	14489	14511	Ebola-Zaire_37_LEFT	1	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	14949	14972	Ebola-Zaire_37_RIGHT	1	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	14869	14893	Ebola-Zaire_38_LEFT	2	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	15353	15377	Ebola-Zaire_38_RIGHT	2	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	15275	15297	Ebola-Zaire_39_LEFT	1	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	15741	15767	Ebola-Zaire_39_RIGHT	1	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	15692	15721	Ebola-Zaire_40_LEFT	2	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	16140	16167	Ebola-Zaire_40_RIGHT	2	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	16094	16119	Ebola-Zaire_41_LEFT	1	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	16553	16576	Ebola-Zaire_41_RIGHT	1	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	16489	16511	Ebola-Zaire_42_LEFT	2	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	16946	16970	Ebola-Zaire_42_RIGHT	2	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	16891	16913	Ebola-Zaire_43_LEFT	1	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	17354	17376	Ebola-Zaire_43_RIGHT	1	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	17313	17335	Ebola-Zaire_44_LEFT	2	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	17764	17794	Ebola-Zaire_44_RIGHT	2	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	17713	17739	Ebola-Zaire_45_LEFT	1	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	18168	18190	Ebola-Zaire_45_RIGHT	1	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	18084	18110	Ebola-Zaire_46_LEFT	2	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	18546	18573	Ebola-Zaire_46_RIGHT	2	-
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	18435	18458	Ebola-Zaire_47_LEFT	1	+
+EBOV|AF272001|Mayinga|Yambuku_DRC|1976	18896	18918	Ebola-Zaire_47_RIGHT	1	-
diff --git a/resources/primers_schemes/bed/ZaireEbola/V3/ZaireEbola.primer.bed b/resources/primers_schemes/bed/ZaireEbola/V3/ZaireEbola.primer.bed
new file mode 100644
index 0000000..83ef9ad
--- /dev/null
+++ b/resources/primers_schemes/bed/ZaireEbola/V3/ZaireEbola.primer.bed
@@ -0,0 +1,124 @@
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	37	62	Ebov-10-Pan_1_LEFT	1	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	402	427	Ebov-10-Pan_1_RIGHT	1	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	333	360	Ebov-10-Pan_2_LEFT	2	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	704	726	Ebov-10-Pan_2_RIGHT	2	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	641	663	Ebov-10-Pan_3_LEFT	1	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	999	1021	Ebov-10-Pan_3_RIGHT	1	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	922	946	Ebov-10-Pan_4_LEFT	2	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	1300	1322	Ebov-10-Pan_4_RIGHT	2	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	1250	1272	Ebov-10-Pan_5_LEFT	1	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	1609	1635	Ebov-10-Pan_5_RIGHT	1	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	1542	1564	Ebov-10-Pan_6_LEFT	2	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	1927	1949	Ebov-10-Pan_6_RIGHT	2	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	1860	1882	Ebov-10-Pan_7_LEFT	1	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	2231	2253	Ebov-10-Pan_7_RIGHT	1	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	2161	2183	Ebov-10-Pan_8_LEFT	2	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	2531	2553	Ebov-10-Pan_8_RIGHT	2	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	2383	2405	Ebov-10-Pan_9_LEFT	1	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	2739	2763	Ebov-10-Pan_9_RIGHT	1	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	2699	2722	Ebov-10-Pan_10_LEFT	2	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	3059	3085	Ebov-10-Pan_10_RIGHT	2	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	2974	2996	Ebov-10-Pan_11_LEFT	1	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	3339	3361	Ebov-10-Pan_11_RIGHT	1	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	3296	3318	Ebov-10-Pan_12_LEFT	2	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	3662	3684	Ebov-10-Pan_12_RIGHT	2	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	3610	3632	Ebov-10-Pan_13_LEFT	1	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	3988	4010	Ebov-10-Pan_13_RIGHT	1	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	3900	3922	Ebov-10-Pan_14_LEFT	2	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	4274	4303	Ebov-10-Pan_14_RIGHT	2	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	4239	4268	Ebov-10-Pan_15_LEFT	1	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	4600	4622	Ebov-10-Pan_15_RIGHT	1	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	4565	4587	Ebov-10-Pan_16_LEFT	2	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	4926	4948	Ebov-10-Pan_16_RIGHT	2	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	4867	4889	Ebov-10-Pan_17_LEFT	1	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	5252	5274	Ebov-10-Pan_17_RIGHT	1	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	5182	5210	Ebov-10-Pan_18_LEFT	2	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	5532	5562	Ebov-10-Pan_18_RIGHT	2	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	5474	5504	Ebov-10-Pan_19_LEFT	1	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	5857	5880	Ebov-10-Pan_19_RIGHT	1	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	5791	5813	Ebov-10-Pan_20_LEFT	2	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	6165	6189	Ebov-10-Pan_20_RIGHT	2	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	6121	6145	Ebov-10-Pan_21_LEFT	1	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	6490	6512	Ebov-10-Pan_21_RIGHT	1	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	6439	6461	Ebov-10-Pan_22_LEFT	2	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	6794	6820	Ebov-10-Pan_22_RIGHT	2	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	6738	6762	Ebov-10-Pan_23_LEFT	1	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	7120	7142	Ebov-10-Pan_23_RIGHT	1	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	7079	7101	Ebov-10-Pan_24_LEFT	2	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	7438	7460	Ebov-10-Pan_24_RIGHT	2	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	7377	7399	Ebov-10-Pan_25_LEFT	1	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	7751	7773	Ebov-10-Pan_25_RIGHT	1	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	7698	7720	Ebov-10-Pan_26_LEFT	2	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	8071	8096	Ebov-10-Pan_26_RIGHT	2	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	8003	8028	Ebov-10-Pan_27_LEFT	1	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	8365	8388	Ebov-10-Pan_27_RIGHT	1	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	8330	8358	Ebov-10-Pan_28_LEFT	2	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	8688	8711	Ebov-10-Pan_28_RIGHT	2	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	8618	8640	Ebov-10-Pan_29_LEFT	1	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	9011	9035	Ebov-10-Pan_29_RIGHT	1	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	8947	8969	Ebov-10-Pan_30_LEFT	2	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	9337	9359	Ebov-10-Pan_30_RIGHT	2	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	9267	9289	Ebov-10-Pan_31_LEFT	1	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	9663	9685	Ebov-10-Pan_31_RIGHT	1	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	9603	9625	Ebov-10-Pan_32_LEFT	2	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	9966	9992	Ebov-10-Pan_32_RIGHT	2	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	9895	9920	Ebov-10-Pan_33_LEFT	1	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	10257	10279	Ebov-10-Pan_33_RIGHT	1	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	10176	10201	Ebov-10-Pan_34_LEFT	2	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	10541	10563	Ebov-10-Pan_34_RIGHT	2	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	10487	10509	Ebov-10-Pan_35_LEFT	1	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	10846	10869	Ebov-10-Pan_35_RIGHT	1	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	10788	10810	Ebov-10-Pan_36_LEFT	2	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	11141	11169	Ebov-10-Pan_36_RIGHT	2	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	11048	11074	Ebov-10-Pan_37_LEFT	1	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	11407	11431	Ebov-10-Pan_37_RIGHT	1	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	11298	11323	Ebov-10-Pan_38_LEFT	2	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	11689	11711	Ebov-10-Pan_38_RIGHT	2	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	11646	11668	Ebov-10-Pan_39_LEFT	1	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	11999	12027	Ebov-10-Pan_39_RIGHT	1	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	11939	11961	Ebov-10-Pan_40_LEFT	2	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	12314	12341	Ebov-10-Pan_40_RIGHT	2	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	12234	12256	Ebov-10-Pan_41_LEFT	1	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	12611	12637	Ebov-10-Pan_41_RIGHT	1	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	12546	12571	Ebov-10-Pan_42_LEFT	2	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	12919	12941	Ebov-10-Pan_42_RIGHT	2	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	12843	12869	Ebov-10-Pan_43_LEFT	1	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	13204	13232	Ebov-10-Pan_43_RIGHT	1	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	13161	13186	Ebov-10-Pan_44_LEFT	2	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	13514	13541	Ebov-10-Pan_44_RIGHT	2	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	13443	13467	Ebov-10-Pan_45_LEFT	1	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	13838	13860	Ebov-10-Pan_45_RIGHT	1	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	13778	13800	Ebov-10-Pan_46_LEFT	2	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	14149	14171	Ebov-10-Pan_46_RIGHT	2	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	14097	14119	Ebov-10-Pan_47_LEFT	1	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	14455	14477	Ebov-10-Pan_47_RIGHT	1	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	14395	14421	Ebov-10-Pan_48_LEFT	2	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	14781	14803	Ebov-10-Pan_48_RIGHT	2	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	14675	14697	Ebov-10-Pan_49_LEFT	1	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	15039	15061	Ebov-10-Pan_49_RIGHT	1	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	14994	15018	Ebov-10-Pan_50_LEFT	2	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	15351	15374	Ebov-10-Pan_50_RIGHT	2	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	15281	15311	Ebov-10-Pan_51_LEFT	1	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	15638	15661	Ebov-10-Pan_51_RIGHT	1	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	15602	15626	Ebov-10-Pan_52_LEFT	2	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	15960	15986	Ebov-10-Pan_52_RIGHT	2	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	15899	15922	Ebov-10-Pan_53_LEFT	1	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	16270	16297	Ebov-10-Pan_53_RIGHT	1	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	16206	16228	Ebov-10-Pan_54_LEFT	2	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	16568	16591	Ebov-10-Pan_54_RIGHT	2	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	16505	16527	Ebov-10-Pan_55_LEFT	1	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	16889	16911	Ebov-10-Pan_55_RIGHT	1	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	16849	16871	Ebov-10-Pan_56_LEFT	2	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	17204	17230	Ebov-10-Pan_56_RIGHT	2	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	17145	17167	Ebov-10-Pan_57_LEFT	1	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	17524	17551	Ebov-10-Pan_57_RIGHT	1	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	17445	17469	Ebov-10-Pan_58_LEFT	2	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	17837	17861	Ebov-10-Pan_58_RIGHT	2	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	17800	17824	Ebov-10-Pan_59_LEFT	1	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	18161	18183	Ebov-10-Pan_59_RIGHT	1	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	18082	18108	Ebov-10-Pan_60_LEFT	2	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	18448	18474	Ebov-10-Pan_60_RIGHT	2	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	18404	18426	Ebov-10-Pan_61_LEFT	1	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	18761	18788	Ebov-10-Pan_61_RIGHT	1	-
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	18542	18568	Ebov-10-Pan_62_LEFT	2	+
+KR063671|Yambuku-Mayinga|DRC|1976-10-01	18897	18922	Ebov-10-Pan_62_RIGHT	2	-
diff --git a/resources/primers_schemes/bed/nCoV-2019/V1/nCoV-2019.primer.bed b/resources/primers_schemes/bed/nCoV-2019/V1/nCoV-2019.primer.bed
new file mode 100644
index 0000000..2a05af6
--- /dev/null
+++ b/resources/primers_schemes/bed/nCoV-2019/V1/nCoV-2019.primer.bed
@@ -0,0 +1,196 @@
+MN908947.3	30	54	nCoV-2019_1_LEFT	1	+
+MN908947.3	385	410	nCoV-2019_1_RIGHT	1	-
+MN908947.3	320	342	nCoV-2019_2_LEFT	2	+
+MN908947.3	704	726	nCoV-2019_2_RIGHT	2	-
+MN908947.3	642	664	nCoV-2019_3_LEFT	1	+
+MN908947.3	1004	1028	nCoV-2019_3_RIGHT	1	-
+MN908947.3	943	965	nCoV-2019_4_LEFT	2	+
+MN908947.3	1312	1337	nCoV-2019_4_RIGHT	2	-
+MN908947.3	1242	1264	nCoV-2019_5_LEFT	1	+
+MN908947.3	1623	1651	nCoV-2019_5_RIGHT	1	-
+MN908947.3	1573	1595	nCoV-2019_6_LEFT	2	+
+MN908947.3	1942	1964	nCoV-2019_6_RIGHT	2	-
+MN908947.3	1875	1897	nCoV-2019_7_LEFT	1	+
+MN908947.3	2247	2269	nCoV-2019_7_RIGHT	1	-
+MN908947.3	2181	2205	nCoV-2019_8_LEFT	2	+
+MN908947.3	2568	2592	nCoV-2019_8_RIGHT	2	-
+MN908947.3	2505	2529	nCoV-2019_9_LEFT	1	+
+MN908947.3	2882	2904	nCoV-2019_9_RIGHT	1	-
+MN908947.3	2826	2850	nCoV-2019_10_LEFT	2	+
+MN908947.3	3183	3210	nCoV-2019_10_RIGHT	2	-
+MN908947.3	3144	3166	nCoV-2019_11_LEFT	1	+
+MN908947.3	3507	3531	nCoV-2019_11_RIGHT	1	-
+MN908947.3	3460	3482	nCoV-2019_12_LEFT	2	+
+MN908947.3	3826	3853	nCoV-2019_12_RIGHT	2	-
+MN908947.3	3771	3795	nCoV-2019_13_LEFT	1	+
+MN908947.3	4142	4164	nCoV-2019_13_RIGHT	1	-
+MN908947.3	4054	4077	nCoV-2019_14_LEFT	2	+
+MN908947.3	4428	4450	nCoV-2019_14_RIGHT	2	-
+MN908947.3	4294	4321	nCoV-2019_15_LEFT	1	+
+MN908947.3	4674	4696	nCoV-2019_15_RIGHT	1	-
+MN908947.3	4636	4658	nCoV-2019_16_LEFT	2	+
+MN908947.3	4995	5017	nCoV-2019_16_RIGHT	2	-
+MN908947.3	4939	4966	nCoV-2019_17_LEFT	1	+
+MN908947.3	5296	5321	nCoV-2019_17_RIGHT	1	-
+MN908947.3	5230	5259	nCoV-2019_18_LEFT	2	+
+MN908947.3	5620	5644	nCoV-2019_18_RIGHT	2	-
+MN908947.3	5563	5586	nCoV-2019_19_LEFT	1	+
+MN908947.3	5932	5957	nCoV-2019_19_RIGHT	1	-
+MN908947.3	5867	5894	nCoV-2019_20_LEFT	2	+
+MN908947.3	6247	6272	nCoV-2019_20_RIGHT	2	-
+MN908947.3	6167	6196	nCoV-2019_21_LEFT	1	+
+MN908947.3	6528	6550	nCoV-2019_21_RIGHT	1	-
+MN908947.3	6466	6495	nCoV-2019_22_LEFT	2	+
+MN908947.3	6846	6873	nCoV-2019_22_RIGHT	2	-
+MN908947.3	6718	6745	nCoV-2019_23_LEFT	1	+
+MN908947.3	7092	7117	nCoV-2019_23_RIGHT	1	-
+MN908947.3	7035	7058	nCoV-2019_24_LEFT	2	+
+MN908947.3	7389	7415	nCoV-2019_24_RIGHT	2	-
+MN908947.3	7305	7332	nCoV-2019_25_LEFT	1	+
+MN908947.3	7671	7694	nCoV-2019_25_RIGHT	1	-
+MN908947.3	7626	7651	nCoV-2019_26_LEFT	2	+
+MN908947.3	7997	8019	nCoV-2019_26_RIGHT	2	-
+MN908947.3	7943	7968	nCoV-2019_27_LEFT	1	+
+MN908947.3	8319	8341	nCoV-2019_27_RIGHT	1	-
+MN908947.3	8249	8275	nCoV-2019_28_LEFT	2	+
+MN908947.3	8635	8661	nCoV-2019_28_RIGHT	2	-
+MN908947.3	8595	8619	nCoV-2019_29_LEFT	1	+
+MN908947.3	8954	8983	nCoV-2019_29_RIGHT	1	-
+MN908947.3	8888	8913	nCoV-2019_30_LEFT	2	+
+MN908947.3	9245	9271	nCoV-2019_30_RIGHT	2	-
+MN908947.3	9204	9226	nCoV-2019_31_LEFT	1	+
+MN908947.3	9557	9585	nCoV-2019_31_RIGHT	1	-
+MN908947.3	9477	9502	nCoV-2019_32_LEFT	2	+
+MN908947.3	9834	9858	nCoV-2019_32_RIGHT	2	-
+MN908947.3	9784	9806	nCoV-2019_33_LEFT	1	+
+MN908947.3	10146	10171	nCoV-2019_33_RIGHT	1	-
+MN908947.3	10076	10099	nCoV-2019_34_LEFT	2	+
+MN908947.3	10437	10459	nCoV-2019_34_RIGHT	2	-
+MN908947.3	10362	10384	nCoV-2019_35_LEFT	1	+
+MN908947.3	10737	10763	nCoV-2019_35_RIGHT	1	-
+MN908947.3	10666	10688	nCoV-2019_36_LEFT	2	+
+MN908947.3	11048	11074	nCoV-2019_36_RIGHT	2	-
+MN908947.3	10999	11022	nCoV-2019_37_LEFT	1	+
+MN908947.3	11372	11394	nCoV-2019_37_RIGHT	1	-
+MN908947.3	11306	11331	nCoV-2019_38_LEFT	2	+
+MN908947.3	11668	11693	nCoV-2019_38_RIGHT	2	-
+MN908947.3	11555	11584	nCoV-2019_39_LEFT	1	+
+MN908947.3	11927	11949	nCoV-2019_39_RIGHT	1	-
+MN908947.3	11863	11889	nCoV-2019_40_LEFT	2	+
+MN908947.3	12234	12256	nCoV-2019_40_RIGHT	2	-
+MN908947.3	12110	12133	nCoV-2019_41_LEFT	1	+
+MN908947.3	12465	12490	nCoV-2019_41_RIGHT	1	-
+MN908947.3	12417	12439	nCoV-2019_42_LEFT	2	+
+MN908947.3	12779	12802	nCoV-2019_42_RIGHT	2	-
+MN908947.3	12710	12732	nCoV-2019_43_LEFT	1	+
+MN908947.3	13074	13096	nCoV-2019_43_RIGHT	1	-
+MN908947.3	13005	13027	nCoV-2019_44_LEFT	2	+
+MN908947.3	13378	13400	nCoV-2019_44_RIGHT	2	-
+MN908947.3	13319	13344	nCoV-2019_45_LEFT	1	+
+MN908947.3	13669	13699	nCoV-2019_45_RIGHT	1	-
+MN908947.3	13599	13621	nCoV-2019_46_LEFT	2	+
+MN908947.3	13962	13984	nCoV-2019_46_RIGHT	2	-
+MN908947.3	13918	13946	nCoV-2019_47_LEFT	1	+
+MN908947.3	14271	14299	nCoV-2019_47_RIGHT	1	-
+MN908947.3	14207	14232	nCoV-2019_48_LEFT	2	+
+MN908947.3	14579	14601	nCoV-2019_48_RIGHT	2	-
+MN908947.3	14545	14570	nCoV-2019_49_LEFT	1	+
+MN908947.3	14898	14926	nCoV-2019_49_RIGHT	1	-
+MN908947.3	14865	14895	nCoV-2019_50_LEFT	2	+
+MN908947.3	15224	15246	nCoV-2019_50_RIGHT	2	-
+MN908947.3	15171	15193	nCoV-2019_51_LEFT	1	+
+MN908947.3	15538	15560	nCoV-2019_51_RIGHT	1	-
+MN908947.3	15481	15503	nCoV-2019_52_LEFT	2	+
+MN908947.3	15861	15886	nCoV-2019_52_RIGHT	2	-
+MN908947.3	15827	15851	nCoV-2019_53_LEFT	1	+
+MN908947.3	16186	16209	nCoV-2019_53_RIGHT	1	-
+MN908947.3	16118	16144	nCoV-2019_54_LEFT	2	+
+MN908947.3	16485	16510	nCoV-2019_54_RIGHT	2	-
+MN908947.3	16416	16444	nCoV-2019_55_LEFT	1	+
+MN908947.3	16804	16833	nCoV-2019_55_RIGHT	1	-
+MN908947.3	16748	16770	nCoV-2019_56_LEFT	2	+
+MN908947.3	17130	17152	nCoV-2019_56_RIGHT	2	-
+MN908947.3	17065	17087	nCoV-2019_57_LEFT	1	+
+MN908947.3	17430	17452	nCoV-2019_57_RIGHT	1	-
+MN908947.3	17381	17406	nCoV-2019_58_LEFT	2	+
+MN908947.3	17738	17761	nCoV-2019_58_RIGHT	2	-
+MN908947.3	17674	17697	nCoV-2019_59_LEFT	1	+
+MN908947.3	18036	18062	nCoV-2019_59_RIGHT	1	-
+MN908947.3	17966	17993	nCoV-2019_60_LEFT	2	+
+MN908947.3	18324	18348	nCoV-2019_60_RIGHT	2	-
+MN908947.3	18253	18275	nCoV-2019_61_LEFT	1	+
+MN908947.3	18650	18672	nCoV-2019_61_RIGHT	1	-
+MN908947.3	18596	18618	nCoV-2019_62_LEFT	2	+
+MN908947.3	18957	18979	nCoV-2019_62_RIGHT	2	-
+MN908947.3	18896	18918	nCoV-2019_63_LEFT	1	+
+MN908947.3	19275	19297	nCoV-2019_63_RIGHT	1	-
+MN908947.3	19204	19232	nCoV-2019_64_LEFT	2	+
+MN908947.3	19591	19616	nCoV-2019_64_RIGHT	2	-
+MN908947.3	19548	19570	nCoV-2019_65_LEFT	1	+
+MN908947.3	19911	19939	nCoV-2019_65_RIGHT	1	-
+MN908947.3	19844	19866	nCoV-2019_66_LEFT	2	+
+MN908947.3	20231	20255	nCoV-2019_66_RIGHT	2	-
+MN908947.3	20172	20200	nCoV-2019_67_LEFT	1	+
+MN908947.3	20542	20572	nCoV-2019_67_RIGHT	1	-
+MN908947.3	20472	20496	nCoV-2019_68_LEFT	2	+
+MN908947.3	20867	20890	nCoV-2019_68_RIGHT	2	-
+MN908947.3	20786	20813	nCoV-2019_69_LEFT	1	+
+MN908947.3	21146	21169	nCoV-2019_69_RIGHT	1	-
+MN908947.3	21075	21104	nCoV-2019_70_LEFT	2	+
+MN908947.3	21427	21455	nCoV-2019_70_RIGHT	2	-
+MN908947.3	21357	21386	nCoV-2019_71_LEFT	1	+
+MN908947.3	21716	21743	nCoV-2019_71_RIGHT	1	-
+MN908947.3	21658	21682	nCoV-2019_72_LEFT	2	+
+MN908947.3	22013	22038	nCoV-2019_72_RIGHT	2	-
+MN908947.3	21961	21990	nCoV-2019_73_LEFT	1	+
+MN908947.3	22324	22346	nCoV-2019_73_RIGHT	1	-
+MN908947.3	22262	22290	nCoV-2019_74_LEFT	2	+
+MN908947.3	22626	22650	nCoV-2019_74_RIGHT	2	-
+MN908947.3	22516	22542	nCoV-2019_75_LEFT	1	+
+MN908947.3	22877	22903	nCoV-2019_75_RIGHT	1	-
+MN908947.3	22797	22819	nCoV-2019_76_LEFT	2	+
+MN908947.3	23192	23214	nCoV-2019_76_RIGHT	2	-
+MN908947.3	23122	23144	nCoV-2019_77_LEFT	1	+
+MN908947.3	23500	23522	nCoV-2019_77_RIGHT	1	-
+MN908947.3	23443	23466	nCoV-2019_78_LEFT	2	+
+MN908947.3	23822	23847	nCoV-2019_78_RIGHT	2	-
+MN908947.3	23789	23812	nCoV-2019_79_LEFT	1	+
+MN908947.3	24145	24169	nCoV-2019_79_RIGHT	1	-
+MN908947.3	24078	24100	nCoV-2019_80_LEFT	2	+
+MN908947.3	24443	24467	nCoV-2019_80_RIGHT	2	-
+MN908947.3	24391	24416	nCoV-2019_81_LEFT	1	+
+MN908947.3	24765	24789	nCoV-2019_81_RIGHT	1	-
+MN908947.3	24696	24721	nCoV-2019_82_LEFT	2	+
+MN908947.3	25052	25076	nCoV-2019_82_RIGHT	2	-
+MN908947.3	24978	25003	nCoV-2019_83_LEFT	1	+
+MN908947.3	25347	25369	nCoV-2019_83_RIGHT	1	-
+MN908947.3	25279	25301	nCoV-2019_84_LEFT	2	+
+MN908947.3	25646	25673	nCoV-2019_84_RIGHT	2	-
+MN908947.3	25601	25623	nCoV-2019_85_LEFT	1	+
+MN908947.3	25969	25994	nCoV-2019_85_RIGHT	1	-
+MN908947.3	25902	25924	nCoV-2019_86_LEFT	2	+
+MN908947.3	26290	26315	nCoV-2019_86_RIGHT	2	-
+MN908947.3	26197	26219	nCoV-2019_87_LEFT	1	+
+MN908947.3	26566	26590	nCoV-2019_87_RIGHT	1	-
+MN908947.3	26520	26542	nCoV-2019_88_LEFT	2	+
+MN908947.3	26890	26913	nCoV-2019_88_RIGHT	2	-
+MN908947.3	26835	26857	nCoV-2019_89_LEFT	1	+
+MN908947.3	27202	27227	nCoV-2019_89_RIGHT	1	-
+MN908947.3	27141	27164	nCoV-2019_90_LEFT	2	+
+MN908947.3	27511	27533	nCoV-2019_90_RIGHT	2	-
+MN908947.3	27446	27471	nCoV-2019_91_LEFT	1	+
+MN908947.3	27825	27854	nCoV-2019_91_RIGHT	1	-
+MN908947.3	27784	27808	nCoV-2019_92_LEFT	2	+
+MN908947.3	28145	28172	nCoV-2019_92_RIGHT	2	-
+MN908947.3	28081	28104	nCoV-2019_93_LEFT	1	+
+MN908947.3	28442	28464	nCoV-2019_93_RIGHT	1	-
+MN908947.3	28394	28416	nCoV-2019_94_LEFT	2	+
+MN908947.3	28756	28779	nCoV-2019_94_RIGHT	2	-
+MN908947.3	28677	28699	nCoV-2019_95_LEFT	1	+
+MN908947.3	29041	29063	nCoV-2019_95_RIGHT	1	-
+MN908947.3	28985	29007	nCoV-2019_96_LEFT	2	+
+MN908947.3	29356	29378	nCoV-2019_96_RIGHT	2	-
+MN908947.3	29288	29316	nCoV-2019_97_LEFT	1	+
+MN908947.3	29665	29693	nCoV-2019_97_RIGHT	1	-
+MN908947.3	29486	29510	nCoV-2019_98_LEFT	2	+
+MN908947.3	29836	29866	nCoV-2019_98_RIGHT	2	-
diff --git a/resources/primers_schemes/bed/nCoV-2019/V2/nCoV-2019.primer.bed b/resources/primers_schemes/bed/nCoV-2019/V2/nCoV-2019.primer.bed
new file mode 100644
index 0000000..056345d
--- /dev/null
+++ b/resources/primers_schemes/bed/nCoV-2019/V2/nCoV-2019.primer.bed
@@ -0,0 +1,196 @@
+MN908947.3	30	54	nCoV-2019_1_LEFT	1	+
+MN908947.3	385	410	nCoV-2019_1_RIGHT	1	-
+MN908947.3	320	342	nCoV-2019_2_LEFT	2	+
+MN908947.3	704	726	nCoV-2019_2_RIGHT	2	-
+MN908947.3	642	664	nCoV-2019_3_LEFT	1	+
+MN908947.3	1004	1028	nCoV-2019_3_RIGHT	1	-
+MN908947.3	943	965	nCoV-2019_4_LEFT	2	+
+MN908947.3	1312	1337	nCoV-2019_4_RIGHT	2	-
+MN908947.3	1242	1264	nCoV-2019_5_LEFT	1	+
+MN908947.3	1623	1651	nCoV-2019_5_RIGHT	1	-
+MN908947.3	1573	1595	nCoV-2019_6_LEFT	2	+
+MN908947.3	1942	1964	nCoV-2019_6_RIGHT	2	-
+MN908947.3	1875	1897	nCoV-2019_7_LEFT	1	+
+MN908947.3	2247	2269	nCoV-2019_7_RIGHT	1	-
+MN908947.3	2181	2205	nCoV-2019_8_LEFT	2	+
+MN908947.3	2568	2592	nCoV-2019_8_RIGHT	2	-
+MN908947.3	2505	2529	nCoV-2019_9_LEFT	1	+
+MN908947.3	2882	2904	nCoV-2019_9_RIGHT	1	-
+MN908947.3	2826	2850	nCoV-2019_10_LEFT	2	+
+MN908947.3	3183	3210	nCoV-2019_10_RIGHT	2	-
+MN908947.3	3144	3166	nCoV-2019_11_LEFT	1	+
+MN908947.3	3507	3531	nCoV-2019_11_RIGHT	1	-
+MN908947.3	3460	3482	nCoV-2019_12_LEFT	2	+
+MN908947.3	3826	3853	nCoV-2019_12_RIGHT	2	-
+MN908947.3	3771	3795	nCoV-2019_13_LEFT	1	+
+MN908947.3	4142	4164	nCoV-2019_13_RIGHT	1	-
+MN908947.3	4054	4077	nCoV-2019_14_LEFT	2	+
+MN908947.3	4428	4450	nCoV-2019_14_RIGHT	2	-
+MN908947.3	4294	4321	nCoV-2019_15_LEFT	1	+
+MN908947.3	4674	4696	nCoV-2019_15_RIGHT	1	-
+MN908947.3	4636	4658	nCoV-2019_16_LEFT	2	+
+MN908947.3	4995	5017	nCoV-2019_16_RIGHT	2	-
+MN908947.3	4939	4966	nCoV-2019_17_LEFT	1	+
+MN908947.3	5296	5321	nCoV-2019_17_RIGHT	1	-
+MN908947.3	5257	5287	nCoV-2019_18_LEFT_alt2	2	+
+MN908947.3	5620	5644	nCoV-2019_18_RIGHT	2	-
+MN908947.3	5563	5586	nCoV-2019_19_LEFT	1	+
+MN908947.3	5932	5957	nCoV-2019_19_RIGHT	1	-
+MN908947.3	5867	5894	nCoV-2019_20_LEFT	2	+
+MN908947.3	6247	6272	nCoV-2019_20_RIGHT	2	-
+MN908947.3	6167	6196	nCoV-2019_21_LEFT	1	+
+MN908947.3	6528	6550	nCoV-2019_21_RIGHT	1	-
+MN908947.3	6466	6495	nCoV-2019_22_LEFT	2	+
+MN908947.3	6846	6873	nCoV-2019_22_RIGHT	2	-
+MN908947.3	6718	6745	nCoV-2019_23_LEFT	1	+
+MN908947.3	7092	7117	nCoV-2019_23_RIGHT	1	-
+MN908947.3	7035	7058	nCoV-2019_24_LEFT	2	+
+MN908947.3	7389	7415	nCoV-2019_24_RIGHT	2	-
+MN908947.3	7305	7332	nCoV-2019_25_LEFT	1	+
+MN908947.3	7671	7694	nCoV-2019_25_RIGHT	1	-
+MN908947.3	7626	7651	nCoV-2019_26_LEFT	2	+
+MN908947.3	7997	8019	nCoV-2019_26_RIGHT	2	-
+MN908947.3	7943	7968	nCoV-2019_27_LEFT	1	+
+MN908947.3	8319	8341	nCoV-2019_27_RIGHT	1	-
+MN908947.3	8249	8275	nCoV-2019_28_LEFT	2	+
+MN908947.3	8635	8661	nCoV-2019_28_RIGHT	2	-
+MN908947.3	8595	8619	nCoV-2019_29_LEFT	1	+
+MN908947.3	8954	8983	nCoV-2019_29_RIGHT	1	-
+MN908947.3	8888	8913	nCoV-2019_30_LEFT	2	+
+MN908947.3	9245	9271	nCoV-2019_30_RIGHT	2	-
+MN908947.3	9204	9226	nCoV-2019_31_LEFT	1	+
+MN908947.3	9557	9585	nCoV-2019_31_RIGHT	1	-
+MN908947.3	9477	9502	nCoV-2019_32_LEFT	2	+
+MN908947.3	9834	9858	nCoV-2019_32_RIGHT	2	-
+MN908947.3	9784	9806	nCoV-2019_33_LEFT	1	+
+MN908947.3	10146	10171	nCoV-2019_33_RIGHT	1	-
+MN908947.3	10076	10099	nCoV-2019_34_LEFT	2	+
+MN908947.3	10437	10459	nCoV-2019_34_RIGHT	2	-
+MN908947.3	10362	10384	nCoV-2019_35_LEFT	1	+
+MN908947.3	10737	10763	nCoV-2019_35_RIGHT	1	-
+MN908947.3	10666	10688	nCoV-2019_36_LEFT	2	+
+MN908947.3	11048	11074	nCoV-2019_36_RIGHT	2	-
+MN908947.3	10999	11022	nCoV-2019_37_LEFT	1	+
+MN908947.3	11372	11394	nCoV-2019_37_RIGHT	1	-
+MN908947.3	11306	11331	nCoV-2019_38_LEFT	2	+
+MN908947.3	11668	11693	nCoV-2019_38_RIGHT	2	-
+MN908947.3	11555	11584	nCoV-2019_39_LEFT	1	+
+MN908947.3	11927	11949	nCoV-2019_39_RIGHT	1	-
+MN908947.3	11863	11889	nCoV-2019_40_LEFT	2	+
+MN908947.3	12234	12256	nCoV-2019_40_RIGHT	2	-
+MN908947.3	12110	12133	nCoV-2019_41_LEFT	1	+
+MN908947.3	12465	12490	nCoV-2019_41_RIGHT	1	-
+MN908947.3	12417	12439	nCoV-2019_42_LEFT	2	+
+MN908947.3	12779	12802	nCoV-2019_42_RIGHT	2	-
+MN908947.3	12710	12732	nCoV-2019_43_LEFT	1	+
+MN908947.3	13074	13096	nCoV-2019_43_RIGHT	1	-
+MN908947.3	13005	13027	nCoV-2019_44_LEFT	2	+
+MN908947.3	13378	13400	nCoV-2019_44_RIGHT	2	-
+MN908947.3	13319	13344	nCoV-2019_45_LEFT	1	+
+MN908947.3	13669	13699	nCoV-2019_45_RIGHT	1	-
+MN908947.3	13599	13621	nCoV-2019_46_LEFT	2	+
+MN908947.3	13962	13984	nCoV-2019_46_RIGHT	2	-
+MN908947.3	13918	13946	nCoV-2019_47_LEFT	1	+
+MN908947.3	14271	14299	nCoV-2019_47_RIGHT	1	-
+MN908947.3	14207	14232	nCoV-2019_48_LEFT	2	+
+MN908947.3	14579	14601	nCoV-2019_48_RIGHT	2	-
+MN908947.3	14545	14570	nCoV-2019_49_LEFT	1	+
+MN908947.3	14898	14926	nCoV-2019_49_RIGHT	1	-
+MN908947.3	14865	14895	nCoV-2019_50_LEFT	2	+
+MN908947.3	15224	15246	nCoV-2019_50_RIGHT	2	-
+MN908947.3	15171	15193	nCoV-2019_51_LEFT	1	+
+MN908947.3	15538	15560	nCoV-2019_51_RIGHT	1	-
+MN908947.3	15481	15503	nCoV-2019_52_LEFT	2	+
+MN908947.3	15861	15886	nCoV-2019_52_RIGHT	2	-
+MN908947.3	15827	15851	nCoV-2019_53_LEFT	1	+
+MN908947.3	16186	16209	nCoV-2019_53_RIGHT	1	-
+MN908947.3	16118	16144	nCoV-2019_54_LEFT	2	+
+MN908947.3	16485	16510	nCoV-2019_54_RIGHT	2	-
+MN908947.3	16416	16444	nCoV-2019_55_LEFT	1	+
+MN908947.3	16804	16833	nCoV-2019_55_RIGHT	1	-
+MN908947.3	16748	16770	nCoV-2019_56_LEFT	2	+
+MN908947.3	17130	17152	nCoV-2019_56_RIGHT	2	-
+MN908947.3	17065	17087	nCoV-2019_57_LEFT	1	+
+MN908947.3	17430	17452	nCoV-2019_57_RIGHT	1	-
+MN908947.3	17381	17406	nCoV-2019_58_LEFT	2	+
+MN908947.3	17738	17761	nCoV-2019_58_RIGHT	2	-
+MN908947.3	17674	17697	nCoV-2019_59_LEFT	1	+
+MN908947.3	18036	18062	nCoV-2019_59_RIGHT	1	-
+MN908947.3	17966	17993	nCoV-2019_60_LEFT	2	+
+MN908947.3	18324	18348	nCoV-2019_60_RIGHT	2	-
+MN908947.3	18253	18275	nCoV-2019_61_LEFT	1	+
+MN908947.3	18650	18672	nCoV-2019_61_RIGHT	1	-
+MN908947.3	18596	18618	nCoV-2019_62_LEFT	2	+
+MN908947.3	18957	18979	nCoV-2019_62_RIGHT	2	-
+MN908947.3	18896	18918	nCoV-2019_63_LEFT	1	+
+MN908947.3	19275	19297	nCoV-2019_63_RIGHT	1	-
+MN908947.3	19204	19232	nCoV-2019_64_LEFT	2	+
+MN908947.3	19591	19616	nCoV-2019_64_RIGHT	2	-
+MN908947.3	19548	19570	nCoV-2019_65_LEFT	1	+
+MN908947.3	19911	19939	nCoV-2019_65_RIGHT	1	-
+MN908947.3	19844	19866	nCoV-2019_66_LEFT	2	+
+MN908947.3	20231	20255	nCoV-2019_66_RIGHT	2	-
+MN908947.3	20172	20200	nCoV-2019_67_LEFT	1	+
+MN908947.3	20542	20572	nCoV-2019_67_RIGHT	1	-
+MN908947.3	20472	20496	nCoV-2019_68_LEFT	2	+
+MN908947.3	20867	20890	nCoV-2019_68_RIGHT	2	-
+MN908947.3	20786	20813	nCoV-2019_69_LEFT	1	+
+MN908947.3	21146	21169	nCoV-2019_69_RIGHT	1	-
+MN908947.3	21075	21104	nCoV-2019_70_LEFT	2	+
+MN908947.3	21427	21455	nCoV-2019_70_RIGHT	2	-
+MN908947.3	21357	21386	nCoV-2019_71_LEFT	1	+
+MN908947.3	21716	21743	nCoV-2019_71_RIGHT	1	-
+MN908947.3	21658	21682	nCoV-2019_72_LEFT	2	+
+MN908947.3	22013	22038	nCoV-2019_72_RIGHT	2	-
+MN908947.3	21961	21990	nCoV-2019_73_LEFT	1	+
+MN908947.3	22324	22346	nCoV-2019_73_RIGHT	1	-
+MN908947.3	22262	22290	nCoV-2019_74_LEFT	2	+
+MN908947.3	22626	22650	nCoV-2019_74_RIGHT	2	-
+MN908947.3	22516	22542	nCoV-2019_75_LEFT	1	+
+MN908947.3	22877	22903	nCoV-2019_75_RIGHT	1	-
+MN908947.3	22797	22819	nCoV-2019_76_LEFT	2	+
+MN908947.3	23192	23214	nCoV-2019_76_RIGHT	2	-
+MN908947.3	23122	23144	nCoV-2019_77_LEFT	1	+
+MN908947.3	23500	23522	nCoV-2019_77_RIGHT	1	-
+MN908947.3	23443	23466	nCoV-2019_78_LEFT	2	+
+MN908947.3	23822	23847	nCoV-2019_78_RIGHT	2	-
+MN908947.3	23789	23812	nCoV-2019_79_LEFT	1	+
+MN908947.3	24145	24169	nCoV-2019_79_RIGHT	1	-
+MN908947.3	24078	24100	nCoV-2019_80_LEFT	2	+
+MN908947.3	24443	24467	nCoV-2019_80_RIGHT	2	-
+MN908947.3	24391	24416	nCoV-2019_81_LEFT	1	+
+MN908947.3	24765	24789	nCoV-2019_81_RIGHT	1	-
+MN908947.3	24696	24721	nCoV-2019_82_LEFT	2	+
+MN908947.3	25052	25076	nCoV-2019_82_RIGHT	2	-
+MN908947.3	24978	25003	nCoV-2019_83_LEFT	1	+
+MN908947.3	25347	25369	nCoV-2019_83_RIGHT	1	-
+MN908947.3	25279	25301	nCoV-2019_84_LEFT	2	+
+MN908947.3	25646	25673	nCoV-2019_84_RIGHT	2	-
+MN908947.3	25601	25623	nCoV-2019_85_LEFT	1	+
+MN908947.3	25969	25994	nCoV-2019_85_RIGHT	1	-
+MN908947.3	25902	25924	nCoV-2019_86_LEFT	2	+
+MN908947.3	26290	26315	nCoV-2019_86_RIGHT	2	-
+MN908947.3	26197	26219	nCoV-2019_87_LEFT	1	+
+MN908947.3	26566	26590	nCoV-2019_87_RIGHT	1	-
+MN908947.3	26520	26542	nCoV-2019_88_LEFT	2	+
+MN908947.3	26890	26913	nCoV-2019_88_RIGHT	2	-
+MN908947.3	26835	26857	nCoV-2019_89_LEFT	1	+
+MN908947.3	27202	27227	nCoV-2019_89_RIGHT	1	-
+MN908947.3	27141	27164	nCoV-2019_90_LEFT	2	+
+MN908947.3	27511	27533	nCoV-2019_90_RIGHT	2	-
+MN908947.3	27446	27471	nCoV-2019_91_LEFT	1	+
+MN908947.3	27825	27854	nCoV-2019_91_RIGHT	1	-
+MN908947.3	27784	27808	nCoV-2019_92_LEFT	2	+
+MN908947.3	28145	28172	nCoV-2019_92_RIGHT	2	-
+MN908947.3	28081	28104	nCoV-2019_93_LEFT	1	+
+MN908947.3	28442	28464	nCoV-2019_93_RIGHT	1	-
+MN908947.3	28394	28416	nCoV-2019_94_LEFT	2	+
+MN908947.3	28756	28779	nCoV-2019_94_RIGHT	2	-
+MN908947.3	28677	28699	nCoV-2019_95_LEFT	1	+
+MN908947.3	29041	29063	nCoV-2019_95_RIGHT	1	-
+MN908947.3	28985	29007	nCoV-2019_96_LEFT	2	+
+MN908947.3	29356	29378	nCoV-2019_96_RIGHT	2	-
+MN908947.3	29288	29316	nCoV-2019_97_LEFT	1	+
+MN908947.3	29665	29693	nCoV-2019_97_RIGHT	1	-
+MN908947.3	29486	29510	nCoV-2019_98_LEFT	2	+
+MN908947.3	29836	29866	nCoV-2019_98_RIGHT	2	-
diff --git a/resources/primers_schemes/bed/nCoV-2019/V3/nCoV-2019.primer.bed b/resources/primers_schemes/bed/nCoV-2019/V3/nCoV-2019.primer.bed
new file mode 100644
index 0000000..76691de
--- /dev/null
+++ b/resources/primers_schemes/bed/nCoV-2019/V3/nCoV-2019.primer.bed
@@ -0,0 +1,218 @@
+MN908947.3	30	54	nCoV-2019_1_LEFT	1	+
+MN908947.3	385	410	nCoV-2019_1_RIGHT	1	-
+MN908947.3	320	342	nCoV-2019_2_LEFT	2	+
+MN908947.3	704	726	nCoV-2019_2_RIGHT	2	-
+MN908947.3	642	664	nCoV-2019_3_LEFT	1	+
+MN908947.3	1004	1028	nCoV-2019_3_RIGHT	1	-
+MN908947.3	943	965	nCoV-2019_4_LEFT	2	+
+MN908947.3	1312	1337	nCoV-2019_4_RIGHT	2	-
+MN908947.3	1242	1264	nCoV-2019_5_LEFT	1	+
+MN908947.3	1623	1651	nCoV-2019_5_RIGHT	1	-
+MN908947.3	1573	1595	nCoV-2019_6_LEFT	2	+
+MN908947.3	1942	1964	nCoV-2019_6_RIGHT	2	-
+MN908947.3	1875	1897	nCoV-2019_7_LEFT	1	+
+MN908947.3	1868	1890	nCoV-2019_7_LEFT_alt0	1	+
+MN908947.3	2247	2269	nCoV-2019_7_RIGHT	1	-
+MN908947.3	2242	2264	nCoV-2019_7_RIGHT_alt5	1	-
+MN908947.3	2181	2205	nCoV-2019_8_LEFT	2	+
+MN908947.3	2568	2592	nCoV-2019_8_RIGHT	2	-
+MN908947.3	2505	2529	nCoV-2019_9_LEFT	1	+
+MN908947.3	2504	2528	nCoV-2019_9_LEFT_alt4	1	+
+MN908947.3	2882	2904	nCoV-2019_9_RIGHT	1	-
+MN908947.3	2880	2902	nCoV-2019_9_RIGHT_alt2	1	-
+MN908947.3	2826	2850	nCoV-2019_10_LEFT	2	+
+MN908947.3	3183	3210	nCoV-2019_10_RIGHT	2	-
+MN908947.3	3144	3166	nCoV-2019_11_LEFT	1	+
+MN908947.3	3507	3531	nCoV-2019_11_RIGHT	1	-
+MN908947.3	3460	3482	nCoV-2019_12_LEFT	2	+
+MN908947.3	3826	3853	nCoV-2019_12_RIGHT	2	-
+MN908947.3	3771	3795	nCoV-2019_13_LEFT	1	+
+MN908947.3	4142	4164	nCoV-2019_13_RIGHT	1	-
+MN908947.3	4054	4077	nCoV-2019_14_LEFT	2	+
+MN908947.3	4044	4068	nCoV-2019_14_LEFT_alt4	2	+
+MN908947.3	4428	4450	nCoV-2019_14_RIGHT	2	-
+MN908947.3	4402	4424	nCoV-2019_14_RIGHT_alt2	2	-
+MN908947.3	4294	4321	nCoV-2019_15_LEFT	1	+
+MN908947.3	4296	4322	nCoV-2019_15_LEFT_alt1	1	+
+MN908947.3	4674	4696	nCoV-2019_15_RIGHT	1	-
+MN908947.3	4666	4689	nCoV-2019_15_RIGHT_alt3	1	-
+MN908947.3	4636	4658	nCoV-2019_16_LEFT	2	+
+MN908947.3	4995	5017	nCoV-2019_16_RIGHT	2	-
+MN908947.3	4939	4966	nCoV-2019_17_LEFT	1	+
+MN908947.3	5296	5321	nCoV-2019_17_RIGHT	1	-
+MN908947.3	5230	5259	nCoV-2019_18_LEFT	2	+
+MN908947.3	5257	5287	nCoV-2019_18_LEFT_alt2	2	+
+MN908947.3	5620	5644	nCoV-2019_18_RIGHT	2	-
+MN908947.3	5620	5643	nCoV-2019_18_RIGHT_alt1	2	-
+MN908947.3	5563	5586	nCoV-2019_19_LEFT	1	+
+MN908947.3	5932	5957	nCoV-2019_19_RIGHT	1	-
+MN908947.3	5867	5894	nCoV-2019_20_LEFT	2	+
+MN908947.3	6247	6272	nCoV-2019_20_RIGHT	2	-
+MN908947.3	6167	6196	nCoV-2019_21_LEFT	1	+
+MN908947.3	6168	6197	nCoV-2019_21_LEFT_alt2	1	+
+MN908947.3	6528	6550	nCoV-2019_21_RIGHT	1	-
+MN908947.3	6526	6548	nCoV-2019_21_RIGHT_alt0	1	-
+MN908947.3	6466	6495	nCoV-2019_22_LEFT	2	+
+MN908947.3	6846	6873	nCoV-2019_22_RIGHT	2	-
+MN908947.3	6718	6745	nCoV-2019_23_LEFT	1	+
+MN908947.3	7092	7117	nCoV-2019_23_RIGHT	1	-
+MN908947.3	7035	7058	nCoV-2019_24_LEFT	2	+
+MN908947.3	7389	7415	nCoV-2019_24_RIGHT	2	-
+MN908947.3	7305	7332	nCoV-2019_25_LEFT	1	+
+MN908947.3	7671	7694	nCoV-2019_25_RIGHT	1	-
+MN908947.3	7626	7651	nCoV-2019_26_LEFT	2	+
+MN908947.3	7997	8019	nCoV-2019_26_RIGHT	2	-
+MN908947.3	7943	7968	nCoV-2019_27_LEFT	1	+
+MN908947.3	8319	8341	nCoV-2019_27_RIGHT	1	-
+MN908947.3	8249	8275	nCoV-2019_28_LEFT	2	+
+MN908947.3	8635	8661	nCoV-2019_28_RIGHT	2	-
+MN908947.3	8595	8619	nCoV-2019_29_LEFT	1	+
+MN908947.3	8954	8983	nCoV-2019_29_RIGHT	1	-
+MN908947.3	8888	8913	nCoV-2019_30_LEFT	2	+
+MN908947.3	9245	9271	nCoV-2019_30_RIGHT	2	-
+MN908947.3	9204	9226	nCoV-2019_31_LEFT	1	+
+MN908947.3	9557	9585	nCoV-2019_31_RIGHT	1	-
+MN908947.3	9477	9502	nCoV-2019_32_LEFT	2	+
+MN908947.3	9834	9858	nCoV-2019_32_RIGHT	2	-
+MN908947.3	9784	9806	nCoV-2019_33_LEFT	1	+
+MN908947.3	10146	10171	nCoV-2019_33_RIGHT	1	-
+MN908947.3	10076	10099	nCoV-2019_34_LEFT	2	+
+MN908947.3	10437	10459	nCoV-2019_34_RIGHT	2	-
+MN908947.3	10362	10384	nCoV-2019_35_LEFT	1	+
+MN908947.3	10737	10763	nCoV-2019_35_RIGHT	1	-
+MN908947.3	10666	10688	nCoV-2019_36_LEFT	2	+
+MN908947.3	11048	11074	nCoV-2019_36_RIGHT	2	-
+MN908947.3	10999	11022	nCoV-2019_37_LEFT	1	+
+MN908947.3	11372	11394	nCoV-2019_37_RIGHT	1	-
+MN908947.3	11306	11331	nCoV-2019_38_LEFT	2	+
+MN908947.3	11668	11693	nCoV-2019_38_RIGHT	2	-
+MN908947.3	11555	11584	nCoV-2019_39_LEFT	1	+
+MN908947.3	11927	11949	nCoV-2019_39_RIGHT	1	-
+MN908947.3	11863	11889	nCoV-2019_40_LEFT	2	+
+MN908947.3	12234	12256	nCoV-2019_40_RIGHT	2	-
+MN908947.3	12110	12133	nCoV-2019_41_LEFT	1	+
+MN908947.3	12465	12490	nCoV-2019_41_RIGHT	1	-
+MN908947.3	12417	12439	nCoV-2019_42_LEFT	2	+
+MN908947.3	12779	12802	nCoV-2019_42_RIGHT	2	-
+MN908947.3	12710	12732	nCoV-2019_43_LEFT	1	+
+MN908947.3	13074	13096	nCoV-2019_43_RIGHT	1	-
+MN908947.3	13005	13027	nCoV-2019_44_LEFT	2	+
+MN908947.3	13007	13029	nCoV-2019_44_LEFT_alt3	2	+
+MN908947.3	13378	13400	nCoV-2019_44_RIGHT	2	-
+MN908947.3	13363	13385	nCoV-2019_44_RIGHT_alt0	2	-
+MN908947.3	13319	13344	nCoV-2019_45_LEFT	1	+
+MN908947.3	13307	13336	nCoV-2019_45_LEFT_alt2	1	+
+MN908947.3	13669	13699	nCoV-2019_45_RIGHT	1	-
+MN908947.3	13660	13689	nCoV-2019_45_RIGHT_alt7	1	-
+MN908947.3	13599	13621	nCoV-2019_46_LEFT	2	+
+MN908947.3	13602	13625	nCoV-2019_46_LEFT_alt1	2	+
+MN908947.3	13962	13984	nCoV-2019_46_RIGHT	2	-
+MN908947.3	13961	13984	nCoV-2019_46_RIGHT_alt2	2	-
+MN908947.3	13918	13946	nCoV-2019_47_LEFT	1	+
+MN908947.3	14271	14299	nCoV-2019_47_RIGHT	1	-
+MN908947.3	14207	14232	nCoV-2019_48_LEFT	2	+
+MN908947.3	14579	14601	nCoV-2019_48_RIGHT	2	-
+MN908947.3	14545	14570	nCoV-2019_49_LEFT	1	+
+MN908947.3	14898	14926	nCoV-2019_49_RIGHT	1	-
+MN908947.3	14865	14895	nCoV-2019_50_LEFT	2	+
+MN908947.3	15224	15246	nCoV-2019_50_RIGHT	2	-
+MN908947.3	15171	15193	nCoV-2019_51_LEFT	1	+
+MN908947.3	15538	15560	nCoV-2019_51_RIGHT	1	-
+MN908947.3	15481	15503	nCoV-2019_52_LEFT	2	+
+MN908947.3	15861	15886	nCoV-2019_52_RIGHT	2	-
+MN908947.3	15827	15851	nCoV-2019_53_LEFT	1	+
+MN908947.3	16186	16209	nCoV-2019_53_RIGHT	1	-
+MN908947.3	16118	16144	nCoV-2019_54_LEFT	2	+
+MN908947.3	16485	16510	nCoV-2019_54_RIGHT	2	-
+MN908947.3	16416	16444	nCoV-2019_55_LEFT	1	+
+MN908947.3	16804	16833	nCoV-2019_55_RIGHT	1	-
+MN908947.3	16748	16770	nCoV-2019_56_LEFT	2	+
+MN908947.3	17130	17152	nCoV-2019_56_RIGHT	2	-
+MN908947.3	17065	17087	nCoV-2019_57_LEFT	1	+
+MN908947.3	17430	17452	nCoV-2019_57_RIGHT	1	-
+MN908947.3	17381	17406	nCoV-2019_58_LEFT	2	+
+MN908947.3	17738	17761	nCoV-2019_58_RIGHT	2	-
+MN908947.3	17674	17697	nCoV-2019_59_LEFT	1	+
+MN908947.3	18036	18062	nCoV-2019_59_RIGHT	1	-
+MN908947.3	17966	17993	nCoV-2019_60_LEFT	2	+
+MN908947.3	18324	18348	nCoV-2019_60_RIGHT	2	-
+MN908947.3	18253	18275	nCoV-2019_61_LEFT	1	+
+MN908947.3	18650	18672	nCoV-2019_61_RIGHT	1	-
+MN908947.3	18596	18618	nCoV-2019_62_LEFT	2	+
+MN908947.3	18957	18979	nCoV-2019_62_RIGHT	2	-
+MN908947.3	18896	18918	nCoV-2019_63_LEFT	1	+
+MN908947.3	19275	19297	nCoV-2019_63_RIGHT	1	-
+MN908947.3	19204	19232	nCoV-2019_64_LEFT	2	+
+MN908947.3	19591	19616	nCoV-2019_64_RIGHT	2	-
+MN908947.3	19548	19570	nCoV-2019_65_LEFT	1	+
+MN908947.3	19911	19939	nCoV-2019_65_RIGHT	1	-
+MN908947.3	19844	19866	nCoV-2019_66_LEFT	2	+
+MN908947.3	20231	20255	nCoV-2019_66_RIGHT	2	-
+MN908947.3	20172	20200	nCoV-2019_67_LEFT	1	+
+MN908947.3	20542	20572	nCoV-2019_67_RIGHT	1	-
+MN908947.3	20472	20496	nCoV-2019_68_LEFT	2	+
+MN908947.3	20867	20890	nCoV-2019_68_RIGHT	2	-
+MN908947.3	20786	20813	nCoV-2019_69_LEFT	1	+
+MN908947.3	21146	21169	nCoV-2019_69_RIGHT	1	-
+MN908947.3	21075	21104	nCoV-2019_70_LEFT	2	+
+MN908947.3	21427	21455	nCoV-2019_70_RIGHT	2	-
+MN908947.3	21357	21386	nCoV-2019_71_LEFT	1	+
+MN908947.3	21716	21743	nCoV-2019_71_RIGHT	1	-
+MN908947.3	21658	21682	nCoV-2019_72_LEFT	2	+
+MN908947.3	22013	22038	nCoV-2019_72_RIGHT	2	-
+MN908947.3	21961	21990	nCoV-2019_73_LEFT	1	+
+MN908947.3	22324	22346	nCoV-2019_73_RIGHT	1	-
+MN908947.3	22262	22290	nCoV-2019_74_LEFT	2	+
+MN908947.3	22626	22650	nCoV-2019_74_RIGHT	2	-
+MN908947.3	22516	22542	nCoV-2019_75_LEFT	1	+
+MN908947.3	22877	22903	nCoV-2019_75_RIGHT	1	-
+MN908947.3	22797	22819	nCoV-2019_76_LEFT	2	+
+MN908947.3	22798	22821	nCoV-2019_76_LEFT_alt3	2	+
+MN908947.3	23192	23214	nCoV-2019_76_RIGHT	2	-
+MN908947.3	23189	23212	nCoV-2019_76_RIGHT_alt0	2	-
+MN908947.3	23122	23144	nCoV-2019_77_LEFT	1	+
+MN908947.3	23500	23522	nCoV-2019_77_RIGHT	1	-
+MN908947.3	23443	23466	nCoV-2019_78_LEFT	2	+
+MN908947.3	23822	23847	nCoV-2019_78_RIGHT	2	-
+MN908947.3	23789	23812	nCoV-2019_79_LEFT	1	+
+MN908947.3	24145	24169	nCoV-2019_79_RIGHT	1	-
+MN908947.3	24078	24100	nCoV-2019_80_LEFT	2	+
+MN908947.3	24443	24467	nCoV-2019_80_RIGHT	2	-
+MN908947.3	24391	24416	nCoV-2019_81_LEFT	1	+
+MN908947.3	24765	24789	nCoV-2019_81_RIGHT	1	-
+MN908947.3	24696	24721	nCoV-2019_82_LEFT	2	+
+MN908947.3	25052	25076	nCoV-2019_82_RIGHT	2	-
+MN908947.3	24978	25003	nCoV-2019_83_LEFT	1	+
+MN908947.3	25347	25369	nCoV-2019_83_RIGHT	1	-
+MN908947.3	25279	25301	nCoV-2019_84_LEFT	2	+
+MN908947.3	25646	25673	nCoV-2019_84_RIGHT	2	-
+MN908947.3	25601	25623	nCoV-2019_85_LEFT	1	+
+MN908947.3	25969	25994	nCoV-2019_85_RIGHT	1	-
+MN908947.3	25902	25924	nCoV-2019_86_LEFT	2	+
+MN908947.3	26290	26315	nCoV-2019_86_RIGHT	2	-
+MN908947.3	26197	26219	nCoV-2019_87_LEFT	1	+
+MN908947.3	26566	26590	nCoV-2019_87_RIGHT	1	-
+MN908947.3	26520	26542	nCoV-2019_88_LEFT	2	+
+MN908947.3	26890	26913	nCoV-2019_88_RIGHT	2	-
+MN908947.3	26835	26857	nCoV-2019_89_LEFT	1	+
+MN908947.3	26838	26860	nCoV-2019_89_LEFT_alt2	1	+
+MN908947.3	27202	27227	nCoV-2019_89_RIGHT	1	-
+MN908947.3	27190	27215	nCoV-2019_89_RIGHT_alt4	1	-
+MN908947.3	27141	27164	nCoV-2019_90_LEFT	2	+
+MN908947.3	27511	27533	nCoV-2019_90_RIGHT	2	-
+MN908947.3	27446	27471	nCoV-2019_91_LEFT	1	+
+MN908947.3	27825	27854	nCoV-2019_91_RIGHT	1	-
+MN908947.3	27784	27808	nCoV-2019_92_LEFT	2	+
+MN908947.3	28145	28172	nCoV-2019_92_RIGHT	2	-
+MN908947.3	28081	28104	nCoV-2019_93_LEFT	1	+
+MN908947.3	28442	28464	nCoV-2019_93_RIGHT	1	-
+MN908947.3	28394	28416	nCoV-2019_94_LEFT	2	+
+MN908947.3	28756	28779	nCoV-2019_94_RIGHT	2	-
+MN908947.3	28677	28699	nCoV-2019_95_LEFT	1	+
+MN908947.3	29041	29063	nCoV-2019_95_RIGHT	1	-
+MN908947.3	28985	29007	nCoV-2019_96_LEFT	2	+
+MN908947.3	29356	29378	nCoV-2019_96_RIGHT	2	-
+MN908947.3	29288	29316	nCoV-2019_97_LEFT	1	+
+MN908947.3	29665	29693	nCoV-2019_97_RIGHT	1	-
+MN908947.3	29486	29510	nCoV-2019_98_LEFT	2	+
+MN908947.3	29836	29866	nCoV-2019_98_RIGHT	2	-
diff --git a/resources/primers_schemes/bed/nCoV-2019/V4.1/SARS-CoV-2.primer.bed b/resources/primers_schemes/bed/nCoV-2019/V4.1/SARS-CoV-2.primer.bed
new file mode 100644
index 0000000..5b8e1d4
--- /dev/null
+++ b/resources/primers_schemes/bed/nCoV-2019/V4.1/SARS-CoV-2.primer.bed
@@ -0,0 +1,209 @@
+MN908947.3	25	50	SARS-CoV-2_1_LEFT	1	+	AACAAACCAACCAACTTTCGATCTC
+MN908947.3	324	344	SARS-CoV-2_2_LEFT	2	+	TTTACAGGTTCGCGACGTGC
+MN908947.3	408	431	SARS-CoV-2_1_RIGHT	1	-	CTTCTACTAAGCCACAAGTGCCA
+MN908947.3	644	666	SARS-CoV-2_3_LEFT	1	+	GTAATAAAGGAGCTGGTGGCCA
+MN908947.3	705	727	SARS-CoV-2_2_RIGHT	2	-	ATAAGGATCAGTGCCAAGCTCG
+MN908947.3	944	966	SARS-CoV-2_4_LEFT	2	+	GTGTATACTGCTGCCGTGAACA
+MN908947.3	1017	1044	SARS-CoV-2_3_RIGHT	1	-	GCCAATTTAATTTCAAAAGGTGTCTGC
+MN908947.3	1245	1266	SARS-CoV-2_5_LEFT	1	+	TGAAACTTCATGGCAGACGGG
+MN908947.3	1337	1362	SARS-CoV-2_4_RIGHT	2	-	ACAACAGCATTTTGGGGTAAGTAAC
+MN908947.3	1540	1562	SARS-CoV-2_6_LEFT	2	+	CGTGCTAGCGCTAACATAGGTT
+MN908947.3	1623	1650	SARS-CoV-2_5_RIGHT	1	-	TTGATGTTGACTTTCTCTTTTTGGAGT
+MN908947.3	1851	1875	SARS-CoV-2_7_LEFT	1	+	ACTGAGTCCTCTTTATGCATTTGC
+MN908947.3	1925	1948	SARS-CoV-2_6_RIGHT	2	-	AACACGCACAGAATTTTGAGCAG
+MN908947.3	2154	2180	SARS-CoV-2_8_LEFT	2	+	GCTTGAAGAGAAGTTTAAGGAAGGTG
+MN908947.3	2228	2250	SARS-CoV-2_7_RIGHT	1	-	CCACCGACAATTTCACAAGCAC
+MN908947.3	2483	2508	SARS-CoV-2_9_LEFT	1	+	TCTTCTTAGAGGGAGAAACACTTCC
+MN908947.3	2544	2571	SARS-CoV-2_8_RIGHT	2	-	GGTTGTTCTAATGGTTGTAAATCACCA
+MN908947.3	2780	2813	SARS-CoV-2_10_LEFT_alt1	2	+	TGAATATCACTTTTGAACTTGATGAAAGGATTG
+MN908947.3	2826	2850	SARS-CoV-2_10_LEFT	2	+	TGAGAAGTGCTCTGCCTATACAGT
+MN908947.3	2861	2885	SARS-CoV-2_9_RIGHT	1	-	CACAGGCGAACTCATTTACTTCTG
+MN908947.3	3078	3102	SARS-CoV-2_11_LEFT	1	+	AGAAGAGTTTGAGCCATCAACTCA
+MN908947.3	3156	3177	SARS-CoV-2_10_RIGHT_alt1	2	-	GGTTGAAGAGCAGCAGAAGTG
+MN908947.3	3183	3210	SARS-CoV-2_10_RIGHT	2	-	TCATCTAACCAATCTTCTTCTTGCTCT
+MN908947.3	3390	3412	SARS-CoV-2_12_LEFT	2	+	TGCAGACATTGTGGAAGAAGCT
+MN908947.3	3470	3492	SARS-CoV-2_11_RIGHT	1	-	TTTAAGGCTCCTGCAACACCTC
+MN908947.3	3683	3705	SARS-CoV-2_13_LEFT	1	+	AGCACGAAGTTCTACTTGCACC
+MN908947.3	3769	3794	SARS-CoV-2_12_RIGHT	2	-	CAGCTAAGTAGACATTTGTGCGAAC
+MN908947.3	3992	4018	SARS-CoV-2_14_LEFT	2	+	TGGAAGAAACTAAGTTCCTCACAGAA
+MN908947.3	4067	4093	SARS-CoV-2_13_RIGHT	1	-	GATGTCAATGTCACTAACAAGAGTGG
+MN908947.3	4312	4339	SARS-CoV-2_15_LEFT	1	+	AAAAGTGCCTTTTACATTCTACCATCT
+MN908947.3	4387	4409	SARS-CoV-2_14_RIGHT	2	-	CATGTGCAAGCATTTCTCGCAA
+MN908947.3	4620	4648	SARS-CoV-2_16_LEFT	2	+	TGTAACACATGGCTTAAATTTGGAAGAA
+MN908947.3	4685	4710	SARS-CoV-2_15_RIGHT	1	-	GCATCAGGTGAAGAAACAGAAACTG
+MN908947.3	4923	4953	SARS-CoV-2_17_LEFT	1	+	TGACAATCTTAAGACACTTCTTTCTTTGAG
+MN908947.3	4995	5017	SARS-CoV-2_16_RIGHT	2	-	CACAACTTGCGTGTGGAGGTTA
+MN908947.3	5230	5259	SARS-CoV-2_18_LEFT	2	+	TGGAAATACCCACAAGTTAATGGTTTAAC
+MN908947.3	5302	5331	SARS-CoV-2_17_RIGHT	1	-	TTCAACTCTATTTGTTGGAGTGTTAACAA
+MN908947.3	5561	5584	SARS-CoV-2_19_LEFT	1	+	AAGCTGTTATGTACATGGGCACA
+MN908947.3	5620	5643	SARS-CoV-2_18_RIGHT	2	-	GCTTGTTTACCACACGTACAAGG
+MN908947.3	5867	5894	SARS-CoV-2_20_LEFT	2	+	ACAAAGAAAACAGTTACACAACAACCA
+MN908947.3	5932	5957	SARS-CoV-2_19_RIGHT	1	-	TGTCCAACTTAGGGTCAATTTCTGT
+MN908947.3	6184	6210	SARS-CoV-2_21_LEFT	1	+	CACTACACACCCTCTTTTAAGAAAGG
+MN908947.3	6247	6272	SARS-CoV-2_20_RIGHT	2	-	ACGTGGCTTTATTAGTTGCATTGTT
+MN908947.3	6478	6507	SARS-CoV-2_22_LEFT	2	+	GTAGGAGACATTATACTTAAACCAGCAAA
+MN908947.3	6553	6582	SARS-CoV-2_21_RIGHT	1	-	GTAAGACTAGAATTGTCTACATAAGCAGC
+MN908947.3	6747	6776	SARS-CoV-2_23_LEFT	1	+	AAACCGTGTTTGTACTAATTATATGCCTT
+MN908947.3	6859	6885	SARS-CoV-2_22_RIGHT	2	-	CCGACACTCTTAACAGTATTCTTTGC
+MN908947.3	7057	7084	SARS-CoV-2_24_LEFT	2	+	GGTTACAGAGAAGGCTATTTGAACTCT
+MN908947.3	7122	7148	SARS-CoV-2_23_RIGHT	1	-	AACCACTAAGACAAACACTACAAGGT
+MN908947.3	7127	7156	SARS-CoV-2_23_RIGHT_alt1	1	-	AGAATCTAAACCACTAAGACAAACACTAC
+MN908947.3	7381	7403	SARS-CoV-2_25_LEFT	1	+	CAAATGGCCCCGATTTCAGCTA
+MN908947.3	7440	7467	SARS-CoV-2_24_RIGHT	2	-	ACAACATGCACATAACTTTTCCATACA
+MN908947.3	7672	7695	SARS-CoV-2_26_LEFT	2	+	GCGAGAGACTTGTCACTACAGTT
+MN908947.3	7747	7770	SARS-CoV-2_25_RIGHT	1	-	TGGATGGAACCATTCTTCACTGT
+MN908947.3	7997	8019	SARS-CoV-2_27_LEFT	1	+	CTGATGTTGGTGATAGTGCGGA
+MN908947.3	8063	8092	SARS-CoV-2_26_RIGHT	2	-	GAGTTTTTCCATTGGTACGTTAAAAGTTG
+MN908947.3	8304	8326	SARS-CoV-2_28_LEFT	2	+	TGAAAACATGACACCCCGTGAC
+MN908947.3	8367	8392	SARS-CoV-2_27_RIGHT_alt1	1	-	AATGTTGTGACTTTTTGCTACCTGC
+MN908947.3	8370	8395	SARS-CoV-2_27_RIGHT	1	-	AGCAATGTTGTGACTTTTTGCTACC
+MN908947.3	8596	8619	SARS-CoV-2_29_LEFT	1	+	CTTGTGTTCCTTTTTGTTGCTGC
+MN908947.3	8691	8714	SARS-CoV-2_28_RIGHT	2	-	TGACACCACCATCAATAGCCTTG
+MN908947.3	8919	8944	SARS-CoV-2_30_LEFT	2	+	ACCTAGAGTTTTTAGTGCAGTTGGT
+MN908947.3	8990	9013	SARS-CoV-2_29_RIGHT	1	-	AGCCAAAACACAAGCTGATGTTG
+MN908947.3	9168	9192	SARS-CoV-2_31_LEFT	1	+	CCTTGAAGGTTCTGTTAGAGTGGT
+MN908947.3	9306	9329	SARS-CoV-2_30_RIGHT	2	-	CTACACCACAGAAAACTCCTGGT
+MN908947.3	9470	9497	SARS-CoV-2_32_LEFT	2	+	GAGCTTTTGGTGAATACAGTCATGTAG
+MN908947.3	9535	9564	SARS-CoV-2_31_RIGHT	1	-	AATGAGTAAACTGGTGTTAAACAGAGTAC
+MN908947.3	9782	9805	SARS-CoV-2_33_LEFT	1	+	GTACTTTTGAAGAAGCTGCGCTG
+MN908947.3	9842	9866	SARS-CoV-2_32_RIGHT	2	-	GAGGTAATAGCACATCACTACGCA
+MN908947.3	10076	10099	SARS-CoV-2_34_LEFT	2	+	TCCCATCTGGTAAAGTTGAGGGT
+MN908947.3	10150	10176	SARS-CoV-2_33_RIGHT	1	-	TGTCTTGGACAGTAAACTACGTCATC
+MN908947.3	10393	10419	SARS-CoV-2_35_LEFT	1	+	GTGTTAGCTTGTTACAATGGTTCACC
+MN908947.3	10465	10491	SARS-CoV-2_34_RIGHT	2	-	CCACATGAACCATTAAGGAATGAACC
+MN908947.3	10713	10742	SARS-CoV-2_36_LEFT	2	+	CAATCGATTTACCACAACTCTTAATGACT
+MN908947.3	10785	10810	SARS-CoV-2_35_RIGHT	1	-	AGGTCCTAGTATGTCAACATGGTCT
+MN908947.3	11000	11023	SARS-CoV-2_37_LEFT	1	+	CACACCACTGGTTGTTACTCACA
+MN908947.3	11092	11116	SARS-CoV-2_36_RIGHT	2	-	ACCCATAGCAAAAGGTAAAAAGGC
+MN908947.3	11305	11330	SARS-CoV-2_38_LEFT	2	+	GACTGTGTTATGTATGCATCAGCTG
+MN908947.3	11388	11414	SARS-CoV-2_37_RIGHT	1	-	GTGTCAAGACATTCATAAGTGTCCAC
+MN908947.3	11624	11651	SARS-CoV-2_39_LEFT	1	+	GCTATTTTTGTACTTGTTACTTTGGCC
+MN908947.3	11689	11720	SARS-CoV-2_38_RIGHT	2	-	CCTGTGTAGAAACTAAGTAATCATAAACACC
+MN908947.3	11937	11963	SARS-CoV-2_40_LEFT	2	+	TGTCCAGTTACACAATGACATTCTCT
+MN908947.3	12011	12033	SARS-CoV-2_39_RIGHT	1	-	CCCTGCATGGAAAGCAAAACAG
+MN908947.3	12234	12255	SARS-CoV-2_41_LEFT	1	+	ATTTGACCGTGATGCAGCCAT
+MN908947.3	12317	12339	SARS-CoV-2_40_RIGHT	2	-	ACTTTTGCCCTCTTGTCCTCAG
+MN908947.3	12519	12546	SARS-CoV-2_42_LEFT	2	+	TGGTACAACATTTACTTATGCATCAGC
+MN908947.3	12618	12643	SARS-CoV-2_41_RIGHT	1	-	AAGAGGCCATGCTAAATTAGGTGAA
+MN908947.3	12831	12856	SARS-CoV-2_43_LEFT	1	+	GGATTTGAAATGGGCTAGATTCCCT
+MN908947.3	12895	12920	SARS-CoV-2_42_RIGHT	2	-	TGTCTGTAACAAACCTACAAGGTGG
+MN908947.3	13124	13148	SARS-CoV-2_44_LEFT	2	+	GGGGACAACCAATCACTAATTGTG
+MN908947.3	13218	13240	SARS-CoV-2_43_RIGHT	1	-	CGATGCACCACCAAAGGATTCT
+MN908947.3	13463	13485	SARS-CoV-2_45_LEFT	1	+	TAAACGGGTTTGCGGTGTAAGT
+MN908947.3	13506	13528	SARS-CoV-2_44_RIGHT	2	-	CATCAGTACTAGTGCCTGTGCC
+MN908947.3	13752	13775	SARS-CoV-2_46_LEFT	2	+	AGAATAGACGGTGACATGGTACC
+MN908947.3	13833	13859	SARS-CoV-2_45_RIGHT	1	-	TCACAATTACCTTCATCAAAATGCCT
+MN908947.3	14045	14075	SARS-CoV-2_47_LEFT	1	+	TGGTGTACTGACATTAGATAATCAAGATCT
+MN908947.3	14120	14144	SARS-CoV-2_46_RIGHT	2	-	TCTACAACAGGAACTCCACTACCT
+MN908947.3	14338	14362	SARS-CoV-2_48_LEFT	2	+	ACTGTTTGGATGACAGATGCATTC
+MN908947.3	14428	14457	SARS-CoV-2_47_RIGHT	1	-	TGGAACACCATCAACAAATATTTTTCTCA
+MN908947.3	14647	14674	SARS-CoV-2_49_LEFT	1	+	ACAATGTTGCTTTTCAAACTGTCAAAC
+MN908947.3	14717	14743	SARS-CoV-2_48_RIGHT	2	-	CAGAACTTCCTTCCTTAAAGAAACCC
+MN908947.3	14953	14983	SARS-CoV-2_50_LEFT	2	+	CATTTAATAAATGGGGTAAGGCTAGACTTT
+MN908947.3	15023	15050	SARS-CoV-2_49_RIGHT	1	-	GGGATGACATTACGTTTTGTATATGCG
+MN908947.3	15214	15237	SARS-CoV-2_51_LEFT	1	+	GCAAATTCTATGGTGGTTGGCAC
+MN908947.3	15336	15358	SARS-CoV-2_50_RIGHT	2	-	GAGCAAGAACAAGTGAGGCCAT
+MN908947.3	15535	15557	SARS-CoV-2_52_LEFT	2	+	CTGTCACGGCCAATGTTAATGC
+MN908947.3	15596	15619	SARS-CoV-2_51_RIGHT	1	-	GTCTGTGTTGTAAATTGCGGACA
+MN908947.3	15855	15881	SARS-CoV-2_53_LEFT	1	+	ACTAAAGGACCTCATGAATTTTGCTC
+MN908947.3	15917	15941	SARS-CoV-2_52_RIGHT	2	-	GGATCTGGGTAAGGAAGGTACACA
+MN908947.3	16112	16137	SARS-CoV-2_54_LEFT	2	+	ACATGATGAGTTAACAGGACACATG
+MN908947.3	16239	16260	SARS-CoV-2_53_RIGHT	1	-	GCAAAGAACACAAGCCCCAAC
+MN908947.3	16386	16408	SARS-CoV-2_55_LEFT	1	+	AATGCTCCAGGTTGTGATGTCA
+MN908947.3	16483	16508	SARS-CoV-2_54_RIGHT	2	-	CCAAAAACTTGTCCATTAGCACACA
+MN908947.3	16692	16714	SARS-CoV-2_56_LEFT	2	+	ACTGTACGTGAAGTGCTGTCTG
+MN908947.3	16767	16796	SARS-CoV-2_55_RIGHT	1	-	ACACGATAACCAGTAAAGACATAATTTCG
+MN908947.3	16986	17013	SARS-CoV-2_57_LEFT	1	+	GGCTTATACCCAACACTCAATATCTCA
+MN908947.3	17082	17105	SARS-CoV-2_56_RIGHT	2	-	TGACTCTTACCAGTACCAGGTGG
+MN908947.3	17323	17345	SARS-CoV-2_58_LEFT	2	+	TGCCTGAGACGACAGCAGATAT
+MN908947.3	17381	17405	SARS-CoV-2_57_RIGHT	1	-	CTGGCATTGACAACACTCAAATCA
+MN908947.3	17615	17642	SARS-CoV-2_59_LEFT	1	+	GCTTAAAGCACATAAAGACAAATCAGC
+MN908947.3	17688	17711	SARS-CoV-2_58_RIGHT	2	-	TGTGGCCTGTTAATTGCAGATGA
+MN908947.3	17911	17939	SARS-CoV-2_60_LEFT	2	+	ACAGATTTAATGTTGCTATTACCAGAGC
+MN908947.3	17997	18022	SARS-CoV-2_59_RIGHT	1	-	TCCTACGTGGAATTTCAAGACTTGT
+MN908947.3	18244	18267	SARS-CoV-2_61_LEFT	1	+	ACCCTAACATGTTTATCACCCGC
+MN908947.3	18307	18328	SARS-CoV-2_60_RIGHT	2	-	TAGCATGACACCCCTCGACAT
+MN908947.3	18550	18578	SARS-CoV-2_62_LEFT	2	+	GTGACACACTTAAAAATCTCTCTGACAG
+MN908947.3	18624	18652	SARS-CoV-2_61_RIGHT	1	-	GCTCAGGTCCTATTTTCACAAAATACTT
+MN908947.3	18869	18891	SARS-CoV-2_63_LEFT	1	+	TAGGTGTCTAGCTGTCCACGAG
+MN908947.3	18936	18961	SARS-CoV-2_62_RIGHT	2	-	CCGCATTAATCTTCAGTTCATCACC
+MN908947.3	19183	19208	SARS-CoV-2_64_LEFT	2	+	GCCTATTTTGGAATTGCAATGTCGA
+MN908947.3	19252	19277	SARS-CoV-2_63_RIGHT	1	-	CCAGGCAAGTTAAGGTTAGATAGCA
+MN908947.3	19485	19513	SARS-CoV-2_65_LEFT	1	+	GTCTGTAGACATCATGCTAATGAGTACA
+MN908947.3	19558	19586	SARS-CoV-2_64_RIGHT	2	-	GTATCAAATTGTTTGTAAACCCACAAGC
+MN908947.3	19810	19836	SARS-CoV-2_66_LEFT	2	+	AACCAGTACCAGAGGTGAAAATACTC
+MN908947.3	19877	19901	SARS-CoV-2_65_RIGHT	1	-	GCTGGAGCATCTCTTTTGTAGTCC
+MN908947.3	20090	20117	SARS-CoV-2_67_LEFT	1	+	CAAACAAGCTAGTCTTAATGGAGTCAC
+MN908947.3	20186	20216	SARS-CoV-2_66_RIGHT	2	-	TTTCTACTCTGAGTAAAGTAAGTTTCAGGT
+MN908947.3	20377	20405	SARS-CoV-2_68_LEFT	2	+	GACTAGCTAAACGTTTTAAGGAATCACC
+MN908947.3	20472	20497	SARS-CoV-2_67_RIGHT	1	-	AACACACACACTTAGATGAACCTGT
+MN908947.3	20677	20699	SARS-CoV-2_69_LEFT	1	+	CGGGTGTTGCTATGCCTAATCT
+MN908947.3	20766	20792	SARS-CoV-2_68_RIGHT	2	-	GCGACATTCATCATTATGCCTTTAGG
+MN908947.3	20988	21013	SARS-CoV-2_70_LEFT	2	+	TTGATTGGTGATTGTGCAACTGTAC
+MN908947.3	21050	21080	SARS-CoV-2_69_RIGHT	1	-	TTTGTAACATTTTTAGTCTTAGGGTCGTAC
+MN908947.3	21294	21316	SARS-CoV-2_71_LEFT	1	+	GGCAAACCACGCGAACAAATAG
+MN908947.3	21358	21387	SARS-CoV-2_70_RIGHT	2	-	AGAATAGGAAGACAACTGAATTGGATTTG
+MN908947.3	21532	21561	SARS-CoV-2_72_LEFT	2	+	GTGATGTTCTTGTTAACAACTAAACGAAC
+MN908947.3	21675	21700	SARS-CoV-2_71_RIGHT	1	-	TGAGGATCTGAAAACTTTGTCAGGG
+MN908947.3	21865	21889	SARS-CoV-2_73_LEFT	1	+	AGAGGCTGGATTTTTGGTACTACT
+MN908947.3	21904	21933	SARS-CoV-2_72_RIGHT	2	-	GTAGCGTTATTAACAATAAGTAGGGACTG
+MN908947.3	22091	22113	SARS-CoV-2_74_LEFT	2	+	TGGACCTTGAAGGAAAACAGGG
+MN908947.3	22247	22274	SARS-CoV-2_73_RIGHT	1	-	ACCTAGTGATGTTAATACCTATTGGCA
+MN908947.3	22402	22428	SARS-CoV-2_75_LEFT	1	+	GAAAATGGAACCATTACAGATGCTGT
+MN908947.3	22474	22503	SARS-CoV-2_74_RIGHT	2	-	TGATAGATTCCTTTTTCTACAGTGAAGGA
+MN908947.3	22648	22677	SARS-CoV-2_76_LEFT	2	+	GCTGATTATTCTGTCCTATATAATTCCGC
+MN908947.3	22742	22774	SARS-CoV-2_76_LEFT_alt1	2	+	ATGTCTATGCAGATTCATTTGTAATTAGAGGT
+MN908947.3	22785	22805	SARS-CoV-2_75_RIGHT	1	-	TTTGCCCTGGAGCGATTTGT
+MN908947.3	22944	22974	SARS-CoV-2_77_LEFT	1	+	CAAACCTTTTGAGAGAGATATTTCAACTGA
+MN908947.3	23028	23057	SARS-CoV-2_76_RIGHT	2	-	GTTGGAAACCATATGATTGTAAAGGAAAG
+MN908947.3	23120	23141	SARS-CoV-2_76_RIGHT_alt1	2	-	GTCCACAAACAGTTGCTGGTG
+MN908947.3	23219	23246	SARS-CoV-2_78_LEFT	2	+	CTGAGTCTAACAAAAAGTTTCTGCCTT
+MN908947.3	23327	23351	SARS-CoV-2_77_RIGHT	1	-	CACTGACACCACCAAAAGAACATG
+MN908947.3	23553	23575	SARS-CoV-2_79_LEFT	1	+	ACCCATTGGTGCAGGTATATGC
+MN908947.3	23611	23635	SARS-CoV-2_78_RIGHT	2	-	GGATTGACTAGCTACACTACGTGC
+MN908947.3	23853	23876	SARS-CoV-2_80_LEFT	2	+	CCGTGCTTTAACTGGAATAGCTG
+MN908947.3	23914	23944	SARS-CoV-2_79_RIGHT_alt1	1	-	AATTGGTGGTGTTTTGTAAATTTGTTTGAC
+MN908947.3	23927	23955	SARS-CoV-2_79_RIGHT	1	-	CCAAAATCTTTAATTGGTGGTGTTTTGT
+MN908947.3	24171	24194	SARS-CoV-2_81_LEFT	1	+	TGCTCAATACACTTCTGCACTGT
+MN908947.3	24233	24258	SARS-CoV-2_80_RIGHT	2	-	GCAAATGGTATTTGTAATGCAGCAC
+MN908947.3	24426	24448	SARS-CoV-2_82_LEFT	2	+	TGCACAAGCTTTAAACACGCTT
+MN908947.3	24545	24567	SARS-CoV-2_81_RIGHT	1	-	TGAAGTCTGCCTGTGATCAACC
+MN908947.3	24750	24772	SARS-CoV-2_83_LEFT	1	+	GCATGTGACTTATGTCCCTGCA
+MN908947.3	24814	24836	SARS-CoV-2_82_RIGHT	2	-	CACGAGGAAAGTGTGCTTTTCC
+MN908947.3	25051	25076	SARS-CoV-2_84_LEFT	2	+	GTTGATTTAGGTGACATCTCTGGCA
+MN908947.3	25122	25150	SARS-CoV-2_83_RIGHT	1	-	AGATTCATTTAAATTCTTGGCAACCTCA
+MN908947.3	25331	25353	SARS-CoV-2_85_LEFT	1	+	ATGAAGACGACTCTGAGCCAGT
+MN908947.3	25438	25461	SARS-CoV-2_84_RIGHT	2	-	AGCATCCTTGATTTCACCTTGCT
+MN908947.3	25645	25672	SARS-CoV-2_86_LEFT	2	+	TGTTGTTTGTAACAGTTTACTCACACC
+MN908947.3	25711	25740	SARS-CoV-2_85_RIGHT	1	-	CTGCAAGAAGTAGACTAAAGCATAAAGAT
+MN908947.3	25951	25979	SARS-CoV-2_87_LEFT	1	+	GTGGTTATACTGAAAAATGGGAATCTGG
+MN908947.3	26026	26050	SARS-CoV-2_86_RIGHT	2	-	TCAATTGAGTTGAGTACAGCTGGT
+MN908947.3	26242	26268	SARS-CoV-2_88_LEFT_alt1	2	+	TTATGTACTCATTCGTTTCGGAAGAG
+MN908947.3	26255	26277	SARS-CoV-2_88_LEFT	2	+	CGTTTCGGAAGAGACAGGTACG
+MN908947.3	26338	26360	SARS-CoV-2_87_RIGHT	1	-	AATCGAAGCGCAGTAAGGATGG
+MN908947.3	26564	26587	SARS-CoV-2_89_LEFT	1	+	AAGCTCCTTGAACAATGGAACCT
+MN908947.3	26592	26621	SARS-CoV-2_89_LEFT_alt1	1	+	TAGGTTTCCTATTCCTTACATGGATTTGT
+MN908947.3	26635	26661	SARS-CoV-2_88_RIGHT	2	-	ACAAAAACCTATTCCTGTTGGCATAG
+MN908947.3	26873	26895	SARS-CoV-2_90_LEFT	2	+	ATTCTTCTCAACGTGCCACTCC
+MN908947.3	26956	26979	SARS-CoV-2_89_RIGHT	1	-	CAGCAATACGAAGATGTCCACGA
+MN908947.3	26966	26991	SARS-CoV-2_89_RIGHT_alt1	1	-	CTAGATGGTGTCCAGCAATACGAAG
+MN908947.3	27152	27177	SARS-CoV-2_91_LEFT	1	+	TCCAGTAGCAGTGACAATATTGCTT
+MN908947.3	27218	27251	SARS-CoV-2_90_RIGHT_alt1	2	-	ATTAGTAATATCTCTGCTATAGTAACCTGAAAG
+MN908947.3	27256	27283	SARS-CoV-2_90_RIGHT	2	-	TCCAAATGGAAACTTTAAAAGTCCTCA
+MN908947.3	27447	27473	SARS-CoV-2_92_LEFT	2	+	CACTACCAAGAGTGTGTTAGAGGTAC
+MN908947.3	27534	27560	SARS-CoV-2_91_RIGHT	1	-	AGTGCAAATTTGTTATCAGCTAGAGG
+MN908947.3	27700	27726	SARS-CoV-2_93_LEFT	1	+	TTGTTGCGGCAATAGTGTTTATAACA
+MN908947.3	27826	27855	SARS-CoV-2_92_RIGHT	2	-	GTTCAAGTGAGAACCAAAAGATAATAAGC
+MN908947.3	27996	28021	SARS-CoV-2_94_LEFT	2	+	ACCCGTGTCCTATTCACTTCTATTC
+MN908947.3	28082	28104	SARS-CoV-2_93_RIGHT	1	-	TGGGTGATTTAGAACCAGCCTC
+MN908947.3	28190	28214	SARS-CoV-2_95_LEFT	1	+	GTGCGTTGTTCGTTCTATGAAGAC
+MN908947.3	28394	28416	SARS-CoV-2_94_RIGHT	2	-	TTATTGGGTAAACCTTGGGGCC
+MN908947.3	28512	28536	SARS-CoV-2_96_LEFT	2	+	AGATGACCAAATTGGCTACTACCG
+MN908947.3	28572	28598	SARS-CoV-2_95_RIGHT	1	-	ACCATCTTGGACTGAGATCTTTCATT
+MN908947.3	28827	28849	SARS-CoV-2_97_LEFT	1	+	TTCCTCATCACGTAGTCGCAAC
+MN908947.3	28893	28914	SARS-CoV-2_96_RIGHT	2	-	CCATTGCCAGCCATTCTAGCA
+MN908947.3	29136	29161	SARS-CoV-2_98_LEFT	2	+	CCAGGAACTAATCAGACAAGGAACT
+MN908947.3	29206	29227	SARS-CoV-2_97_RIGHT	1	-	CGACATTCCGAAGAACGCTGA
+MN908947.3	29452	29475	SARS-CoV-2_99_LEFT	1	+	CTTCTTCCTGCTGCAGATTTGGA
+MN908947.3	29512	29534	SARS-CoV-2_98_RIGHT	2	-	TTTAGGCCTGAGTTGAGTCAGC
+MN908947.3	29827	29854	SARS-CoV-2_99_RIGHT	1	-	GCTATTAAAATCACATGGGGATAGCAC
diff --git a/resources/primers_schemes/bed/nCoV-2019/V4/SARS-CoV-2.primer.bed b/resources/primers_schemes/bed/nCoV-2019/V4/SARS-CoV-2.primer.bed
new file mode 100644
index 0000000..c2149c0
--- /dev/null
+++ b/resources/primers_schemes/bed/nCoV-2019/V4/SARS-CoV-2.primer.bed
@@ -0,0 +1,198 @@
+MN908947.3	25	50	SARS-CoV-2_1_LEFT	1	+	AACAAACCAACCAACTTTCGATCTC
+MN908947.3	408	431	SARS-CoV-2_1_RIGHT	1	-	CTTCTACTAAGCCACAAGTGCCA
+MN908947.3	324	344	SARS-CoV-2_2_LEFT	2	+	TTTACAGGTTCGCGACGTGC
+MN908947.3	705	727	SARS-CoV-2_2_RIGHT	2	-	ATAAGGATCAGTGCCAAGCTCG
+MN908947.3	644	666	SARS-CoV-2_3_LEFT	1	+	GTAATAAAGGAGCTGGTGGCCA
+MN908947.3	1017	1044	SARS-CoV-2_3_RIGHT	1	-	GCCAATTTAATTTCAAAAGGTGTCTGC
+MN908947.3	944	966	SARS-CoV-2_4_LEFT	2	+	GTGTATACTGCTGCCGTGAACA
+MN908947.3	1337	1362	SARS-CoV-2_4_RIGHT	2	-	ACAACAGCATTTTGGGGTAAGTAAC
+MN908947.3	1245	1266	SARS-CoV-2_5_LEFT	1	+	TGAAACTTCATGGCAGACGGG
+MN908947.3	1623	1650	SARS-CoV-2_5_RIGHT	1	-	TTGATGTTGACTTTCTCTTTTTGGAGT
+MN908947.3	1540	1562	SARS-CoV-2_6_LEFT	2	+	CGTGCTAGCGCTAACATAGGTT
+MN908947.3	1925	1948	SARS-CoV-2_6_RIGHT	2	-	AACACGCACAGAATTTTGAGCAG
+MN908947.3	1851	1875	SARS-CoV-2_7_LEFT	1	+	ACTGAGTCCTCTTTATGCATTTGC
+MN908947.3	2228	2250	SARS-CoV-2_7_RIGHT	1	-	CCACCGACAATTTCACAAGCAC
+MN908947.3	2154	2180	SARS-CoV-2_8_LEFT	2	+	GCTTGAAGAGAAGTTTAAGGAAGGTG
+MN908947.3	2544	2571	SARS-CoV-2_8_RIGHT	2	-	GGTTGTTCTAATGGTTGTAAATCACCA
+MN908947.3	2483	2508	SARS-CoV-2_9_LEFT	1	+	TCTTCTTAGAGGGAGAAACACTTCC
+MN908947.3	2861	2885	SARS-CoV-2_9_RIGHT	1	-	CACAGGCGAACTCATTTACTTCTG
+MN908947.3	2826	2850	SARS-CoV-2_10_LEFT	2	+	TGAGAAGTGCTCTGCCTATACAGT
+MN908947.3	3183	3210	SARS-CoV-2_10_RIGHT	2	-	TCATCTAACCAATCTTCTTCTTGCTCT
+MN908947.3	3078	3102	SARS-CoV-2_11_LEFT	1	+	AGAAGAGTTTGAGCCATCAACTCA
+MN908947.3	3470	3492	SARS-CoV-2_11_RIGHT	1	-	TTTAAGGCTCCTGCAACACCTC
+MN908947.3	3390	3412	SARS-CoV-2_12_LEFT	2	+	TGCAGACATTGTGGAAGAAGCT
+MN908947.3	3769	3794	SARS-CoV-2_12_RIGHT	2	-	CAGCTAAGTAGACATTTGTGCGAAC
+MN908947.3	3683	3705	SARS-CoV-2_13_LEFT	1	+	AGCACGAAGTTCTACTTGCACC
+MN908947.3	4067	4093	SARS-CoV-2_13_RIGHT	1	-	GATGTCAATGTCACTAACAAGAGTGG
+MN908947.3	3992	4018	SARS-CoV-2_14_LEFT	2	+	TGGAAGAAACTAAGTTCCTCACAGAA
+MN908947.3	4387	4409	SARS-CoV-2_14_RIGHT	2	-	CATGTGCAAGCATTTCTCGCAA
+MN908947.3	4312	4339	SARS-CoV-2_15_LEFT	1	+	AAAAGTGCCTTTTACATTCTACCATCT
+MN908947.3	4685	4710	SARS-CoV-2_15_RIGHT	1	-	GCATCAGGTGAAGAAACAGAAACTG
+MN908947.3	4620	4648	SARS-CoV-2_16_LEFT	2	+	TGTAACACATGGCTTAAATTTGGAAGAA
+MN908947.3	4995	5017	SARS-CoV-2_16_RIGHT	2	-	CACAACTTGCGTGTGGAGGTTA
+MN908947.3	4923	4953	SARS-CoV-2_17_LEFT	1	+	TGACAATCTTAAGACACTTCTTTCTTTGAG
+MN908947.3	5302	5331	SARS-CoV-2_17_RIGHT	1	-	TTCAACTCTATTTGTTGGAGTGTTAACAA
+MN908947.3	5230	5259	SARS-CoV-2_18_LEFT	2	+	TGGAAATACCCACAAGTTAATGGTTTAAC
+MN908947.3	5620	5643	SARS-CoV-2_18_RIGHT	2	-	GCTTGTTTACCACACGTACAAGG
+MN908947.3	5561	5584	SARS-CoV-2_19_LEFT	1	+	AAGCTGTTATGTACATGGGCACA
+MN908947.3	5932	5957	SARS-CoV-2_19_RIGHT	1	-	TGTCCAACTTAGGGTCAATTTCTGT
+MN908947.3	5867	5894	SARS-CoV-2_20_LEFT	2	+	ACAAAGAAAACAGTTACACAACAACCA
+MN908947.3	6247	6272	SARS-CoV-2_20_RIGHT	2	-	ACGTGGCTTTATTAGTTGCATTGTT
+MN908947.3	6184	6210	SARS-CoV-2_21_LEFT	1	+	CACTACACACCCTCTTTTAAGAAAGG
+MN908947.3	6553	6582	SARS-CoV-2_21_RIGHT	1	-	GTAAGACTAGAATTGTCTACATAAGCAGC
+MN908947.3	6478	6507	SARS-CoV-2_22_LEFT	2	+	GTAGGAGACATTATACTTAAACCAGCAAA
+MN908947.3	6859	6885	SARS-CoV-2_22_RIGHT	2	-	CCGACACTCTTAACAGTATTCTTTGC
+MN908947.3	6747	6776	SARS-CoV-2_23_LEFT	1	+	AAACCGTGTTTGTACTAATTATATGCCTT
+MN908947.3	7122	7148	SARS-CoV-2_23_RIGHT	1	-	AACCACTAAGACAAACACTACAAGGT
+MN908947.3	7057	7084	SARS-CoV-2_24_LEFT	2	+	GGTTACAGAGAAGGCTATTTGAACTCT
+MN908947.3	7440	7467	SARS-CoV-2_24_RIGHT	2	-	ACAACATGCACATAACTTTTCCATACA
+MN908947.3	7381	7403	SARS-CoV-2_25_LEFT	1	+	CAAATGGCCCCGATTTCAGCTA
+MN908947.3	7747	7770	SARS-CoV-2_25_RIGHT	1	-	TGGATGGAACCATTCTTCACTGT
+MN908947.3	7672	7695	SARS-CoV-2_26_LEFT	2	+	GCGAGAGACTTGTCACTACAGTT
+MN908947.3	8063	8092	SARS-CoV-2_26_RIGHT	2	-	GAGTTTTTCCATTGGTACGTTAAAAGTTG
+MN908947.3	7997	8019	SARS-CoV-2_27_LEFT	1	+	CTGATGTTGGTGATAGTGCGGA
+MN908947.3	8370	8395	SARS-CoV-2_27_RIGHT	1	-	AGCAATGTTGTGACTTTTTGCTACC
+MN908947.3	8304	8326	SARS-CoV-2_28_LEFT	2	+	TGAAAACATGACACCCCGTGAC
+MN908947.3	8691	8714	SARS-CoV-2_28_RIGHT	2	-	TGACACCACCATCAATAGCCTTG
+MN908947.3	8596	8619	SARS-CoV-2_29_LEFT	1	+	CTTGTGTTCCTTTTTGTTGCTGC
+MN908947.3	8990	9013	SARS-CoV-2_29_RIGHT	1	-	AGCCAAAACACAAGCTGATGTTG
+MN908947.3	8919	8944	SARS-CoV-2_30_LEFT	2	+	ACCTAGAGTTTTTAGTGCAGTTGGT
+MN908947.3	9306	9329	SARS-CoV-2_30_RIGHT	2	-	CTACACCACAGAAAACTCCTGGT
+MN908947.3	9168	9192	SARS-CoV-2_31_LEFT	1	+	CCTTGAAGGTTCTGTTAGAGTGGT
+MN908947.3	9535	9564	SARS-CoV-2_31_RIGHT	1	-	AATGAGTAAACTGGTGTTAAACAGAGTAC
+MN908947.3	9470	9497	SARS-CoV-2_32_LEFT	2	+	GAGCTTTTGGTGAATACAGTCATGTAG
+MN908947.3	9842	9866	SARS-CoV-2_32_RIGHT	2	-	GAGGTAATAGCACATCACTACGCA
+MN908947.3	9782	9805	SARS-CoV-2_33_LEFT	1	+	GTACTTTTGAAGAAGCTGCGCTG
+MN908947.3	10150	10176	SARS-CoV-2_33_RIGHT	1	-	TGTCTTGGACAGTAAACTACGTCATC
+MN908947.3	10076	10099	SARS-CoV-2_34_LEFT	2	+	TCCCATCTGGTAAAGTTGAGGGT
+MN908947.3	10465	10491	SARS-CoV-2_34_RIGHT	2	-	CCACATGAACCATTAAGGAATGAACC
+MN908947.3	10393	10419	SARS-CoV-2_35_LEFT	1	+	GTGTTAGCTTGTTACAATGGTTCACC
+MN908947.3	10785	10810	SARS-CoV-2_35_RIGHT	1	-	AGGTCCTAGTATGTCAACATGGTCT
+MN908947.3	10713	10742	SARS-CoV-2_36_LEFT	2	+	CAATCGATTTACCACAACTCTTAATGACT
+MN908947.3	11092	11116	SARS-CoV-2_36_RIGHT	2	-	ACCCATAGCAAAAGGTAAAAAGGC
+MN908947.3	11000	11023	SARS-CoV-2_37_LEFT	1	+	CACACCACTGGTTGTTACTCACA
+MN908947.3	11388	11414	SARS-CoV-2_37_RIGHT	1	-	GTGTCAAGACATTCATAAGTGTCCAC
+MN908947.3	11305	11330	SARS-CoV-2_38_LEFT	2	+	GACTGTGTTATGTATGCATCAGCTG
+MN908947.3	11689	11720	SARS-CoV-2_38_RIGHT	2	-	CCTGTGTAGAAACTAAGTAATCATAAACACC
+MN908947.3	11624	11651	SARS-CoV-2_39_LEFT	1	+	GCTATTTTTGTACTTGTTACTTTGGCC
+MN908947.3	12011	12033	SARS-CoV-2_39_RIGHT	1	-	CCCTGCATGGAAAGCAAAACAG
+MN908947.3	11937	11963	SARS-CoV-2_40_LEFT	2	+	TGTCCAGTTACACAATGACATTCTCT
+MN908947.3	12317	12339	SARS-CoV-2_40_RIGHT	2	-	ACTTTTGCCCTCTTGTCCTCAG
+MN908947.3	12234	12255	SARS-CoV-2_41_LEFT	1	+	ATTTGACCGTGATGCAGCCAT
+MN908947.3	12618	12643	SARS-CoV-2_41_RIGHT	1	-	AAGAGGCCATGCTAAATTAGGTGAA
+MN908947.3	12519	12546	SARS-CoV-2_42_LEFT	2	+	TGGTACAACATTTACTTATGCATCAGC
+MN908947.3	12895	12920	SARS-CoV-2_42_RIGHT	2	-	TGTCTGTAACAAACCTACAAGGTGG
+MN908947.3	12831	12856	SARS-CoV-2_43_LEFT	1	+	GGATTTGAAATGGGCTAGATTCCCT
+MN908947.3	13218	13240	SARS-CoV-2_43_RIGHT	1	-	CGATGCACCACCAAAGGATTCT
+MN908947.3	13124	13148	SARS-CoV-2_44_LEFT	2	+	GGGGACAACCAATCACTAATTGTG
+MN908947.3	13506	13528	SARS-CoV-2_44_RIGHT	2	-	CATCAGTACTAGTGCCTGTGCC
+MN908947.3	13463	13485	SARS-CoV-2_45_LEFT	1	+	TAAACGGGTTTGCGGTGTAAGT
+MN908947.3	13833	13859	SARS-CoV-2_45_RIGHT	1	-	TCACAATTACCTTCATCAAAATGCCT
+MN908947.3	13752	13775	SARS-CoV-2_46_LEFT	2	+	AGAATAGACGGTGACATGGTACC
+MN908947.3	14120	14144	SARS-CoV-2_46_RIGHT	2	-	TCTACAACAGGAACTCCACTACCT
+MN908947.3	14045	14075	SARS-CoV-2_47_LEFT	1	+	TGGTGTACTGACATTAGATAATCAAGATCT
+MN908947.3	14428	14457	SARS-CoV-2_47_RIGHT	1	-	TGGAACACCATCAACAAATATTTTTCTCA
+MN908947.3	14338	14362	SARS-CoV-2_48_LEFT	2	+	ACTGTTTGGATGACAGATGCATTC
+MN908947.3	14717	14743	SARS-CoV-2_48_RIGHT	2	-	CAGAACTTCCTTCCTTAAAGAAACCC
+MN908947.3	14647	14674	SARS-CoV-2_49_LEFT	1	+	ACAATGTTGCTTTTCAAACTGTCAAAC
+MN908947.3	15023	15050	SARS-CoV-2_49_RIGHT	1	-	GGGATGACATTACGTTTTGTATATGCG
+MN908947.3	14953	14983	SARS-CoV-2_50_LEFT	2	+	CATTTAATAAATGGGGTAAGGCTAGACTTT
+MN908947.3	15336	15358	SARS-CoV-2_50_RIGHT	2	-	GAGCAAGAACAAGTGAGGCCAT
+MN908947.3	15214	15237	SARS-CoV-2_51_LEFT	1	+	GCAAATTCTATGGTGGTTGGCAC
+MN908947.3	15596	15619	SARS-CoV-2_51_RIGHT	1	-	GTCTGTGTTGTAAATTGCGGACA
+MN908947.3	15535	15557	SARS-CoV-2_52_LEFT	2	+	CTGTCACGGCCAATGTTAATGC
+MN908947.3	15917	15941	SARS-CoV-2_52_RIGHT	2	-	GGATCTGGGTAAGGAAGGTACACA
+MN908947.3	15855	15881	SARS-CoV-2_53_LEFT	1	+	ACTAAAGGACCTCATGAATTTTGCTC
+MN908947.3	16239	16260	SARS-CoV-2_53_RIGHT	1	-	GCAAAGAACACAAGCCCCAAC
+MN908947.3	16112	16137	SARS-CoV-2_54_LEFT	2	+	ACATGATGAGTTAACAGGACACATG
+MN908947.3	16483	16508	SARS-CoV-2_54_RIGHT	2	-	CCAAAAACTTGTCCATTAGCACACA
+MN908947.3	16386	16408	SARS-CoV-2_55_LEFT	1	+	AATGCTCCAGGTTGTGATGTCA
+MN908947.3	16767	16796	SARS-CoV-2_55_RIGHT	1	-	ACACGATAACCAGTAAAGACATAATTTCG
+MN908947.3	16692	16714	SARS-CoV-2_56_LEFT	2	+	ACTGTACGTGAAGTGCTGTCTG
+MN908947.3	17082	17105	SARS-CoV-2_56_RIGHT	2	-	TGACTCTTACCAGTACCAGGTGG
+MN908947.3	16986	17013	SARS-CoV-2_57_LEFT	1	+	GGCTTATACCCAACACTCAATATCTCA
+MN908947.3	17381	17405	SARS-CoV-2_57_RIGHT	1	-	CTGGCATTGACAACACTCAAATCA
+MN908947.3	17323	17345	SARS-CoV-2_58_LEFT	2	+	TGCCTGAGACGACAGCAGATAT
+MN908947.3	17688	17711	SARS-CoV-2_58_RIGHT	2	-	TGTGGCCTGTTAATTGCAGATGA
+MN908947.3	17615	17642	SARS-CoV-2_59_LEFT	1	+	GCTTAAAGCACATAAAGACAAATCAGC
+MN908947.3	17997	18022	SARS-CoV-2_59_RIGHT	1	-	TCCTACGTGGAATTTCAAGACTTGT
+MN908947.3	17911	17939	SARS-CoV-2_60_LEFT	2	+	ACAGATTTAATGTTGCTATTACCAGAGC
+MN908947.3	18307	18328	SARS-CoV-2_60_RIGHT	2	-	TAGCATGACACCCCTCGACAT
+MN908947.3	18244	18267	SARS-CoV-2_61_LEFT	1	+	ACCCTAACATGTTTATCACCCGC
+MN908947.3	18624	18652	SARS-CoV-2_61_RIGHT	1	-	GCTCAGGTCCTATTTTCACAAAATACTT
+MN908947.3	18550	18578	SARS-CoV-2_62_LEFT	2	+	GTGACACACTTAAAAATCTCTCTGACAG
+MN908947.3	18936	18961	SARS-CoV-2_62_RIGHT	2	-	CCGCATTAATCTTCAGTTCATCACC
+MN908947.3	18869	18891	SARS-CoV-2_63_LEFT	1	+	TAGGTGTCTAGCTGTCCACGAG
+MN908947.3	19252	19277	SARS-CoV-2_63_RIGHT	1	-	CCAGGCAAGTTAAGGTTAGATAGCA
+MN908947.3	19183	19208	SARS-CoV-2_64_LEFT	2	+	GCCTATTTTGGAATTGCAATGTCGA
+MN908947.3	19558	19586	SARS-CoV-2_64_RIGHT	2	-	GTATCAAATTGTTTGTAAACCCACAAGC
+MN908947.3	19485	19513	SARS-CoV-2_65_LEFT	1	+	GTCTGTAGACATCATGCTAATGAGTACA
+MN908947.3	19877	19901	SARS-CoV-2_65_RIGHT	1	-	GCTGGAGCATCTCTTTTGTAGTCC
+MN908947.3	19810	19836	SARS-CoV-2_66_LEFT	2	+	AACCAGTACCAGAGGTGAAAATACTC
+MN908947.3	20186	20216	SARS-CoV-2_66_RIGHT	2	-	TTTCTACTCTGAGTAAAGTAAGTTTCAGGT
+MN908947.3	20090	20117	SARS-CoV-2_67_LEFT	1	+	CAAACAAGCTAGTCTTAATGGAGTCAC
+MN908947.3	20472	20497	SARS-CoV-2_67_RIGHT	1	-	AACACACACACTTAGATGAACCTGT
+MN908947.3	20377	20405	SARS-CoV-2_68_LEFT	2	+	GACTAGCTAAACGTTTTAAGGAATCACC
+MN908947.3	20766	20792	SARS-CoV-2_68_RIGHT	2	-	GCGACATTCATCATTATGCCTTTAGG
+MN908947.3	20677	20699	SARS-CoV-2_69_LEFT	1	+	CGGGTGTTGCTATGCCTAATCT
+MN908947.3	21050	21080	SARS-CoV-2_69_RIGHT	1	-	TTTGTAACATTTTTAGTCTTAGGGTCGTAC
+MN908947.3	20988	21013	SARS-CoV-2_70_LEFT	2	+	TTGATTGGTGATTGTGCAACTGTAC
+MN908947.3	21358	21387	SARS-CoV-2_70_RIGHT	2	-	AGAATAGGAAGACAACTGAATTGGATTTG
+MN908947.3	21294	21316	SARS-CoV-2_71_LEFT	1	+	GGCAAACCACGCGAACAAATAG
+MN908947.3	21675	21700	SARS-CoV-2_71_RIGHT	1	-	TGAGGATCTGAAAACTTTGTCAGGG
+MN908947.3	21532	21561	SARS-CoV-2_72_LEFT	2	+	GTGATGTTCTTGTTAACAACTAAACGAAC
+MN908947.3	21904	21933	SARS-CoV-2_72_RIGHT	2	-	GTAGCGTTATTAACAATAAGTAGGGACTG
+MN908947.3	21865	21889	SARS-CoV-2_73_LEFT	1	+	AGAGGCTGGATTTTTGGTACTACT
+MN908947.3	22247	22274	SARS-CoV-2_73_RIGHT	1	-	ACCTAGTGATGTTAATACCTATTGGCA
+MN908947.3	22091	22113	SARS-CoV-2_74_LEFT	2	+	TGGACCTTGAAGGAAAACAGGG
+MN908947.3	22474	22503	SARS-CoV-2_74_RIGHT	2	-	TGATAGATTCCTTTTTCTACAGTGAAGGA
+MN908947.3	22402	22428	SARS-CoV-2_75_LEFT	1	+	GAAAATGGAACCATTACAGATGCTGT
+MN908947.3	22785	22805	SARS-CoV-2_75_RIGHT	1	-	TTTGCCCTGGAGCGATTTGT
+MN908947.3	22648	22677	SARS-CoV-2_76_LEFT	2	+	GCTGATTATTCTGTCCTATATAATTCCGC
+MN908947.3	23028	23057	SARS-CoV-2_76_RIGHT	2	-	GTTGGAAACCATATGATTGTAAAGGAAAG
+MN908947.3	22944	22974	SARS-CoV-2_77_LEFT	1	+	CAAACCTTTTGAGAGAGATATTTCAACTGA
+MN908947.3	23327	23351	SARS-CoV-2_77_RIGHT	1	-	CACTGACACCACCAAAAGAACATG
+MN908947.3	23219	23246	SARS-CoV-2_78_LEFT	2	+	CTGAGTCTAACAAAAAGTTTCTGCCTT
+MN908947.3	23611	23635	SARS-CoV-2_78_RIGHT	2	-	GGATTGACTAGCTACACTACGTGC
+MN908947.3	23553	23575	SARS-CoV-2_79_LEFT	1	+	ACCCATTGGTGCAGGTATATGC
+MN908947.3	23927	23955	SARS-CoV-2_79_RIGHT	1	-	CCAAAATCTTTAATTGGTGGTGTTTTGT
+MN908947.3	23853	23876	SARS-CoV-2_80_LEFT	2	+	CCGTGCTTTAACTGGAATAGCTG
+MN908947.3	24233	24258	SARS-CoV-2_80_RIGHT	2	-	GCAAATGGTATTTGTAATGCAGCAC
+MN908947.3	24171	24194	SARS-CoV-2_81_LEFT	1	+	TGCTCAATACACTTCTGCACTGT
+MN908947.3	24545	24567	SARS-CoV-2_81_RIGHT	1	-	TGAAGTCTGCCTGTGATCAACC
+MN908947.3	24426	24448	SARS-CoV-2_82_LEFT	2	+	TGCACAAGCTTTAAACACGCTT
+MN908947.3	24814	24836	SARS-CoV-2_82_RIGHT	2	-	CACGAGGAAAGTGTGCTTTTCC
+MN908947.3	24750	24772	SARS-CoV-2_83_LEFT	1	+	GCATGTGACTTATGTCCCTGCA
+MN908947.3	25122	25150	SARS-CoV-2_83_RIGHT	1	-	AGATTCATTTAAATTCTTGGCAACCTCA
+MN908947.3	25051	25076	SARS-CoV-2_84_LEFT	2	+	GTTGATTTAGGTGACATCTCTGGCA
+MN908947.3	25438	25461	SARS-CoV-2_84_RIGHT	2	-	AGCATCCTTGATTTCACCTTGCT
+MN908947.3	25331	25353	SARS-CoV-2_85_LEFT	1	+	ATGAAGACGACTCTGAGCCAGT
+MN908947.3	25711	25740	SARS-CoV-2_85_RIGHT	1	-	CTGCAAGAAGTAGACTAAAGCATAAAGAT
+MN908947.3	25645	25672	SARS-CoV-2_86_LEFT	2	+	TGTTGTTTGTAACAGTTTACTCACACC
+MN908947.3	26026	26050	SARS-CoV-2_86_RIGHT	2	-	TCAATTGAGTTGAGTACAGCTGGT
+MN908947.3	25951	25979	SARS-CoV-2_87_LEFT	1	+	GTGGTTATACTGAAAAATGGGAATCTGG
+MN908947.3	26338	26360	SARS-CoV-2_87_RIGHT	1	-	AATCGAAGCGCAGTAAGGATGG
+MN908947.3	26255	26277	SARS-CoV-2_88_LEFT	2	+	CGTTTCGGAAGAGACAGGTACG
+MN908947.3	26635	26661	SARS-CoV-2_88_RIGHT	2	-	ACAAAAACCTATTCCTGTTGGCATAG
+MN908947.3	26564	26587	SARS-CoV-2_89_LEFT	1	+	AAGCTCCTTGAACAATGGAACCT
+MN908947.3	26956	26979	SARS-CoV-2_89_RIGHT	1	-	CAGCAATACGAAGATGTCCACGA
+MN908947.3	26873	26895	SARS-CoV-2_90_LEFT	2	+	ATTCTTCTCAACGTGCCACTCC
+MN908947.3	27256	27283	SARS-CoV-2_90_RIGHT	2	-	TCCAAATGGAAACTTTAAAAGTCCTCA
+MN908947.3	27152	27177	SARS-CoV-2_91_LEFT	1	+	TCCAGTAGCAGTGACAATATTGCTT
+MN908947.3	27534	27560	SARS-CoV-2_91_RIGHT	1	-	AGTGCAAATTTGTTATCAGCTAGAGG
+MN908947.3	27447	27473	SARS-CoV-2_92_LEFT	2	+	CACTACCAAGAGTGTGTTAGAGGTAC
+MN908947.3	27826	27855	SARS-CoV-2_92_RIGHT	2	-	GTTCAAGTGAGAACCAAAAGATAATAAGC
+MN908947.3	27700	27726	SARS-CoV-2_93_LEFT	1	+	TTGTTGCGGCAATAGTGTTTATAACA
+MN908947.3	28082	28104	SARS-CoV-2_93_RIGHT	1	-	TGGGTGATTTAGAACCAGCCTC
+MN908947.3	27996	28021	SARS-CoV-2_94_LEFT	2	+	ACCCGTGTCCTATTCACTTCTATTC
+MN908947.3	28394	28416	SARS-CoV-2_94_RIGHT	2	-	TTATTGGGTAAACCTTGGGGCC
+MN908947.3	28190	28214	SARS-CoV-2_95_LEFT	1	+	GTGCGTTGTTCGTTCTATGAAGAC
+MN908947.3	28572	28598	SARS-CoV-2_95_RIGHT	1	-	ACCATCTTGGACTGAGATCTTTCATT
+MN908947.3	28512	28536	SARS-CoV-2_96_LEFT	2	+	AGATGACCAAATTGGCTACTACCG
+MN908947.3	28893	28914	SARS-CoV-2_96_RIGHT	2	-	CCATTGCCAGCCATTCTAGCA
+MN908947.3	28827	28849	SARS-CoV-2_97_LEFT	1	+	TTCCTCATCACGTAGTCGCAAC
+MN908947.3	29206	29227	SARS-CoV-2_97_RIGHT	1	-	CGACATTCCGAAGAACGCTGA
+MN908947.3	29136	29161	SARS-CoV-2_98_LEFT	2	+	CCAGGAACTAATCAGACAAGGAACT
+MN908947.3	29512	29534	SARS-CoV-2_98_RIGHT	2	-	TTTAGGCCTGAGTTGAGTCAGC
+MN908947.3	29452	29475	SARS-CoV-2_99_LEFT	1	+	CTTCTTCCTGCTGCAGATTTGGA
+MN908947.3	29827	29854	SARS-CoV-2_99_RIGHT	1	-	GCTATTAAAATCACATGGGGATAGCAC
diff --git a/resources/primers_schemes/bed/nCoV-2019/V5.3.2/SARS-CoV-2.primer.bed b/resources/primers_schemes/bed/nCoV-2019/V5.3.2/SARS-CoV-2.primer.bed
new file mode 100644
index 0000000..b4e9c18
--- /dev/null
+++ b/resources/primers_schemes/bed/nCoV-2019/V5.3.2/SARS-CoV-2.primer.bed
@@ -0,0 +1,192 @@
+MN908947.3	47	78	SARS-CoV-2_400_1_LEFT_1	1	+	CTCTTGTAGATCTGTTCTCTAAACGAACTTT														
+MN908947.3	419	447	SARS-CoV-2_400_1_RIGHT_1	1	-	AAAACGCCTTTTTCAACTTCTACTAAGC												
+MN908947.3	344	366	SARS-CoV-2_400_2_LEFT_0	2	+	TCGTACGTGGCTTTGGAGACTC														
+MN908947.3	707	732	SARS-CoV-2_400_2_RIGHT_0	2	-	TCTTCATAAGGATCAGTGCCAAGCT														
+MN908947.3	638	661	SARS-CoV-2_400_3_LEFT_1	1	+	AGAACGGTAATAAAGGAGCTGGT														
+MN908947.3	1018	1047	SARS-CoV-2_400_3_RIGHT_0	1	-	TTTGCCAATTTAATTTCAAAAGGTGTCTG														
+MN908947.3	970	995	SARS-CoV-2_400_4_LEFT_0	2	+	CATGAAATTGCTTGGTACACGGAAC														
+MN908947.3	1340	1370	SARS-CoV-2_400_4_RIGHT_0	2	-	AAATTTTAACAACAGCATTTTGGGGTAAGT														
+MN908947.3	1292	1320	SARS-CoV-2_400_5_LEFT_0	1	+	TTTGTGGCACTGAGAATTTGACTAAAGA														
+MN908947.3	1660	1692	SARS-CoV-2_400_5_RIGHT_0	1	-	ATAATGGCGATCTCTTCATTAAGTTTAAAGTC														
+MN908947.3	1574	1596	SARS-CoV-2_400_6_LEFT_1	2	+	GTGTTGTTGGAGAAGGTTCCGA														
+MN908947.3	1945	1972	SARS-CoV-2_400_6_RIGHT_1	2	-	TATTGTTATAGCGGCCTTCTGTAAAAC														
+MN908947.3	1882	1905	SARS-CoV-2_400_7_LEFT_2	1	+	GCTGCTCGTGTTGTACGATCAAT														
+MN908947.3	2259	2284	SARS-CoV-2_400_7_RIGHT_2	1	-	CTCCTTAATTTCCTTTGCACAGGTG														
+MN908947.3	2229	2252	SARS-CoV-2_400_8_LEFT_0	2	+	TGCTTGTGAAATTGTCGGTGGAC														
+MN908947.3	2603	2629	SARS-CoV-2_400_8_RIGHT_0	2	-	AAGCCCGTTAATACAAACTGGTGTAC														
+MN908947.3	2533	2563	SARS-CoV-2_400_9_LEFT_0	1	+	GTCTTGAAAACTGGTGATTTACAACCATTA														
+MN908947.3	2900	2933	SARS-CoV-2_400_9_RIGHT_0	1	-	GTAATTCAGATACTGGTTGCAAAGTTTTTATGA														
+MN908947.3	2854	2880	SARS-CoV-2_400_10_LEFT_0	2	+	CTCGGTACAGAAGTAAATGAGTTCGC														
+MN908947.3	3233	3254	SARS-CoV-2_400_10_RIGHT_0	2	-	TGTCCTCACTGCCGTCTTGTT														
+MN908947.3	3184	3213	SARS-CoV-2_400_11_LEFT_0	1	+	GAGCAAGAAGAAGATTGGTTAGATGATGA														
+MN908947.3	3560	3584	SARS-CoV-2_400_11_RIGHT_0	1	-	CGCTTAAAACACAACTACCACCCA														
+MN908947.3	3510	3540	SARS-CoV-2_400_12_LEFT_0	2	+	CATGCAAGTTGAATCTGATGATTACATAGC														
+MN908947.3	3883	3913	SARS-CoV-2_400_12_RIGHT_0	2	-	AGTTATAAATGGCTTAACTTCCTCTTTAGG														
+MN908947.3	3791	3824	SARS-CoV-2_400_13_LEFT_0	1	+	CTGTCTTTGATAAAAATCTCTATGACAAACTTG														
+MN908947.3	4147	4180	SARS-CoV-2_400_13_RIGHT_0	1	-	CTTTTTAGTAGGTATAACCACAGCAGTTAAAAC														
+MN908947.3	4079	4108	SARS-CoV-2_400_14_LEFT_0	2	+	GTGACATTGACATCACTTTCTTAAAGAAA														
+MN908947.3	4457	4488	SARS-CoV-2_400_14_RIGHT_0	2	-	CCCTTATATTTACGCTGTATAGTTGAAACTA														
+MN908947.3	4403	4425	SARS-CoV-2_400_15_LEFT_0	1	+	CACATGCAGAAGAAACACGCAA														
+MN908947.3	4776	4803	SARS-CoV-2_400_15_RIGHT_0	1	-	TCTTTATAGGAACCAGCAAGTGAGATG														
+MN908947.3	4723	4756	SARS-CoV-2_400_16_LEFT_0	2	+	AATGGTTATCTTACTTCTTCTTCTAAAACACCT														
+MN908947.3	5089	5119	SARS-CoV-2_400_16_RIGHT_0	2	-	AAATGTTTTACCTTCATGTGAATTATGAGG														
+MN908947.3	5036	5063	SARS-CoV-2_400_17_LEFT_0	1	+	GACAACAGTTTGGTCCAACTTATTTGG														
+MN908947.3	5398	5429	SARS-CoV-2_400_17_RIGHT_0	1	-	CTGTCTTATTACAGTAGGCTAAGATAAGTGC														
+MN908947.3	5344	5370	SARS-CoV-2_400_18_LEFT_0	2	+	GCTCTACAAGATGCTTATTACAGAGC														
+MN908947.3	5716	5744	SARS-CoV-2_400_18_RIGHT_0	2	-	ACTCACTAGCACAAGTAAATGTACCATG														
+MN908947.3	5671	5696	SARS-CoV-2_400_19_LEFT_0	1	+	CCTTTTGTTATGATGTCAGCACCAC														
+MN908947.3	6031	6062	SARS-CoV-2_400_19_RIGHT_0	1	-	CACATACAAACTTAAAATTATCGAAGCTTGC														
+MN908947.3	5891	5923	SARS-CoV-2_400_20_LEFT_0	2	+	CCATAAAACCAGTTACTTATAAATTGGATGGT														
+MN908947.3	6257	6288	SARS-CoV-2_400_20_RIGHT_0	2	-	CAGGTATTTGGTTTATACGTGGCTTTATTAG														
+MN908947.3	6204	6237	SARS-CoV-2_400_21_LEFT_0	1	+	GAAAGGAGCTAAATTGTTACATAAACCTATTGT														
+MN908947.3	6562	6595	SARS-CoV-2_400_21_RIGHT_0	1	-	AGGTTTCTTAATAGTAAGACTAGAATTGTCTAC														
+MN908947.3	6515	6542	SARS-CoV-2_400_22_LEFT_0	2	+	TAAAAATTACAGAAGAGGTTGGCCACA														
+MN908947.3	6882	6915	SARS-CoV-2_400_22_RIGHT_0	2	-	TAATTAAATGAAGCCTCTAGACAAAATTTACCG														
+MN908947.3	6823	6854	SARS-CoV-2_400_23_LEFT_0	1	+	AATTCTAGAATTAAAGCATCTATGCCGACTA														
+MN908947.3	7199	7229	SARS-CoV-2_400_23_RIGHT_0	1	-	CAAAAGCAGTTAAATCCCATTTAAAAGATG														
+MN908947.3	7145	7179	SARS-CoV-2_400_24_LEFT_0	2	+	GTTTAGATTCTTTAGACACCTATCCTTCTTTAGA														
+MN908947.3	7518	7545	SARS-CoV-2_400_24_RIGHT_0	2	-	ACAATAGTTGTACATTCGACTCTTGTT														
+MN908947.3	7456	7482	SARS-CoV-2_400_25_LEFT_0	1	+	GTGCATGTTGTAGACGGTTGTAATTC														
+MN908947.3	7819	7850	SARS-CoV-2_400_25_RIGHT_0	1	-	CTCTCAGGTTGTCTAAGTTAACAAAATGAGA														
+MN908947.3	7768	7797	SARS-CoV-2_400_26_LEFT_0	2	+	CATCTTTACTTTGATAAAGCTGGTCAAAA														
+MN908947.3	8136	8169	SARS-CoV-2_400_26_RIGHT_0	2	-	GAAATAAAAGTAGATAAGACATTGTCTAAGGAC														
+MN908947.3	8085	8112	SARS-CoV-2_400_27_LEFT_0	1	+	AAAACTCAAAACACTAGTTGCAACTGC														
+MN908947.3	8468	8498	SARS-CoV-2_400_27_RIGHT_0	1	-	CACATGTCAACTTAAAAGGTAAGTTATTCT														
+MN908947.3	8406	8436	SARS-CoV-2_400_28_LEFT_0	2	+	CGTTAAAGATTTCATGTCATTGTCTGAACA														
+MN908947.3	8781	8806	SARS-CoV-2_400_28_RIGHT_0	2	-	ATTAGTATAACTACCACCACGCTGG														
+MN908947.3	8732	8761	SARS-CoV-2_400_29_LEFT_0	1	+	CAGATACTTGTTTTGCTAACAAACATGCT														
+MN908947.3	9107	9129	SARS-CoV-2_400_29_RIGHT_0	1	-	ACATAACGTGTGTCAGGGCGTA														
+MN908947.3	9023	9052	SARS-CoV-2_400_30_LEFT_0	2	+	CAATTTTTAAAGATGCTTCTGGTAAGCCA														
+MN908947.3	9397	9423	SARS-CoV-2_400_30_RIGHT_0	2	-	ACAATACCACCAGCTACTATAGATGC														
+MN908947.3	9299	9324	SARS-CoV-2_400_31_LEFT_1	1	+	GATCTTTACCAGGAGTTTTCTGTGG														
+MN908947.3	9673	9706	SARS-CoV-2_400_31_RIGHT_0	1	-	ACAAATGATATAAGCAATTGTTATCCAGAAAGG														
+MN908947.3	9571	9604	SARS-CoV-2_400_32_LEFT_0	2	+	GGTGTTTATTCTGTTATTTACTTGTACTTGACA														
+MN908947.3	9949	9971	SARS-CoV-2_400_32_RIGHT_0	2	-	TTGCGAGATGACAACAAGCAGC														
+MN908947.3	9896	9929	SARS-CoV-2_400_33_LEFT_0	1	+	ATAATAAGTACAAGTATTTTAGTGGAGCAATGG														
+MN908947.3	10266	10295	SARS-CoV-2_400_33_RIGHT_0	1	-	AATGTCCAATAACCCTGAGTTGAACATTA														
+MN908947.3	10215	10245	SARS-CoV-2_400_34_LEFT_0	2	+	TGAAGATTTACTCATTCGTAAGTCTAATCA														
+MN908947.3	10587	10615	SARS-CoV-2_400_34_RIGHT_0	2	-	GTCAACAAAAGGTCCATAAAAGTTACCT														
+MN908947.3	10527	10557	SARS-CoV-2_400_35_LEFT_0	1	+	TTTTTGTTACATGCACCATATGGAATTACC														
+MN908947.3	10897	10927	SARS-CoV-2_400_35_RIGHT_0	1	-	AAATTCATCTTCTAATAAAGCACTACCCAA														
+MN908947.3	10832	10865	SARS-CoV-2_400_36_LEFT_0	2	+	CCGTTTTAGATATGTGTGCTTCATTAAAAGAAT														
+MN908947.3	11201	11232	SARS-CoV-2_400_36_RIGHT_0	2	-	GGCATATAGACCATATTAAAATAAGCTACAG														
+MN908947.3	11152	11181	SARS-CoV-2_400_37_LEFT_0	1	+	AAACATAAGCATGCATTTCTCTGTTTGTT														
+MN908947.3	11514	11536	SARS-CoV-2_400_37_RIGHT_0	1	-	ACCTCTGGCCAAAAACATGACA														
+MN908947.3	11463	11494	SARS-CoV-2_400_38_LEFT_0	2	+	GTGGGCTCTTATAATCTCTGTTACTTCTAAC														
+MN908947.3	11832	11863	SARS-CoV-2_400_38_RIGHT_0	2	-	CTTTACATCTGACATTTTAGACTGTACAGTG														
+MN908947.3	11785	11811	SARS-CoV-2_400_39_LEFT_0	1	+	AACATTAAATTGTTGGGTGTTGGTGG														
+MN908947.3	12161	12185	SARS-CoV-2_400_39_RIGHT_0	1	-	CAGAATCACCATTAGCAACAGCCT														
+MN908947.3	12112	12137	SARS-CoV-2_400_40_LEFT_0	2	+	TCCCTTCCATCATATGCAGCTTTTG														
+MN908947.3	12477	12510	SARS-CoV-2_400_40_RIGHT_0	2	-	TTTTTATATGTGTTATAGTCTGGTATGACAACC														
+MN908947.3	12419	12444	SARS-CoV-2_400_41_LEFT_0	1	+	CAAGAGATGGTTGTGTTCCCTTGAA														
+MN908947.3	12794	12819	SARS-CoV-2_400_41_RIGHT_0	1	-	AACAGTGCAAGTACAAACCTACCTC														
+MN908947.3	12752	12774	SARS-CoV-2_400_42_LEFT_0	2	+	GCACTGATGACAATGCGTTAGC														
+MN908947.3	13121	13146	SARS-CoV-2_400_42_RIGHT_0	2	-	CAATTAGTGATTGGTTGTCCCCCAC														
+MN908947.3	13075	13099	SARS-CoV-2_400_43_LEFT_0	1	+	GCTTTTGCTGTAGATGCTGCTAAA														
+MN908947.3	13458	13480	SARS-CoV-2_400_43_RIGHT_0	1	-	CACCGCAAACCCGTTTAAAAAC														
+MN908947.3	13415	13435	SARS-CoV-2_400_44_LEFT_0	2	+	ATCAACTCCGCGAACCCATG														
+MN908947.3	13787	13815	SARS-CoV-2_400_44_RIGHT_0	2	-	TGCCATTGTGTATTTAGTAAGACGTTGA														
+MN908947.3	13738	13767	SARS-CoV-2_400_45_LEFT_0	1	+	ACTTCTTTAAGTTTAGAATAGACGGTGAC														
+MN908947.3	14120	14144	SARS-CoV-2_400_45_RIGHT_0	1	-	TCTACAACAGGAACTCCACTACCT														
+MN908947.3	14073	14100	SARS-CoV-2_400_46_LEFT_0	2	+	CTCAATGGTAACTGGTATGATTTCGGT														
+MN908947.3	14427	14457	SARS-CoV-2_400_46_RIGHT_0	2	-	TGGAACACCATCAACAAATATTTTTCTCAC														
+MN908947.3	14375	14407	SARS-CoV-2_400_47_LEFT_0	1	+	CTTTAATGTTTTATTCTCTACAGTGTTCCCAC														
+MN908947.3	14745	14775	SARS-CoV-2_400_47_RIGHT_0	1	-	ATCCTGAGCAAAGAAGAAGTGTTTTAATTC														
+MN908947.3	14700	14725	SARS-CoV-2_400_48_LEFT_0	2	+	GACTTTGCTGTGTCTAAGGGTTTCT														
+MN908947.3	15065	15095	SARS-CoV-2_400_48_RIGHT_0	2	-	TTCTTTGCACTAATGGCATACTTAAGATTC														
+MN908947.3	15016	15045	SARS-CoV-2_400_49_LEFT_0	1	+	CACTTTTCGCATATACAAAACGTAATGTC														
+MN908947.3	15386	15416	SARS-CoV-2_400_49_RIGHT_0	1	-	CACTCATTAGCTAATCTATAGAAACGGTGT														
+MN908947.3	15342	15366	SARS-CoV-2_400_50_LEFT_0	2	+	TCACTTGTTCTTGCTCGCAAACAT														
+MN908947.3	15716	15742	SARS-CoV-2_400_50_RIGHT_0	2	-	TATTGAAACACACAACAGCATCGTCA														
+MN908947.3	15659	15688	SARS-CoV-2_400_51_LEFT_0	1	+	CTTTGTGAATGAGTTTTACGCATATTTGC														
+MN908947.3	16028	16059	SARS-CoV-2_400_51_RIGHT_0	1	-	AGGATGTTTAGTAAGTGGGTAAGCATCTATA														
+MN908947.3	15992	16018	SARS-CoV-2_400_52_LEFT_2	2	+	TGGTACACTTATGATTGAACGGTTCG														
+MN908947.3	16386	16409	SARS-CoV-2_400_52_RIGHT_2	2	-	GTGACATCACAACCTGGAGCATT														
+MN908947.3	16285	16311	SARS-CoV-2_400_53_LEFT_0	1	+	GTGCTTGCATACGTAGACCATTCTTA														
+MN908947.3	16650	16679	SARS-CoV-2_400_53_RIGHT_0	1	-	GACAGTTTAAATGTCTCCTCAGTAGCTTT														
+MN908947.3	16624	16647	SARS-CoV-2_400_54_LEFT_1	2	+	TCAAGCTTTTTGCAGCAGAAACG														
+MN908947.3	17004	17033	SARS-CoV-2_400_54_RIGHT_1	2	-	ACATTGCTAGAAAACTCATCTGAGATATT														
+MN908947.3	16962	16994	SARS-CoV-2_400_55_LEFT_1	1	+	CAAGAGCACTATGTTAGAATTACTGGCTTATA														
+MN908947.3	17333	17362	SARS-CoV-2_400_55_RIGHT_1	1	-	TTTCATCAAAGACAACTATATCTGCTGTC														
+MN908947.3	17182	17212	SARS-CoV-2_400_56_LEFT_0	2	+	CACTATGTGAGAAGGCATTAAAATATTTGC														
+MN908947.3	17560	17582	SARS-CoV-2_400_56_RIGHT_0	2	-	ACAATTTCAGCAGGACAACGCC														
+MN908947.3	17478	17507	SARS-CoV-2_400_57_LEFT_0	1	+	GGCACACTAGAACCAGAATATTTCAATTC														
+MN908947.3	17859	17886	SARS-CoV-2_400_57_RIGHT_0	1	-	AGTGGTTTGAGTGAATATGACATAGTC														
+MN908947.3	17813	17839	SARS-CoV-2_400_58_LEFT_0	2	+	GGGACTACCAACTCAAACTGTTGATT														
+MN908947.3	18181	18212	SARS-CoV-2_400_58_RIGHT_0	2	-	ATCATAGAGATGAGTCTTCTATAGGTCATGT														
+MN908947.3	18121	18153	SARS-CoV-2_400_59_LEFT_0	1	+	GTGTTGACACTAAATTCAAAACTGAAGGTTTA														
+MN908947.3	18504	18527	SARS-CoV-2_400_59_RIGHT_0	1	-	CGCACTACATTCCAAGGAAGTCC														
+MN908947.3	18460	18484	SARS-CoV-2_400_60_LEFT_0	2	+	CGCCTGGAGATCAATTTAAACACC														
+MN908947.3	18835	18860	SARS-CoV-2_400_60_RIGHT_0	2	-	GCATCACAACTAGCTACATGTGCAT														
+MN908947.3	18789	18815	SARS-CoV-2_400_61_LEFT_0	1	+	GGTAACCTACAAAGCAACCATGATCT														
+MN908947.3	19170	19195	SARS-CoV-2_400_61_RIGHT_0	1	-	TCCAAAATAGGCATACACCATCTGT														
+MN908947.3	19087	19112	SARS-CoV-2_400_62_LEFT_2	2	+	TCTATGATGCACAGCCTTGTAGTGA														
+MN908947.3	19469	19495	SARS-CoV-2_400_62_RIGHT_0	2	-	GTCTACAGACAGCACCACCTAAATTG														
+MN908947.3	19415	19449	SARS-CoV-2_400_63_LEFT_0	1	+	AGTGTCAGATATAGATTATGTACCACTAAAGTCT														
+MN908947.3	19770	19796	SARS-CoV-2_400_63_RIGHT_0	1	-	GCCCAAAGCTCAAATGCTACATTAAC														
+MN908947.3	19721	19750	SARS-CoV-2_400_64_LEFT_0	2	+	AGTTGATGGTGTTGATGTAGAATTGTTTG														
+MN908947.3	20091	20121	SARS-CoV-2_400_64_RIGHT_0	2	-	TAATGTGACTCCATTAAGACTAGCTTGTTT														
+MN908947.3	20028	20054	SARS-CoV-2_400_65_LEFT_0	1	+	GCCCGTAATGGTGTTCTTATTACAGA														
+MN908947.3	20408	20441	SARS-CoV-2_400_65_RIGHT_0	1	-	GTACTGTCCATAGGAATAAAATCTTCTAATTCA														
+MN908947.3	20358	20388	SARS-CoV-2_400_66_LEFT_0	2	+	GGTTTACATCTACTGATTGGACTAGCTAAA														
+MN908947.3	20729	20758	SARS-CoV-2_400_66_RIGHT_0	2	-	CACTATCACCATAATTTTGAAGGTCACAC														
+MN908947.3	20650	20676	SARS-CoV-2_400_67_LEFT_1	1	+	AATTACAATCTAGTCAAGCGTGGCAA														
+MN908947.3	21018	21051	SARS-CoV-2_400_67_RIGHT_1	1	-	CATATCACTAATAATGAGATCCCATTTATTAGC														
+MN908947.3	20991	21018	SARS-CoV-2_400_68_LEFT_0	2	+	ATTGGTGATTGTGCAACTGTACATACA														
+MN908947.3	21372	21402	SARS-CoV-2_400_68_RIGHT_0	2	-	ACTCATGTCAAATAAAGAATAGGAAGACAA														
+MN908947.3	21322	21352	SARS-CoV-2_400_69_LEFT_0	1	+	ATGTCATGCATGCAAATTACATATTTTGGA														
+MN908947.3	21696	21722	SARS-CoV-2_400_69_RIGHT_0	1	-	AGTCCTGAGTTGAATGTAAAACTGAG														
+MN908947.3	21579	21607	SARS-CoV-2_400_70_LEFT_0	2	+	TTTATTGCCACTAGTCTCTAGTCAGTGT														
+MN908947.3	21927	21960	SARS-CoV-2_400_70_RIGHT_0	2	-	AATTCACAGACTTTAATAACAACATTAGTAGCG														
+MN908947.3	21866	21894	SARS-CoV-2_400_71_LEFT_0	1	+	GAGGCTGGATTTTTGGTACTACTTTAGA														
+MN908947.3	22238	22266	SARS-CoV-2_400_71_RIGHT_0	1	-	ATGTTAATACCTATTGGCAAATCTACCA														
+MN908947.3	22156	22189	SARS-CoV-2_400_72_LEFT_0	2	+	GGTTATTTTAAAATATATTCTAAGCACACGCCT														
+MN908947.3	22517	22547	SARS-CoV-2_400_72_RIGHT_0	2	-	ATCTAACAATAGATTCTGTTGGTTGGACTC														
+MN908947.3	22466	22494	SARS-CoV-2_400_73_LEFT_0	1	+	CGTTGAAATCCTTCACTGTAGAAAAAGG														
+MN908947.3	22839	22866	SARS-CoV-2_400_73_RIGHT_0	1	-	GCTATAACGCAGCCTGTAAAATCATCT														
+MN908947.3	22742	22774	SARS-CoV-2_400_74_LEFT_0	2	+	ATGTCTATGCAGATTCATTTGTAATTAGAGGT														
+MN908947.3	23119	23140	SARS-CoV-2_400_74_RIGHT_0	2	-	TCCACAAACAGTTGCTGGTGC														
+MN908947.3	23078	23109	SARS-CoV-2_400_75_LEFT_1	1	+	AACCATACAGAGTAGTAGTACTTTCTTTTGA														
+MN908947.3	23452	23478	SARS-CoV-2_400_75_RIGHT_1	1	-	CCTGTAGAATAAACACGCCAAGTAGG														
+MN908947.3	23229	23258	SARS-CoV-2_400_76_LEFT_0	2	+	CAAAAAGTTTCTGCCTTTCCAACAATTTG														
+MN908947.3	23609	23631	SARS-CoV-2_400_76_RIGHT_0	2	-	TGACTAGCTACACTACGTGCCC														
+MN908947.3	23563	23589	SARS-CoV-2_400_77_LEFT_0	1	+	GCAGGTATATGCGCTAGTTATCAGAC														
+MN908947.3	23914	23944	SARS-CoV-2_400_77_RIGHT_0	1	-	AATTGGTGGTGTTTTGTAAATTTGTTTGAC														
+MN908947.3	23823	23853	SARS-CoV-2_400_78_LEFT_0	2	+	GCAATATGGCAGTTTTTGTACACAATTAAA														
+MN908947.3	24209	24231	SARS-CoV-2_400_78_RIGHT_0	2	-	GCACCAAAGGTCCAACCAGAAG														
+MN908947.3	24160	24189	SARS-CoV-2_400_79_LEFT_0	1	+	GATGAAATGATTGCTCAATACACTTCTGC														
+MN908947.3	24535	24560	SARS-CoV-2_400_79_RIGHT_0	1	-	TGCCTGTGATCAACCTATCAATTTG														
+MN908947.3	24442	24468	SARS-CoV-2_400_80_LEFT_0	2	+	ACGCTTGTTAAACAACTTAGCTCCAA														
+MN908947.3	24815	24839	SARS-CoV-2_400_80_RIGHT_0	2	-	CTTCACGAGGAAAGTGTGCTTTTC														
+MN908947.3	24751	24774	SARS-CoV-2_400_81_LEFT_0	1	+	CATGTGACTTATGTCCCTGCACA														
+MN908947.3	25120	25151	SARS-CoV-2_400_81_RIGHT_0	1	-	GAGATTCATTTAAATTCTTGGCAACCTCATT														
+MN908947.3	25053	25082	SARS-CoV-2_400_82_LEFT_0	2	+	TGATTTAGGTGACATCTCTGGCATTAATG														
+MN908947.3	25423	25452	SARS-CoV-2_400_82_RIGHT_0	2	-	GATTTCACCTTGCTTCAAAGTTACAGTTC														
+MN908947.3	25372	25402	SARS-CoV-2_400_83_LEFT_0	1	+	CATTACACATAAACGAACTTATGGATTTGT														
+MN908947.3	25744	25777	SARS-CoV-2_400_83_RIGHT_0	1	-	GCCAAAGCCTCATTATTATTCTTACAAAGTTTA														
+MN908947.3	25653	25680	SARS-CoV-2_400_84_LEFT_2	2	+	GTAACAGTTTACTCACACCTTTTGCTC														
+MN908947.3	26048	26072	SARS-CoV-2_400_84_RIGHT_2	2	-	TGTTCAACACCARTGTCTGTACTC														
+MN908947.3	26011	26039	SARS-CoV-2_400_85_LEFT_0	1	+	TCACTTCAGACTATTACCAGCTGTACTC														
+MN908947.3	26382	26411	SARS-CoV-2_400_85_RIGHT_0	1	-	AAAGAAGGTTTTACAAGACTCACGTTAAC														
+MN908947.3	26339	26362	SARS-CoV-2_400_86_LEFT_0	2	+	CATCCTTACTGCGCTTCGATTGT														
+MN908947.3	26730	26756	SARS-CoV-2_400_86_RIGHT_0	2	-	ACCGGTGATCCAATTTATTCTGTAAA														
+MN908947.3	26593	26621	SARS-CoV-2_400_87_LEFT_1	1	+	AGGTTTCCTATTCCTTACATGGATTTGT														
+MN908947.3	26989	27009	SARS-CoV-2_400_87_RIGHT_1	1	-	CCTTGATGTCACAGCGTCCT														
+MN908947.3	26958	26981	SARS-CoV-2_400_88_LEFT_2	2	+	GTGGACATCTTCGTATTGCTGGA														
+MN908947.3	27349	27376	SARS-CoV-2_400_88_RIGHT_2	2	-	CCATTGGTTGCTCTTCATCTAATTGAG														
+MN908947.3	27200	27226	SARS-CoV-2_400_89_LEFT_2	1	+	GATGTTTCATCTCGTTGACTTTCAGG														
+MN908947.3	27583	27603	SARS-CoV-2_400_89_RIGHT_0	1	-	GCCGTCAGGACAAGCAAAAG														
+MN908947.3	27530	27558	SARS-CoV-2_400_90_LEFT_0	2	+	TCATCCTCTAGCTGATAACAAATTTGCA														
+MN908947.3	27927	27950	SARS-CoV-2_400_90_RIGHT_0	2	-	TTCTTGGTGAAATGCAGCTACAG														
+MN908947.3	27832	27860	SARS-CoV-2_400_91_LEFT_0	1	+	TATCTTTTGGTTCTCACTTGAACTGCAA														
+MN908947.3	28209	28237	SARS-CoV-2_400_91_RIGHT_0	1	-	CGAACGTCATGATACTCTAAAAAGTCTT														
+MN908947.3	28135	28166	SARS-CoV-2_400_92_LEFT_0	2	+	TTCCTGTTTACCTTTTACAATTAATTGCCAG														
+MN908947.3	28513	28539	SARS-CoV-2_400_92_RIGHT_0	2	-	CTTCGGTAGTAGCCAATTTGGTCATC														
+MN908947.3	28473	28493	SARS-CoV-2_400_93_LEFT_0	1	+	TCGAGGACAAGGCGTTCCAA														
+MN908947.3	28849	28873	SARS-CoV-2_400_93_RIGHT_0	1	-	GCCTGGAGTTGAATTTCTTGAACT														
+MN908947.3	28808	28829	SARS-CoV-2_400_94_LEFT_0	2	+	GCAGTCAAGCCTCTTCTCGTT														
+MN908947.3	29203	29224	SARS-CoV-2_400_94_RIGHT_0	2	-	CATTCCGAAGAACGCTGAAGC														
+MN908947.3	29159	29183	SARS-CoV-2_400_95_LEFT_0	1	+	CTGATTACAAACATTGGCCGCAAA														
+MN908947.3	29538	29559	SARS-CoV-2_400_95_RIGHT_0	1	-	ATCTGCCTTGTGTGGTCTGCA														
+MN908947.3	29462	29486	SARS-CoV-2_400_96_LEFT_1	2	+	CTGCAGATTTGGATGATTTCTCCA														
+MN908947.3	29840	29873	SARS-CoV-2_400_96_RIGHT_0	2	-	TTTGTCATTCTCCTAAGAAGCTATTAAAATCAC																																
\ No newline at end of file
diff --git a/resources/primers/bed/.gitkeep b/resources/primers_schemes/bedpe/.gitkeep
similarity index 100%
rename from resources/primers/bed/.gitkeep
rename to resources/primers_schemes/bedpe/.gitkeep
diff --git a/resources/primers/bedpe/Ebola-virus_Zaire_AF-272001-1_artic-primers-V2.bedpe b/resources/primers_schemes/bedpe/Ebola-virus_Zaire_AF-272001-1_artic-primers-V2.bedpe
similarity index 100%
rename from resources/primers/bedpe/Ebola-virus_Zaire_AF-272001-1_artic-primers-V2.bedpe
rename to resources/primers_schemes/bedpe/Ebola-virus_Zaire_AF-272001-1_artic-primers-V2.bedpe
diff --git a/resources/primers/bedpe/Ebola-virus_Zaire_KR-063671-1_artic-primers-V1.bedpe b/resources/primers_schemes/bedpe/Ebola-virus_Zaire_KR-063671-1_artic-primers-V1.bedpe
similarity index 100%
rename from resources/primers/bedpe/Ebola-virus_Zaire_KR-063671-1_artic-primers-V1.bedpe
rename to resources/primers_schemes/bedpe/Ebola-virus_Zaire_KR-063671-1_artic-primers-V1.bedpe
diff --git a/resources/primers/bedpe/Ebola-virus_Zaire_KR-063671-1_artic-primers-V3.bedpe b/resources/primers_schemes/bedpe/Ebola-virus_Zaire_KR-063671-1_artic-primers-V3.bedpe
similarity index 100%
rename from resources/primers/bedpe/Ebola-virus_Zaire_KR-063671-1_artic-primers-V3.bedpe
rename to resources/primers_schemes/bedpe/Ebola-virus_Zaire_KR-063671-1_artic-primers-V3.bedpe
diff --git a/resources/primers/bedpe/Nipah-virus_Malaysia_AJ-564622-1_artic-primers-V1.bedpe b/resources/primers_schemes/bedpe/Nipah-virus_Malaysia_AJ-564622-1_artic-primers-V1.bedpe
similarity index 100%
rename from resources/primers/bedpe/Nipah-virus_Malaysia_AJ-564622-1_artic-primers-V1.bedpe
rename to resources/primers_schemes/bedpe/Nipah-virus_Malaysia_AJ-564622-1_artic-primers-V1.bedpe
diff --git a/resources/primers/bedpe/SARS-CoV-2_Wuhan_MN-908947-3_artic-primers-V1.bedpe b/resources/primers_schemes/bedpe/SARS-CoV-2_Wuhan_MN-908947-3_artic-primers-V1.bedpe
similarity index 100%
rename from resources/primers/bedpe/SARS-CoV-2_Wuhan_MN-908947-3_artic-primers-V1.bedpe
rename to resources/primers_schemes/bedpe/SARS-CoV-2_Wuhan_MN-908947-3_artic-primers-V1.bedpe
diff --git a/resources/primers/bedpe/SARS-CoV-2_Wuhan_MN-908947-3_artic-primers-V2.bedpe b/resources/primers_schemes/bedpe/SARS-CoV-2_Wuhan_MN-908947-3_artic-primers-V2.bedpe
similarity index 100%
rename from resources/primers/bedpe/SARS-CoV-2_Wuhan_MN-908947-3_artic-primers-V2.bedpe
rename to resources/primers_schemes/bedpe/SARS-CoV-2_Wuhan_MN-908947-3_artic-primers-V2.bedpe
diff --git a/resources/primers/bedpe/SARS-CoV-2_Wuhan_MN-908947-3_artic-primers-V3.bedpe b/resources/primers_schemes/bedpe/SARS-CoV-2_Wuhan_MN-908947-3_artic-primers-V3.bedpe
similarity index 100%
rename from resources/primers/bedpe/SARS-CoV-2_Wuhan_MN-908947-3_artic-primers-V3.bedpe
rename to resources/primers_schemes/bedpe/SARS-CoV-2_Wuhan_MN-908947-3_artic-primers-V3.bedpe
diff --git a/resources/primers/bedpe/SARS-CoV-2_Wuhan_MN-908947-3_artic-primers-V4-1.bedpe b/resources/primers_schemes/bedpe/SARS-CoV-2_Wuhan_MN-908947-3_artic-primers-V4-1.bedpe
similarity index 100%
rename from resources/primers/bedpe/SARS-CoV-2_Wuhan_MN-908947-3_artic-primers-V4-1.bedpe
rename to resources/primers_schemes/bedpe/SARS-CoV-2_Wuhan_MN-908947-3_artic-primers-V4-1.bedpe
diff --git a/resources/primers/bedpe/SARS-CoV-2_Wuhan_MN-908947-3_artic-primers-V4.bedpe b/resources/primers_schemes/bedpe/SARS-CoV-2_Wuhan_MN-908947-3_artic-primers-V4.bedpe
similarity index 100%
rename from resources/primers/bedpe/SARS-CoV-2_Wuhan_MN-908947-3_artic-primers-V4.bedpe
rename to resources/primers_schemes/bedpe/SARS-CoV-2_Wuhan_MN-908947-3_artic-primers-V4.bedpe
diff --git a/workflow/Snakefile b/workflow/Snakefile
index db6dfd0..aff4e43 100644
--- a/workflow/Snakefile
+++ b/workflow/Snakefile
@@ -8,19 +8,20 @@
 ###                                                                         ###
 ###I###R###D######U###2###3###3#######T###R###A###N###S###V###I###H###M###I####
 # Name ___________________ gevarli.smk
-# Version ________________ v.2025.01
+# Version ________________ v.2025.04
 # Author _________________ Nicolas Fernandez
 # Affiliation ____________ IRD_U233_TransVIHMI
 # Aim ____________________ Snakefile running GeVarLi rules
 # Date ___________________ 2021.10.12
-# Latest modifications ___ 2025.03.12
-# Use ____________________ snakemake -s Snakefile --use-conda -j
+# Latest modifications ___ 2025.04.04
+# Use ____________________ snakemake -s Snakefile --use-conda
 ###############################################################################
 
 ###############################################################################
 ### CONFIGURATION ###
 #####################
 
+# Config file
 configfile: "config/config.yaml"
 
 ###############################################################################
@@ -34,36 +35,40 @@ from snakemake.utils import min_version
 from snakemake.utils import validate
 
 from scripts.functions import get_valid_fastq
-from scripts.functions import get_final_outputs
+from scripts.functions import get_settings
 from scripts.functions import get_bam_input
 from scripts.functions import get_bai_input
+from scripts.functions import get_final_outputs
+from scripts.functions import get_time
 
 # Local
 FASTQ_DIR = config["fastq_dir"]
-VALID_FASTQ = get_valid_fastq(FASTQ_DIR)
+VALID_FASTQ, SAMPLE_WARNINGS = get_valid_fastq(FASTQ_DIR)
 SAMPLE = list(VALID_FASTQ.keys())
 MATE = ["1", "2"]
 START_TIME = time.time()
 
 # Exports
 import scripts.functions as functions
+functions.FASTQ_DIR = FASTQ_DIR
+functions.SAMPLE_WARNINGS = SAMPLE_WARNINGS
 functions.SAMPLE = SAMPLE
 functions.MATE = MATE
+functions.START_TIME = START_TIME
 functions.MODULES = config["modules"] # Modules
-functions.REFERENCE = config["consensus"]["reference"]   # Genome reference sequence, in fasta format
-functions.QC_REF = config["fastq_screen"]["reference"]   # FastqScreen config file genomes to index
-functions.MAPPER = config["consensus"]["mapper"]       # Mapper ('bwa' 'minimap2' 'bowtie2')
-functions.MIN_COV = config["consensus"]["min_cov"]       # Minimum coverage, mask lower regions with 'N'
-functions.CALLER = config["consensus"]["caller"]         # Variants caller ('ivar')
-functions.ASSIGNER = config["consensus"]["assigner"] # Tools ('nextclade' 'pangolin')
-
+functions.MAPPER = config["tools"]["mapper"]     # Reads mapper ('bwa', 'minimap2' or 'bowtie2')
+functions.CALLER = config["tools"]["caller"]     # Variants caller ('ivar' or 'ivar')
+functions.ASSIGNER = config["tools"]["assigner"] # Lineages assigner ('nextclade' or 'pangolin')
+functions.REFERENCE = config["reference"]         # Genome reference sequence, in fasta format
+functions.MIN_DEPTH = config["consensus"]["min_depth"] # Minimum depth to call consensus, mark lower regions with 'N'
+functions.QC_REF = config["fastq_screen"]["reference"] # FastqScreen config file genomes to index
 functions.STAT_EXT = config["report"]["stat"]["extention"] # Stat reports extentions ('txt' 'tsv' 'json')
 
 # Snakemake version
-min_version("8.27.0")
+min_version("9.1.3")
 
 # Schemas
-validate(config, schema="schemas/config.schema.yaml")
+#validate(config, schema="schemas/config.schema.yaml")
 
 ###############################################################################
 ### WILDCARDS ###
@@ -84,7 +89,6 @@ TMP_DIR = config["resources"]["tmp_dir"] # Temporary directory
 ### ENVIRONMENTS ###
 ####################
 
-YQ = config["envs"]["yq"]                     # YQ conda environment
 FASTQ_SCREEN = config["envs"]["fastq_screen"] # Fastq-Screen conda environment
 FASTQC= config["envs"]["fastqc"]              # FastQC conda environment
 CUTADAPT = config["envs"]["cutadapt"]         # Cutadapt conda environment
@@ -96,7 +100,7 @@ SAMTOOLS = config["envs"]["samtools"]         # SamTools conda environment
 BEDTOOLS = config["envs"]["bedtools"]         # BedTools conda environment
 BAMCLIPPER = config["envs"]["bamclipper"]     # BAMClipper onda environment
 GAWK = config["envs"]["gawk"]                 # Awk (GNU) conda environment
-IVAR = config["envs"]["ivar"]                 # iVar conda environment
+IVAR = config["envs"]                 # iVar conda environment
 TSV2VCF = config["envs"]["tsv2vcf"]           # tsv2vcf conda environment
 BCFTOOLS = config["envs"]["bcftools"]         # BcfTools conda environment
 PANGOLIN = config["envs"]["pangolin"]         # Pangolin conda environment
@@ -108,65 +112,55 @@ WORKFLOW = config["envs"]["workflow"]         # Workflow conda environment
 ### PARAMETERS ###
 ##################
 
-SUBSET = config["fastq_screen"]["subset"]     # Fastq-Screen --subset
+MAPPER = config["tools"]["mapper"]       # Mapper ('bwa', 'minimap2' or 'bowtie2')
+CALLER = config["tools"]["caller"]       # Variant Caller ('ivar' or 'ivar')
+ASSIGNER = config["tools"]["assigner"]   # Lineage assigner ('nextclade' or 'pangolin')
+REFERENCE = config["reference"] # Genome reference sequence, in fasta format
+
+FQC_SUBSET = config["fastq_screen"]["subset"] # Fastq-Screen --subset
 FQC_CONFIG = config["fastq_screen"]["config"] # Fastq-Screen --conf
 #MQC_PATH = config["multiqc"]["path"]          # MultiQC --conf
 #MQC_CONF = config["multiqc"]["config"]        # MultiQC --conf
 #TAG = config["multiqc"]["tag"]                # MultiQC --tag
 
-KMER_SIZE = config["minimap2"]["algorithm"]["k-mer_size"]          # MM2 k-mer size
-MINIMIZER_SIZE = config["minimap2"]["algorithm"]["minimizer_size"] # MM2 minimizer window size
-SPLIT_SIZE = config["minimap2"]["algorithm"]["split_size"]         # MM2 split index
-#HOMOPOLYMER = config["minimap2"]["algorithm"]["homopolymer"]       # MM2 if PacBio
-
-BWA_ALGO = config["bwa"]["algorithm"]     # BWA indexing algorithm
-BT2_ALGO = config["bowtie2"]["algorithm"] # BT2 indexing algorithm
-
-#REFERENCE = config["consensus"]["reference"] # Genome reference sequence, in fasta format
-MIN_COV = config["consensus"]["min_cov"]     # Minimum coverage, mask lower regions with 'N'
-IUPAC = config["consensus"]["iupac"]         # Output variants in the form of IUPAC ambiguity codes
-MAPPER = config["consensus"]["mapper"]     # Mapper ('minimap2', 'bwa' or 'bowtie2')
-CALLER = config["consensus"]["caller"]       # Variant Caller ('lofreq' or 'ivar')
-ASSIGNER = config["consensus"]["assigner"]   # Lineage assigner ('nextclade' or 'pangolin')
-
-CUT_LENGTH = config["cutadapt"]["length"]           # Cutadapt --minimum-length
-CUT_TRUSEQ = config["cutadapt"]["kits"]["truseq"]   # Cutadapt --adapter Illumina TruSeq
-CUT_NEXTERA = config["cutadapt"]["kits"]["nextera"] # Cutadapt --adapter Illumina Nextera
-CUT_SMALL = config["cutadapt"]["kits"]["small"]     # Cutadapt --adapter Illumina Small
 CUT_CLIPPING = config["cutadapt"]["clipping"]       # Cutadapt --cut
+CUT_LENGTH = config["cutadapt"]["length"]           # Cutadapt --minimum-length
+CUT_ADAPTERS = config["cutadapt"]["adapters"]       # Cutadapt --adapter
 
 SIC_COMMAND = config["sickle_trim"]["command"]   # Sickle-trim command
 SIC_ENCODING = config["sickle_trim"]["encoding"] # Sickle-trim --qual-type 
 SIC_QUALITY = config["sickle_trim"]["quality"]   # Sickle-trim --qual-threshold
 SIC_LENGTH = config["sickle_trim"]["length"]     # Sickle-trim --length-treshold
 
-MM2_PRESET = config["minimap2"]["preset"] # Minimap2 preset
-#MM2_LENGTH = config["minimap2"]["length"]                              # Minimap2 length
-#MM2_KMER_SIZE = config["minimap2"]["algorithm"]["k-mer_size"]          # Minimap2 k-mer size
-#MM2_MINIMIZER_SIZE = config["minimap2"]["algorithm"]["minimizer_size"] # Minimap2 minimizer window size  
-#MM2_SPLIT_SIZE = config["minimap2"]["algorithm"]["split_size"]         # Minimap2 split index
-#MM2_HOMOPOLYMER = config["minimap2"]["algorithm"]["homopolymer"]       # Minimap2 for PacBio
-
 BWA_ALGO = config["bwa"]["algorithm"] # BWA indexing algorithm
 
+MM2_KMER_SIZE = config["minimap2"]["algorithm"]["k-mer_size"]          # MM2 k-mer size
+MM2_MINIMIZER_SIZE = config["minimap2"]["algorithm"]["minimizer_size"] # MM2 minimizer window size
+MM2_SPLIT_SIZE = config["minimap2"]["algorithm"]["split_size"]         # MM2 split index
+MM2_PRESET = config["minimap2"]["preset"] # Minimap2 presetv           # MM2 preset
+#MM2_LENGTH = config["minimap2"]["length"]                              # Minimap2 length
+#MM2_HOMOPOLYMER = config["minimap2"]["algorithm"]["homopolymer"]       # MM2 homopolymer if PacBio
+
 BT2_ALGO = config["bowtie2"]["algorithm"]          # Bowtie2 indexing algorithm
 BT2_SENSITIVITY = config["bowtie2"]["sensitivity"] # Bowtie2 sensitivity preset
 
-CLIPPATH = config["bamclipper"]["path"]         # Bamclipper path to primers
-PRIMERS = config["bamclipper"]["primers"]       # Bamclipper primers bed files
-UPSTREAM = config["bamclipper"]["upstream"]     # Bamclipper upstream nucleotides
-DOWNSTREAM = config["bamclipper"]["downstream"] # Bamclipper downstream nucleotides
-
-IVAR_MIN_DEPTH = config["consensus"]["min_cov"]   # iVar
-IVAR_MIN_FREQ = config["consensus"]["min_freq"]   # iVar minimum allele frequency allowed 
-IVAR_MIN_INSERT = config["consensus"]["min_freq"] # iVar minimum insertion frequency allowed
-#IVAR_MIN_DEPTH = config["ivar"]["min_depth"]      # iVar
-#IVAR_MIN_FREQ = config["ivar"]["min_freq"]        # iVar minimum allele frequency allowed 
-#IVAR_MIN_INSERT = config["ivar"]["min_insert"]    # iVar minimum insertion frequency allowed
-IVAR_MAX_DEPTH = config["ivar"]["max_depth"]      # iVar 
-IVAR_MIN_BQ = config["ivar"]["min_bq"]            # iVar
-IVAR_MIN_QUAL = config["ivar"]["min_qual"]        # iVar
-IVAR_MAP_QUAL = config["ivar"]["map_qual"]        # iVar mapping quality
+IVAR_OFFSET = config["primers"]["offset"]         # iVar offset
+IVAR_MIN_LENGTH = config["primers"]["min_length"] # iVar minimum length
+IVAR_MIN_QUAL = config["primers"]["min_qual"]     # iVar minimum quality
+IVAR_SLIDE = config["primers"]["slide"]           # iVar slide windows
+
+PRIMER_BED_PATH = config["primers"]["bed"]["path"]     # primer kit bed path
+PRIMER_BED_SCHEME = config["primers"]["bed"]["scheme"] # primer kit bed scheme
+PRIMER_BEDPE_PATH = config["primers"]["bedpe"]["path"]     # primer kit bedpe path
+PRIMER_BEDPE_SCHEME = config["primers"]["bedpe"]["scheme"] # primer kit bedpe scheme
+
+MIN_DEPTH = config["consensus"]["min_depth"]        # iVar minimum depth
+IVAR_MIN_FREQ = config["consensus"]["min_freq"]     # iVar minimum allele frequency
+IVAR_MIN_INSERT = config["consensus"]["min_insert"] # iVar minimum insert frequency
+IVAR_MAX_DEPTH = config["consensus"]["max_depth"]   # iVar maximum depth
+IVAR_MIN_BQ = config["consensus"]["min_bq"]         # iVar minimum base quality
+IVAR_MIN_QUAL = config["consensus"]["min_qual"]     # iVar minimum mapping quality
+IVAR_MAP_QUAL = config["consensus"]["map_qual"]     # iVar minimum mapping quality
 
 NEXT_PATH = config["nextclade"]["path"]       # Path to nextclade dataset
 NEXT_DATASET = config["nextclade"]["dataset"] # Nextclade dataset
@@ -178,7 +172,7 @@ GRAPH_EXT = config["report"]["graph"]["extention"]
 ### LOAD RULES ###
 ##################
 
-include: "rules/symlinks_renamming.smk"
+include: "rules/samples_prep.smk"
 include: "rules/quality_controls.smk"
 include: "rules/reads_cleanning.smk"
 include: "rules/genomes_indexing.smk"
@@ -200,6 +194,31 @@ include: "rules/workflow_reporting.smk"
 
 rule all:
     input:
-        tarball = "results/Reports_archive.tar.gz"
+        html_report = "results/10_Reports/workflow-report.html"
+
+###############################################################################
+### HOOKS ###
+#############
+
+onstart:
+    print("onstart")
+    get_settings(config, START_TIME)
+
+onsuccess:
+    print("onsuccess")
+    get_time(START_TIME)
+    shell("mkdir -p results/10_Reports/envs/ 2> /dev/null")
+    shell("cp workflow/envs/*.yaml results/10_Reports/envs/ 2> /dev/null")
+    shell("cp config/config.yaml results/10_Reports/config.log 2> /dev/null")
+    shell("tar -zfc results/Reports_archive.tar.gz -C results/ 10_Reports/")
+
+onerror:
+    print("onerror")
+    get_time(START_TIME)
+    shell("mkdir -p results/10_Reports/envs/ 2> /dev/null")
+    shell("cp workflow/envs/*.yaml results/10_Reports/envs/ 2> /dev/null")
+    shell("cp config/config.yaml results/10_Reports/config.log 2> /dev/null")
+    shell("tar -zfc results/Reports_archive.tar.gz -C results/ 10_Reports/")
 
 ###############################################################################
+###############################################################################
\ No newline at end of file
diff --git a/workflow/envs/workflow-core.yaml b/workflow/envs/workflow-core.yaml
index f1d7366..ec05646 100644
--- a/workflow/envs/workflow-core.yaml
+++ b/workflow/envs/workflow-core.yaml
@@ -4,10 +4,9 @@ channels:
   - bioconda
   - nodefaults
 dependencies:
-  - snakemake=8.27.1
+  - snakemake=9.1.3
   - snakedeploy=0.10.3
   - snakemake-executor-plugin-slurm
   - snakemake-interface-report-plugins
   - snakemake-interface-storage-plugins
-  - graphviz=12.0.0
-  - yq=3.4.3
\ No newline at end of file
+  - graphviz=12.0.0
\ No newline at end of file
diff --git a/workflow/envs/yq_v.3.4.3.yaml b/workflow/envs/yq_v.3.4.3.yaml
deleted file mode 100644
index 03f2662..0000000
--- a/workflow/envs/yq_v.3.4.3.yaml
+++ /dev/null
@@ -1,7 +0,0 @@
-name: yq
-channels:
-  - conda-forge
-  - bioconda
-  - nodefaults
-dependencies:
-  - yq=3.4.3
\ No newline at end of file
diff --git a/workflow/rules/consensus_calling.smk b/workflow/rules/consensus_calling.smk
index 4d9d031..d6e9c81 100644
--- a/workflow/rules/consensus_calling.smk
+++ b/workflow/rules/consensus_calling.smk
@@ -8,43 +8,15 @@
 ###                                                                         ###
 ###I###R###D######U###2###3###3#######T###R###A###N###S###V###I###H###M###I####
 # Name ___________________ consensus_calling.smk
-# Version ________________ v.2025.01
+# Version ________________ v.2025.04
 # Author _________________ Nicolas Fernandez
 # Affiliation ____________ IRD_U233_TransVIHMI
 # Aim ____________________ Call a consensus genome
 # Date ___________________ 2021.10.12
-# Latest modifications ___ 2025.03.12
-# Use ____________________ snakemake -s Snakefile --use-conda -j
+# Latest modifications ___ 2025.04.04
+# Use ____________________ snakemake -s Snakefile --use-conda
 ###############################################################################
 
-###############################################################################
-rule sed_rename_headers:
-    # Aim: rename all fasta header with sample name
-    # Use: sed 's/[OLD]/[NEW]/' [IN] > [OUT]
-    message:
-        """
-        ~ Sed ∞ Rename Fasta Header ~
-        Sample: __________ {wildcards.sample}
-        Reference: _______ {wildcards.reference}
-        Mapper: __________ {wildcards.mapper}
-        Min. cov.: _______ {wildcards.min_cov}X
-        Caller: __________ {wildcards.caller}
-        """
-    conda:
-        GAWK
-    input:
-        cons_tmp = "results/05_Consensus/{reference}/{sample}_{mapper}_{min_cov}X_{caller}_consensus.fasta.tmp"
-    output:
-        consensus = "results/05_Consensus/{reference}/{sample}_{mapper}_{min_cov}X_{caller}_consensus.fasta"
-    log:
-        "results/10_Reports/tools-log/sed/{reference}/{sample}_{mapper}_{min_cov}X_{caller}_fasta-header.log"
-    shell:
-        "sed " # Sed, a Stream EDitor used to perform basic text transformations on an input stream
-        "'s/^>.*$/>{wildcards.sample}_{wildcards.mapper}_{wildcards.min_cov}X_{wildcards.caller}/' "
-        "{input.cons_tmp} "      # Input file
-        "1> {output.consensus} " # Output file
-        "2> {log}"               # Log redirection
-
 ###############################################################################
 rule ivar_consensus:
     # Aim: call a consensus genome
@@ -52,16 +24,16 @@ rule ivar_consensus:
     message:
         """
         ~ iVar ∞ Call Consensus ~
-        Sample: __________ {wildcards.sample}
-        Reference: _______ {wildcards.reference}
-        Mapper: _________ {wildcards.mapper}
-        Min. cov.: _______ {wildcards.min_cov}X
-        Caller: __ iVar
+        Sample: _______ {wildcards.sample}
+        Reference: ____ {wildcards.reference}
+        Mapper: _______ {wildcards.mapper}
+        Min. depth: ___ {wildcards.min_depth}x
+        Caller: _______ iVar
         """
     conda:
         IVAR
     params:
-        min_depth = IVAR_MIN_DEPTH,
+        min_depth = MIN_DEPTH,
         min_freq = IVAR_MIN_FREQ,
         min_insert = IVAR_MIN_INSERT,
         max_depth = IVAR_MAX_DEPTH,
@@ -70,13 +42,14 @@ rule ivar_consensus:
         baq = IVAR_MAP_QUAL
     input:
         mark_dup = get_bam_input,
-        variant_call = "results/04_Variants/{reference}/{sample}_{mapper}_{min_cov}X_ivar_variant-call.tsv"
+        variant_call = "results/04_Variants/{reference}/{sample}_{mapper}_{min_depth}X_ivar_variant-call.tsv"
     output:
-        prefix = temp("results/05_Consensus/{reference}/{sample}_{mapper}_{min_cov}X_ivar_consensus"),
-        cons_tmp = temp("results/05_Consensus/{reference}/{sample}_{mapper}_{min_cov}X_ivar_consensus.fasta.tmp"),
-        qual_txt = "results/05_Consensus/{reference}/ivar_consensus-quality/{sample}_{mapper}_{min_cov}X_ivar_consensus.qual.txt",
+        prefix = temp("results/05_Consensus/{reference}/{sample}_{mapper}_{min_depth}X_ivar_consensus"),
+        header = temp("{sample}_{reference}_{mapper}_{min_depth}X_ivar_consensus"),
+        consensus = "results/05_Consensus/{reference}/{sample}_{mapper}_{min_depth}X_ivar_consensus.fasta",
+        qual_txt = "results/05_Consensus/ivar_consensus-quality/{sample}_{reference}_{mapper}_{min_depth}X_ivar_consensus.qual.txt"
     log:
-        "results/10_Reports/tools-log/ivar/{reference}/{sample}_{mapper}_{min_cov}X_ivar_consensus.log"
+        "results/10_Reports/tools-log/ivar/{reference}/{sample}_{mapper}_{min_depth}x_ivar_consensus.log"
     shell:
         "samtools mpileup "              # Samtools mpileup, tools for alignments in the SAM format with command multi-way pileup
         "--verbosity 0 "                  # Set level of verbosity [INT]
@@ -92,15 +65,17 @@ rule ivar_consensus:
         "| "                               ### PIPE to iVar
         "ivar consensus "                # iVar, with command 'consensus': Call consensus from aligned BAM file
         "-p {output.prefix} "             # -p: prefix
+        "-i {output.header} "             # -i: Name of fasta header (default: Consensus_<prefix>_threshold_<min_freq>_quality_<min_qual>_<min_insert>)
         "-q {params.min_qual} "           # -q: Minimum quality score threshold to count base [INT] (Default: 20)
-        "-t {params.min_freq} "           # -t: Minimum frequency threshold to call variants [FLOAT] (Default: 0.03)
-        "-c {params.min_insert} "         # -c: Minimum insertion frequency threshold to call consensus [FLOAT] (Default: 0.8)    
-        "-m {params.min_depth} "          # -m: Minimum read depth to call variants [INT] (Default: 0)
+        "-t {params.min_freq} "           # -t: Minimum frequency threshold (0 to 1) to call consensus [FLOAT] (Default: 0)
+        "-c {params.min_insert} "         # -c: Minimum insertion frequency threshold (0 to 1) to call consensus [FLOAT] (Default: 0.8)    
+        "-m {params.min_depth} "          # -m: Minimum depth to call consensus [INT] (Default: 10)
         "-n N "                           # -n: Character to print in regions with less than minimum coverage (Default: N)
-        #"-i {wildcards.sample} "          # -i: Name of fasta header (default: Consensus_<prefix>_threshold_<min_freq>_quality_<min_qual>_<min_insert>
         "&> {log} "                       # Log redirection
-        "&& mv {output.prefix}.fa {output.cons_tmp} "       # copy consensus.fa (temp) to consensus.fasta.tmp (tmp)
-        "&& mv {output.prefix}.qual.txt {output.qual_txt} " # cppty consensus.qual.txt (tmp) to ivar_consensus-quality/ directory
-        "&& touch {output.prefix}"                          # Touch done
+        "&& mv {output.prefix}.fa {output.consensus} "      # move consensus.fa (temp) to consensus.fasta
+        "&& mv {output.prefix}.qual.txt {output.qual_txt} " # move consensus.qual.txt (tmp) to ivar_consensus-quality/ directory
+        "&& touch {output.prefix} "                         # Touch prefix (temp)
+        "&& touch {output.header} "                         # Touch header (temp)
 
 ###############################################################################
+###############################################################################
\ No newline at end of file
diff --git a/workflow/rules/coverage_stats.smk b/workflow/rules/coverage_stats.smk
index bafcbf7..97b7134 100644
--- a/workflow/rules/coverage_stats.smk
+++ b/workflow/rules/coverage_stats.smk
@@ -8,13 +8,13 @@
 ###                                                                         ###
 ###I###R###D######U###2###3###3#######T###R###A###N###S###V###I###H###M###I####
 # Name ___________________ coverage_stats.smk
-# Version ________________ v.2025.01
+# Version ________________ v.2025.04
 # Author _________________ Nicolas Fernandez
 # Affiliation ____________ IRD_U233_TransVIHMI
 # Aim ____________________ Compute Genome Coverage Statistics from BED file
 # Date ___________________ 2021.10.12
-# Latest modifications ___ 2025.03.12
-# Use ____________________ snakemake -s Snakefile --use-conda -j
+# Latest modifications ___ 2025.04.04
+# Use ____________________ snakemake -s Snakefile --use-conda
 ###############################################################################
 
 ###############################################################################
@@ -33,7 +33,7 @@ rule awk_coverage_statistics:
     input:
         cutadapt = "results/10_Reports/tools-log/cutadapt/{sample}.log",
         sickle = "results/10_Reports/tools-log/sickle-trim/{sample}.log",
-        samtools = "results/10_Reports/tools-log/samtools/{reference}/{sample}_{mapper}_mark-dup.log",
+        samtools = "results/10_Reports/tools-log/samtools/{reference}/{sample}_{mapper}_markdup.log",
         flagstat = "results/03_Coverage/{reference}/flagstat/{sample}_{mapper}_flagstat.json",
         histogram = "results/03_Coverage/{reference}/histogram/{sample}_{mapper}_coverage-histogram.txt",
         genome_cov = "results/02_Mapping/{reference}/{sample}_{mapper}_genome-cov.bed"
@@ -234,3 +234,4 @@ rule samtools_flagstat_ext:
         "2> {log}"                      # Log redirection
 
 ###############################################################################
+###############################################################################
\ No newline at end of file
diff --git a/workflow/rules/duplicates_removing.smk b/workflow/rules/duplicates_removing.smk
index 53b692c..65f849f 100644
--- a/workflow/rules/duplicates_removing.smk
+++ b/workflow/rules/duplicates_removing.smk
@@ -33,11 +33,11 @@ rule samtools_index_markdup:
     resources:
        cpus = 6
     input:
-        mark_dup = "results/02_Mapping/{reference}/{sample}_{mapper}_mark-dup.bam"
+        mark_dup = "results/02_Mapping/{reference}/{sample}_{mapper}_markdup.bam"
     output:
-        index = "results/02_Mapping/{reference}/{sample}_{mapper}_mark-dup.bam.bai"
+        index = "results/02_Mapping/{reference}/{sample}_{mapper}_markdup.bam.bai"
     log:
-        "results/10_Reports/tools-log/samtools/{reference}/{sample}_{mapper}_mark-dup-index.log"
+        "results/10_Reports/tools-log/samtools/{reference}/{sample}_{mapper}_markdup-index.log"
     shell:
         "samtools index "     # Samtools index, tools for alignments in the SAM format with command to index alignment
         "-@ {resources.cpus} " # --threads: Number of additional threads to use (default: 1)(NB, --threads form dose'nt work)
@@ -64,9 +64,9 @@ rule samtools_markdup:
     input:
         sorted = "results/02_Mapping/{reference}/{sample}_{mapper}_sorted.bam"
     output:
-        mark_dup = "results/02_Mapping/{reference}/{sample}_{mapper}_mark-dup.bam"
+        mark_dup = "results/02_Mapping/{reference}/{sample}_{mapper}_markdup.bam"
     log:
-        "results/10_Reports/tools-log/samtools/{reference}/{sample}_{mapper}_mark-dup.log"
+        "results/10_Reports/tools-log/samtools/{reference}/{sample}_{mapper}_markdup.log"
     shell:
         "samtools markdup "          # Samtools markdup, tools for alignments in the SAM format with command mark duplicates
         "--threads {resources.cpus} " # -@: Number of additional threads to use (default: 1)
diff --git a/workflow/rules/genomes_indexing.smk b/workflow/rules/genomes_indexing.smk
index 200c389..1defd03 100644
--- a/workflow/rules/genomes_indexing.smk
+++ b/workflow/rules/genomes_indexing.smk
@@ -87,10 +87,10 @@ rule minimap2_genome_indexing:
     conda:
         MINIMAP2
     params:
-        kmer_size = KMER_SIZE,
-        minimizer_size = MINIMIZER_SIZE,
-        split_size = SPLIT_SIZE
-        #homopolymer = HOMOPOLYMER
+        kmer_size = MM2_KMER_SIZE,
+        minimizer_size = MM2_MINIMIZER_SIZE,
+        split_size = MM2_SPLIT_SIZE
+        #homopolymer = MM2_HOMOPOLYMER
     input:
         fasta = "resources/genomes/{reference}.fasta"
     output:
diff --git a/workflow/rules/gisaid_submission.smk b/workflow/rules/gisaid_submission.smk
index c944725..f35ed77 100644
--- a/workflow/rules/gisaid_submission.smk
+++ b/workflow/rules/gisaid_submission.smk
@@ -8,13 +8,13 @@
 ###                                                                         ###
 ###I###R###D######U###2###3###3#######T###R###A###N###S###V###I###H###M###I####
 # Name ___________________ gisaid_submission.smk
-# Version ________________ v.2025.01
+# Version ________________ v.2025.04
 # Author _________________ Nicolas Fernandez
 # Affiliation ____________ IRD_U233_TransVIHMI
 # Aim ____________________ Create a Gisaid submission template file
 # Date ___________________ 2025.01.31
-# Latest modifications ___ 2025.01.31
-# Use ____________________ snakemake -s Snakefile --use-conda -j
+# Latest modifications ___ 2025.04.04
+# Use ____________________ snakemake -s Snakefile --use-conda
 ###############################################################################
 
 ###############################################################################
@@ -33,3 +33,4 @@ rule gisaid_submission:
         ""
 
 ###############################################################################
+###############################################################################
\ No newline at end of file
diff --git a/workflow/rules/lineages_calling.smk b/workflow/rules/lineages_calling.smk
index 5dbc7c0..ad9cd58 100644
--- a/workflow/rules/lineages_calling.smk
+++ b/workflow/rules/lineages_calling.smk
@@ -8,13 +8,13 @@
 ###                                                                         ###
 ###I###R###D######U###2###3###3#######T###R###A###N###S###V###I###H###M###I####
 # Name ___________________ lineages_calling.smk
-# Version ________________ v.2025.01
+# Version ________________ v.2025.04
 # Author _________________ Nicolas Fernandez
 # Affiliation ____________ IRD_U233_TransVIHMI
 # Aim ____________________ Assign lineage to consensus (Nextclade or Pangolin)
 # Date ___________________ 2021.10.12
-# Latest modifications ___ 2025.03.12
-# Use ____________________ snakemake -s Snakefile --use-conda -j
+# Latest modifications ___ 2025.04.04
+# Use ____________________ snakemake -s Snakefile --use-conda
 ###############################################################################
 
 ###############################################################################
@@ -92,3 +92,4 @@ rule pangolin_lineage:
         "2> /dev/null"                   # Errors redirection
 
 ###############################################################################
+###############################################################################
\ No newline at end of file
diff --git a/workflow/rules/lowcov_masking.smk b/workflow/rules/lowcov_masking.smk
index 9c440b5..4c57a00 100644
--- a/workflow/rules/lowcov_masking.smk
+++ b/workflow/rules/lowcov_masking.smk
@@ -8,13 +8,13 @@
 ###                                                                         ###
 ###I###R###D######U###2###3###3#######T###R###A###N###S###V###I###H###M###I####
 # Name ___________________ lowcov_masking.smk
-# Version ________________ v.2025.01
+# Version ________________ v.2025.04
 # Author _________________ Nicolas Fernandez
 # Affiliation ____________ IRD_U233_TransVIHMI
 # Aim ____________________ Mask low coverage regions
 # Date ___________________ 2021.10.12
-# Latest modifications ___ 2025.03.12
-# Use ____________________ snakemake -s Snakefile --use-conda -j
+# Latest modifications ___ 2025.04.04
+# Use ____________________ snakemake -s Snakefile --use-conda
 ###############################################################################
 
 ###############################################################################
@@ -99,3 +99,4 @@ rule awk_min_covfilt:
         "2> {log} "                   # Log redirection
 
 ###############################################################################
+###############################################################################
\ No newline at end of file
diff --git a/workflow/rules/primers_clipping.smk b/workflow/rules/primers_clipping.smk
index 69853a8..c122863 100644
--- a/workflow/rules/primers_clipping.smk
+++ b/workflow/rules/primers_clipping.smk
@@ -8,53 +8,62 @@
 ###                                                                         ###
 ###I###R###D######U###2###3###3#######T###R###A###N###S###V###I###H###M###I####
 # Name ___________________ primers_clipping.smk
-# Version ________________ v.2025.01
+# Version ________________ v.2025.04
 # Author _________________ Nicolas Fernandez
 # Affiliation ____________ IRD_U233_TransVIHMI
 # Aim ____________________ Soft clip amplicons primers
 # Date ___________________ 2021.10.12
-# Latest modifications ___ 2025.03.12
-# Use ____________________ snakemake -s Snakefile --use-conda -j
+# Latest modifications ___ 2025.04.04
+# Use ____________________ snakemake -s Snakefile --use-conda
 ###############################################################################
 
 ###############################################################################
-rule bamclipper_amplicon_primers:
+rule ivar_trim:
     # Aim: soft-clip amplicon PCR primers from BAM alignments
-    # Use: bamclipper.sh -n [THREADS] -b [MARKDUP.bam] -p [PRIMER.bed] -u [UPSTREAM] -d [DOWNSTREAM]
+    # Use: ivar trim -i [INPUT.bam] -b [PRIMER.bed] -p [PREFIX] -e -m 20 -q 20
     message:
         """
-        ~ BAMClipper ∞ soft-clipping amplicon PCR primers from BAM alignments ~
-        Sample: __________ {wildcards.sample}
-        Reference: _______ {wildcards.reference}
-        Mapper: __________ {wildcards.mapper}
+        ~ iVar ∞ soft-clipping amplicon PCR primers from BAM alignments ~
+        Sample _________ {wildcards.sample}
+        Reference ______ {wildcards.reference}
+        Mapper _________ {wildcards.mapper}
         """
     conda:
-        BAMCLIPPER
-    resources:
-       cpus = CPUS
+        IVAR
     params:
-        path = CLIPPATH,
-        primers = PRIMERS,
-        upstream = UPSTREAM,
-        downstream = DOWNSTREAM
+        path = PRIMER_BED_PATH,
+        bed = PRIMER_BED_SCHEME,
+        #path = PRIMER_BEDPE_PATH,
+        #bedpe = PRIMER_BEDPE_SCHEME,
+        offset = IVAR_OFFSET,
+        min_len = IVAR_MIN_LENGTH,
+        min_qual = IVAR_MIN_QUAL,
+        slide = IVAR_SLIDE
     input:
-        markdup = "results/02_Mapping/{reference}/{sample}_{mapper}_mark-dup.bam",
-        index = "results/02_Mapping/{reference}/{sample}_{mapper}_mark-dup.bam.bai"
+        bam = "results/02_Mapping/{reference}/{sample}_{mapper}_markdup.bam",
+        bai = "results/02_Mapping/{reference}/{sample}_{mapper}_markdup.bam.bai"
     output:
-        bamclip = "results/02_Mapping/{reference}/{sample}_{mapper}_mark-dup.primerclipped.bam",
-        baiclip = "results/02_Mapping/{reference}/{sample}_{mapper}_mark-dup.primerclipped.bam.bai"
+        prefix = temp("results/02_Mapping/{reference}/{sample}_{mapper}_markdup_trimmed"),
+        trimmed_bam = "results/02_Mapping/{reference}/{sample}_{mapper}_markdup_trimmed.bam",
+        trimmed_bai = "results/02_Mapping/{reference}/{sample}_{mapper}_markdup_trimmed.bam.bai"
     log:
-        "results/10_Reports/tools-log/bamclipper/{reference}/{sample}_{mapper}_primers-clip.log"
+        "results/10_Reports/tools-log/ivar_trim/{reference}/{sample}_{mapper}.log"
     shell:
-        "bamclipper.sh "                         # BAMClipper, remove primer sequences from BAM alignments of PCR amplicons by soft-clipping
-        "-b {input.markdup} "                     # Indexed BAM alignment file
-        "-p {params.path}{params.primers}.bedpe " # BEDPE of primer pair locations
-        "-n {resources.cpus} "                    # Number of threads (default: 1)
-        "-u {params.upstream} "                   # Number of nuc. upstream for assigning alignments to primers (default: 5)
-        "-d {params.downstream} "                 # Number of nuc. downstream for assigning alignments to primers (default: 5)
-        #"-o results/02_Mapping/ "                 # Path to write output (if BamClipper v.1.1.2) (todo)
-        "&> {log} "                               # Log redirection
-        "&& mv {wildcards.sample}_{wildcards.mapper}_mark-dup.primerclipped.bam {output.bamclip} "    # because BamClipper v.1 default output system...
-        "&& mv {wildcards.sample}_{wildcards.mapper}_mark-dup.primerclipped.bam.bai {output.baiclip}" # because BamClipper v.1 default output system...
+        "ivar trim "                   # iVar, with command 'trim': soft-clip amplicon PCR primers from BAM alignments
+        "-i {input.bam} "               # Input BAM file, with aligned reads, to trim primers and quality
+        "-p {output.prefix} "           # Prefix for the output BAM file
+        "-b {params.path}{params.bed} " # BED file with primer sequences and positions
+                                        # If no BED file is specified, only quality trimming will be done.
+        #"-f {params.path}{params.bedpe} " # Primer pair information file containing left and right primer names for the same amplicon separated by a tab
+                                        # If provided, reads that do not fall within atleat one amplicon will be ignored prior to primer trimming.
+        "-x {params.offset} "           # primer position offset (Default: 0)
+        "-m {params.min_len} "          # Minimum length of read to retain after trimming (Default: 50% average length of the first 1000 reads)
+        "-q {params.min_qual} "         # Minimum quality threshold for sliding window to pass (Default: 20)
+        "-s {params.slide} "            # Width of sliding window (Default: 4)
+        "-e "                           # Include reads with no primers. By default, reads with no primers are excluded
+        "-k "                           # Keep reads to allow for reanalysis
+                                         # Keep reads which would be dropped by alignment length filter or primer requirements, but mark them QCFAIL
+        "&> {log}"                      # Log redirection
 
 ###############################################################################
+###############################################################################
\ No newline at end of file
diff --git a/workflow/rules/quality_controls.smk b/workflow/rules/quality_controls.smk
index 63b4368..21e0288 100644
--- a/workflow/rules/quality_controls.smk
+++ b/workflow/rules/quality_controls.smk
@@ -33,7 +33,7 @@ rule fastqscreen_contamination_check:
         cpus = CPUS
     params:
         config = FQC_CONFIG,
-        subset = SUBSET
+        subset = FQC_SUBSET
     input:
         fastq = "results/symlinks/{sample}_R{mate}.fastq.gz"
     output:
diff --git a/workflow/rules/reads_cleanning.smk b/workflow/rules/reads_cleanning.smk
index 62711dc..ee6e1e0 100644
--- a/workflow/rules/reads_cleanning.smk
+++ b/workflow/rules/reads_cleanning.smk
@@ -8,13 +8,13 @@
 ###                                                                         ###
 ###I###R###D######U###2###3###3#######T###R###A###N###S###V###I###H###M###I####
 # Name ___________________ reads_cleanning.smk
-# Version ________________ v.2025.01
+# Version ________________ v.2025.04
 # Author _________________ Nicolas Fernandez
 # Affiliation ____________ IRD_U233_TransVIHMI
 # Aim ____________________ Perform Illumina reads quality trimming
 # Date ___________________ 2021.10.12
-# Latest modifications ___ 2025.03.12
-# Use ____________________ snakemake -s Snakefile --use-conda -j
+# Latest modifications ___ 2025.04.04
+# Use ____________________ snakemake -s Snakefile --use-conda
 ###############################################################################
 
 ###############################################################################
@@ -34,12 +34,12 @@ rule sickle_trim_quality:
         quality = SIC_QUALITY,
         length = SIC_LENGTH
     input:
-        fwd_reads = "results/01_Trimming/cutadapt/{sample}_cutadapt-removed_R1.fastq.gz",
-        rev_reads = "results/01_Trimming/cutadapt/{sample}_cutadapt-removed_R2.fastq.gz"
+        fwd_reads = "results/01_Trimming/cutadapt/{sample}_cutadapt_R1.fastq.gz",
+        rev_reads = "results/01_Trimming/cutadapt/{sample}_cutadapt_R2.fastq.gz"
     output:
-        fwd_reads = temp("results/01_Trimming/sickle/{sample}_cutadapt-sickle-trimmed_R1.fastq.gz"),
-        rev_reads = temp("results/01_Trimming/sickle/{sample}_cutadapt-sickle-trimmed_R2.fastq.gz"),
-        single = temp("results/01_Trimming/sickle/{sample}_cutadapt-sickle-trimmed_SE.fastq.gz")
+        fwd_reads = temp("results/01_Trimming/sickle/{sample}_cutadapt-sickle-trim_R1.fastq.gz"),
+        rev_reads = temp("results/01_Trimming/sickle/{sample}_cutadapt-sickle-trim_R2.fastq.gz"),
+        single = temp("results/01_Trimming/sickle/{sample}_cutadapt-sickle-trim_SE.fastq.gz")
     log:
         "results/10_Reports/tools-log/sickle-trim/{sample}.log"
     shell:
@@ -54,7 +54,7 @@ rule sickle_trim_quality:
         "-o {output.fwd_reads} " # --output-pe1: Output trimmed forward fastq file
         "-p {output.rev_reads} " # --output-pe2: Output trimmed reverse fastq file (must use -s option)
         "-s {output.single} "    # --output-single: Output trimmed singles fastq file
-        "&> {log} "              # Log redirection
+        "&> {log}"               # Log redirection
 
 ###############################################################################
 rule cutadapt_adapters_removing:
@@ -71,17 +71,15 @@ rule cutadapt_adapters_removing:
     resources:
         cpus = CPUS
     params:
+        cut = CUT_CLIPPING,
         length = CUT_LENGTH,
-        truseq = CUT_TRUSEQ,
-        nextera = CUT_NEXTERA,
-        small = CUT_SMALL,
-        cut = CUT_CLIPPING
+        adapter_opts = lambda wildcards: " ".join(f"--adapter {a} -A {a}" for a in CUT_ADAPTERS)
     input:
         fwd_reads = "results/symlinks/{sample}_R1.fastq.gz",
         rev_reads = "results/symlinks/{sample}_R2.fastq.gz"
     output:
-        fwd_reads = temp("results/01_Trimming/cutadapt/{sample}_cutadapt-removed_R1.fastq.gz"),
-        rev_reads = temp("results/01_Trimming/cutadapt/{sample}_cutadapt-removed_R2.fastq.gz")
+        fwd_reads = temp("results/01_Trimming/cutadapt/{sample}_cutadapt_R1.fastq.gz"),
+        rev_reads = temp("results/01_Trimming/cutadapt/{sample}_cutadapt_R2.fastq.gz")
     log:
         "results/10_Reports/tools-log/cutadapt/{sample}.log"
     shell:
@@ -91,16 +89,12 @@ rule cutadapt_adapters_removing:
         "-U {params.cut} "                    # -U: Remove 'n' first bases (5') from reverse R2 (hard-clipping, default: 0)
         "--trim-n "                           # --trim-n: Trim N's on ends (3') of reads
         "--minimum-length {params.length} "   # -m: Discard reads shorter than length
-        "--adapter {params.truseq} "          # -a: Sequence of an adapter ligated to the 3' end of the first read
-        "-A {params.truseq} "                 # -A: 3' adapter to be removed from second read in a pair
-        "--adapter {params.nextera} "         # -a: Sequence of an adapter ligated to the 3' end of the first read
-        "-A {params.nextera} "                # -A: 3' adapter to be removed from second read in a pair
-        "--adapter {params.small} "           # -a: Sequence of an adapter ligated to the 3' end of the first read
-        "-A {params.small} "                  # -A: 3' adapter to be removed from second read in a pair
+        "{params.adapter_opts} "              # -a/-A: Adapters sequences ligated to the 3' end of the first or second read in a pair
         "--output {output.fwd_reads} "        # -o: Write trimmed reads to FILE
         "--paired-output {output.rev_reads} " # -p: Write second read in a pair to FILE
         "{input.fwd_reads} "                  # Input forward reads R1.fastq
         "{input.rev_reads} "                  # Input reverse reads R2.fastq
-        "&> {log} "                           # Log redirection
+        "&> {log}"                            # Log redirection
 
 ###############################################################################
+###############################################################################
\ No newline at end of file
diff --git a/workflow/rules/reads_mapping.smk b/workflow/rules/reads_mapping.smk
index 834e156..c97387c 100644
--- a/workflow/rules/reads_mapping.smk
+++ b/workflow/rules/reads_mapping.smk
@@ -37,8 +37,8 @@ rule minimap2_mapping:
         #length = LENGTH
     input:
         mm2_indexes = "resources/indexes/minimap2/{reference}.mmi",
-        fwd_reads = "results/01_Trimming/sickle/{sample}_cutadapt-sickle-trimmed_R1.fastq.gz",
-        rev_reads = "results/01_Trimming/sickle/{sample}_cutadapt-sickle-trimmed_R2.fastq.gz"
+        fwd_reads = "results/01_Trimming/sickle/{sample}_cutadapt-sickle-trim_R1.fastq.gz",
+        rev_reads = "results/01_Trimming/sickle/{sample}_cutadapt-sickle-trim_R2.fastq.gz"
     output:
         mapped = temp("results/02_Mapping/{reference}/{sample}_minimap2-mapped.sam")
     log:
@@ -78,8 +78,8 @@ rule bwa_mapping:
         cpus = CPUS
     input:
         bwa_indexes = "resources/indexes/bwa/{reference}",
-        fwd_reads = "results/01_Trimming/sickle/{sample}_cutadapt-sickle-trimmed_R1.fastq.gz",
-        rev_reads = "results/01_Trimming/sickle/{sample}_cutadapt-sickle-trimmed_R2.fastq.gz"
+        fwd_reads = "results/01_Trimming/sickle/{sample}_cutadapt-sickle-trim_R1.fastq.gz",
+        rev_reads = "results/01_Trimming/sickle/{sample}_cutadapt-sickle-trim_R2.fastq.gz"
     output:
         mapped = temp("results/02_Mapping/{reference}/{sample}_bwa-mapped.sam")
     log:
@@ -113,8 +113,8 @@ rule bowtie2_mapping:
         sensitivity = BT2_SENSITIVITY
     input:
         bt2_indexes = "resources/indexes/bowtie2/{reference}",
-        fwd_reads = "results/01_Trimming/sickle/{sample}_cutadapt-sickle-trimmed_R1.fastq.gz",
-        rev_reads = "results/01_Trimming/sickle/{sample}_cutadapt-sickle-trimmed_R2.fastq.gz"
+        fwd_reads = "results/01_Trimming/sickle/{sample}_cutadapt-sickle-trim_R1.fastq.gz",
+        rev_reads = "results/01_Trimming/sickle/{sample}_cutadapt-sickle-trim_R2.fastq.gz"
     output:
         mapped = temp("results/02_Mapping/{reference}/{sample}_bowtie2-mapped.sam")
     log:
diff --git a/workflow/rules/results_merging.smk b/workflow/rules/results_merging.smk
index 73f5bfe..6b7e05e 100644
--- a/workflow/rules/results_merging.smk
+++ b/workflow/rules/results_merging.smk
@@ -8,13 +8,13 @@
 ###                                                                         ###
 ###I###R###D######U###2###3###3#######T###R###A###N###S###V###I###H###M###I####
 # Name ___________________ results_merging.smk
-# Version ________________ v.2025.01
+# Version ________________ v.2025.04
 # Author _________________ Nicolas Fernandez
 # Affiliation ____________ IRD_U233_TransVIHMI
 # Aim ____________________ Merge results
 # Date ___________________ 2025.01.31
-# Latest modifications ___ 2025.03.12
-# Use ____________________ snakemake -s Snakefile --use-conda -j
+# Latest modifications ___ 2025.04.04
+# Use ____________________ snakemake -s Snakefile --use-conda
 ###############################################################################
 
 ###############################################################################
@@ -24,7 +24,7 @@ rule merge_consensus:
         ~ Merge ∞ Concatenating all samples consensus sequences ~
         Reference: _______ {wildcards.reference}
         Mapper: __________ {wildcards.mapper}
-        Min. cov.: _______ {wildcards.min_cov}X
+        Min. cov.: _______ {wildcards.min_cov}x
         Caller: __________ {wildcards.caller}                                                                                            
         """
     input:
@@ -39,10 +39,10 @@ rule merge_consensus:
     log:
         "results/10_Reports/tools-log/merge_consensus/{reference}/{mapper}_{min_cov}X_{caller}_consensus.log"
     shell:
-        "cat "                     # Concatenate all consensus sequences
-        "{input.consensus} "        # Input files
-        "> {output.all_consensus} " # Output file
-        "2> {log}"                  # Log redirection
+        "cat "                      # Concatenate all consensus sequences
+        "{input.consensus} "         # Input files
+        "1> {output.all_consensus} " # Output file
+        "2> {log}"                   # Log redirection
 
 ###############################################################################
 rule merge_coverage:
@@ -51,7 +51,7 @@ rule merge_coverage:
         ~ Merge ∞ Concatenating genome coverage statistics ~
         Reference: _______ {wildcards.reference}
         Mapper: __________ {wildcards.mapper}
-        Min. cov.: _______ {wildcards.min_cov}X
+        Min. cov.: _______ {wildcards.min_cov}x
         """
     input:
         covstats = lambda wildcards: expand("results/03_Coverage/{reference}/{sample}_{mapper}_{min_cov}X_coverage-stats.tsv",
@@ -60,23 +60,23 @@ rule merge_coverage:
                                             mapper = wildcards.mapper,
                                             min_cov = wildcards.min_cov)
     output:
-        all_covstats = "results/All_{reference}_{mapper}_{min_cov}X_genome_coverages.tsv",
-        temp_covstats = temp("results/All_{reference}_{mapper}_{min_cov}X_genome_coverages.temp")
-    log:
+        all_covstats = "results/All_{reference}_{mapper}_{min_cov}X_genome_coverages.tsv"
+     log:
         "results/10_Reports/tools-log/merge_coverage/{reference}/{mapper}_{min_cov}X_covstats.log"
     shell:
-        "cat {input.covstats} > {output.temp_covstats} && "                      # Concatenate all coverage statistics          
-        "awk 'NR==1 || NR%2==0' {output.temp_covstats} 1> {output.all_covstats} " # Keep only even lines
-        "2> {log}"                                                                # Log redirection                  
+        "cat {input.covstats} | "  # Concatenate all coverage statistics          
+        "awk 'NR==1 || NR%2==0' "   # Keep only even lines
+        "1> {output.all_covstats} " # Output file
+        "2> {log}"                  # Log redirection                  
 
 ###############################################################################
 rule merge_clade:
     message:
         """                                                                                                                                       
-        ~ Merge ∞ Concatenating Pangolin lineage assignments ~
+        ~ Merge ∞ Concatenating lineage assignments ~
         Reference: _______ {wildcards.reference}
         Mapper: __________ {wildcards.mapper}
-        Min. cov.: _______ {wildcards.min_cov}X
+        Min. cov.: _______ {wildcards.min_cov}x
         Variant caller: __ {wildcards.caller}
         Assigner: ________ {wildcards.assigner}                                                                               
         """
@@ -89,13 +89,14 @@ rule merge_clade:
                                         caller = wildcards.caller,
                                         assigner = wildcards.assigner)
     output:
-        all_lineages = "results/All_{reference}_{mapper}_{min_cov}X_{caller}_{assigner}-lineages.tsv",
-        temp_lineages = temp("results/All_{reference}_{mapper}_{min_cov}X_{caller}_{assigner}-lineages.temp")
+        all_lineages = "results/All_{reference}_{mapper}_{min_cov}X_{caller}_{assigner}-lineages.tsv"
     log:
         "results/10_Reports/tools-log/merge_clade/{reference}/{mapper}_{min_cov}X_{caller}_{assigner}-lineages.log"
     shell:
-        "cat {input.lineages} > {output.temp_lineages} && "                      # Concatenate all clade assignments
-        "awk 'NR==1 || NR%2==0' {output.temp_lineages} 1> {output.all_lineages} " # Keep only even lines
-        "2> {log}"                                                                # Log redirection
+        "cat {input.lineages} | "                       # Concatenate all lineage assignments
+        "awk 'NR==1 || NR%2==0' {output.temp_lineages} " # Keep only even lines
+        "1> {output.all_lineages} "                      # Output file
+        "2> {log}"                                       # Log redirection
 
 ###############################################################################
+###############################################################################
\ No newline at end of file
diff --git a/workflow/rules/symlinks_renamming.smk b/workflow/rules/samples_prep.smk
similarity index 68%
rename from workflow/rules/symlinks_renamming.smk
rename to workflow/rules/samples_prep.smk
index f4bfce3..88a5560 100644
--- a/workflow/rules/symlinks_renamming.smk
+++ b/workflow/rules/samples_prep.smk
@@ -7,31 +7,16 @@
 ###    \/                                                            \/     ###
 ###                                                                         ###
 ###I###R###D######U###2###3###3#######T###R###A###N###S###V###I###H###M###I####
-# Name ___________________ symlinks_renamming.smk
-# Version ________________ v.2025.01
+# Name ___________________ sample_prep.smk
+# Version ________________ v.2025.04
 # Author _________________ Nicolas Fernandez
 # Affiliation ____________ IRD_U233_TransVIHMI
-# Aim ____________________ Create fastq symlinks
+# Aim ____________________ Prepare samples
 # Date ___________________ 2025.01.31
-# Latest modifications ___ 2025.03.12
-# Use ____________________ snakemake -s Snakefile --use-conda -j
+# Latest modifications ___ 2025.04.04
+# Use ____________________ snakemake -s Snakefile --use-conda
 ###############################################################################
 
-###############################################################################
-rule config:
-    # Aim: Load configuration file
-    # Use: 
-    message:
-        """
-        ~ Configuration ∞ Show analyses settings ~
-        """
-    input:
-        config_file = "config/config.yaml"
-    output:
-        setting_log = "results/10_Reports/settings.log"
-    script:
-        "workflow/scripts/settings.py "
-
 ###############################################################################
 rule symlinks:
     # Aim: Create fastq files symlinks
@@ -43,18 +28,18 @@ rule symlinks:
         Reads: ___________ R{wildcards.mate}
         """
     input:
-        setting_log = "results/10_Reports/settings.log",
         valid_fastq = lambda wildcards: os.path.abspath(VALID_FASTQ[wildcards.sample][wildcards.mate])
     output:
         symlink = temp("results/symlinks/{sample}_R{mate}.fastq.gz")
     log:
         "results/10_Reports/tools-log/symlinks/{sample}_R{mate}.log"
     shell:
-        "mkdir -p $(dirname {output.symlink}) "
-        "&& "
-        "ln -sf "
-        "{input.valid_fastq} "
-        "{output.symlink} "
-        "&> {log}"
+        "mkdir -p $(dirname {output.symlink}) " # Create output directory
+        "&& "                                   # Create symlink directory
+        "ln -sf "                               # Create symbolic link
+        "{input.valid_fastq} "                  # Source file
+        "{output.symlink} "                     # Link
+        "&> {log}"                              # Log redirection
 
 ###############################################################################
+###############################################################################
\ No newline at end of file
diff --git a/workflow/rules/variants_calling.smk b/workflow/rules/variants_calling.smk
index 29993e9..096b049 100644
--- a/workflow/rules/variants_calling.smk
+++ b/workflow/rules/variants_calling.smk
@@ -8,13 +8,13 @@
 ###                                                                         ###
 ###I###R###D######U###2###3###3#######T###R###A###N###S###V###I###H###M###I####
 # Name ___________________ variants_calling.smk
-# Version ________________ v.2025.01
+# Version ________________ v.2025.04
 # Author _________________ Nicolas Fernandez
 # Affiliation ____________ IRD_U233_TransVIHMI
 # Aim ____________________ SNVs and Indels calling
 # Date ___________________ 2021.10.12
-# Latest modifications ___ 2025.03.12
-# Use ____________________ snakemake -s Snakefile --use-conda -j
+# Latest modifications ___ 2025.04.04
+# Use ____________________ snakemake -s Snakefile --use-conda
 ###############################################################################
 
 ###############################################################################
@@ -32,6 +32,8 @@ rule convert_tsv2vcf:
         """
     conda:
         TSV2VCF
+    params:
+        tsv2vcf = "workflow/scripts/ivar_variants_to_vcf.py" # Script (from viralrecon)
     input:
         tsv = "results/04_Variants/{reference}/{sample}_{mapper}_{min_cov}X_ivar_variant-call.tsv"
     output:
@@ -39,11 +41,11 @@ rule convert_tsv2vcf:
     log:
         "results/10_Reports/tools-log/tsv2vcf/{reference}/{sample}_{mapper}_{min_cov}X_ivar_tsv2vcf.log"
     shell:
-        "python3 "                                  # Python 3
-        "workflow/scripts/ivar_variants_to_vcf.py "  # Script (from viralrecon)
-        "{input.tsv} "                               # TSV input
-        "{output.vcf} "                              # VCF output
-        "&> {log}"                                   # Log redirection
+        "python3 "         # Python 3
+        "{params.tsv2vcf} " # Script (from viralrecon)
+        "{input.tsv} "      # TSV input
+        "{output.vcf} "     # VCF output
+        "&> {log}"          # Log redirection
 
 ###############################################################################
 rule ivar_variant_calling:
@@ -62,7 +64,7 @@ rule ivar_variant_calling:
     conda:
         IVAR
     params:
-        min_depth = IVAR_MIN_DEPTH,
+        min_depth = MIN_DEPTH,
         min_freq = IVAR_MIN_FREQ,
         min_insert = IVAR_MIN_INSERT,
         max_depth = IVAR_MAX_DEPTH,
@@ -90,12 +92,13 @@ rule ivar_variant_calling:
         "2>&1 | grep -v '[mpileup] 1 samples in 1 input files' " # Remove this stdout
         "| "                               ### pipe to iVar
         "ivar variants "                 # iVar, with command 'variants': Call variants from aligned BAM file
-        "-p {output.variant_call} "       # -p: prefix
+        "-p {output.variant_call} "       # -p: Prefix for the output tsv variant file
         "-q {params.min_qual} "           # -q: Minimum quality score threshold to count base (Default: 20) [INT]
-        "-t {params.min_freq} "           # -t: Minimum frequency threshold to call variants (Default: 0.03) [FLOAT]
+        "-t {params.min_freq} "           # -t: Minimum frequency threshold (0 to 1) to call variants (Default: 0.03) [FLOAT]
         "-m {params.min_depth} "          # -m: Minimum read depth to call variants (Default: 0) [INT]
         "-r {input.masked_ref} "          # -r: Reference file used for alignment (translate the nuc. sequences and identify intra host single nuc. variants) 
         #"-g "                            # -g: A GFF file in the GFF3 format can be supplied to specify coordinates of open reading frames (ORFs)
         "&> {log}"                        # Log redirection 
 
 ###############################################################################
+###############################################################################
\ No newline at end of file
diff --git a/workflow/rules/workflow_reporting.smk b/workflow/rules/workflow_reporting.smk
index da31bbb..8601e88 100644
--- a/workflow/rules/workflow_reporting.smk
+++ b/workflow/rules/workflow_reporting.smk
@@ -8,40 +8,15 @@
 ###                                                                         ###
 ###I###R###D######U###2###3###3#######T###R###A###N###S###V###I###H###M###I####
 # Name ___________________ workflow_reporting.smk
-# Version ________________ v.2025.01
+# Version ________________ v.2025.04
 # Author _________________ Nicolas Fernandez
 # Affiliation ____________ IRD_U233_TransVIHMI
 # Aim ____________________ Generate workflow reports
 # Date ___________________ 2025.01.31
-# Latest modifications ___ 2025.03.12
-# Use ____________________ snakemake -s Snakefile --use-conda -j
-###############################################################################
-
-
-
+# Latest modifications ___ 2025.04.04
+# Use ____________________ snakemake -s Snakefile --use-conda
 ###############################################################################
 
-###############################################################################
-rule tar_reports:
-    # Aim: compresses reports into a tarball
-    # Use: tar -zcf 10_Reports_archive.tar.gz 10_Reports/
-    message:
-        """
-        ~ Archive ∞ Compress reports ~
-        """
-    input:
-        html_report = "results/10_Reports/workflow-report.html"
-    output:
-        tarball = "results/Reports_archive.tar.gz"
-    shell:
-        "tar "                     # Tar command
-        "-z "                       # Gzip compression
-        "-c "                       # Create a new archive
-        "-f "                       # Use archive file or device ARCHIVE
-        "{output.tarball} "         # Output archive
-        "-C results/ "              # Change to directory 'results/'
-        "10_Reports/"               # Input directory to compress
-
 ###############################################################################
 rule snakemake_report:
     # Aim: generates a workflow report in HTML format
@@ -50,13 +25,12 @@ rule snakemake_report:
         """
         ~ Report ∞ Generate a workflow report in HTML format ~
         """
-    #conda:
-    #    WORKFLOW
+    conda:
+        WORKFLOW
     params:
         #style_sheet = STYLE_SHEET
     input:
         multiqc = "results/10_Reports/multiqc/",
-        time = "results/10_Reports/time.log",
         summary = "results/10_Reports/files-summary.tsv",
         graph = expand("results/10_Reports/graphs/{graph_type}.{ext}",
             graph_type = GRAPH_TYPE,
@@ -72,28 +46,6 @@ rule snakemake_report:
         " {output.html_report} " # Output report
         "2> {log}"               # Log redirection
 
-###############################################################################
-rule snakemake_summary:
-    # Aim: generates a workflow summary in txt format
-    # Use: snakemake --summary
-    message:
-        """
-        ~ Summary ∞ Generate a files summary in txt format ~
-        """
-    conda:
-        WORKFLOW
-    input:
-        final_outputs = get_final_outputs()
-    output:
-        summary = "results/10_Reports/files-summary.tsv"
-    log:
-        "results/10_Reports/tools-log/files-summary.log"
-    shell:
-        "snakemake "          # Snakemake
-        "--summary "           # Print a summary of all files created by the workflow
-        "1> {output.summary} " # Output files summary
-        "2> {log}"             # Log redirection
-
 ###############################################################################
 rule snakemake_graph:
     # Aim: generates a workflow graph in png, svg or pdf format
@@ -118,6 +70,28 @@ rule snakemake_graph:
         "1> {output.graph} "        # Output graph
         "2> {log}"                  # Log redirection
 
+###############################################################################
+rule snakemake_summary:
+    # Aim: generates a workflow summary in txt format
+    # Use: snakemake --summary
+    message:
+        """
+        ~ Summary ∞ Generate a files summary in txt format ~
+        """
+    conda:
+        WORKFLOW
+    input:
+        final_outputs = get_final_outputs()
+    output:
+        summary = "results/10_Reports/files-summary.tsv"
+    log:
+        "results/10_Reports/tools-log/files-summary.log"
+    shell:
+        "snakemake "          # Snakemake
+        "--summary "           # Print a summary of all files created by the workflow
+        "1> {output.summary} " # Output files summary
+        "2> {log}"             # Log redirection
+
 ###############################################################################
 rule multiqc_aggregation:
     # Aim: aggregates bioinformatics analyses results into a single report
@@ -154,70 +128,4 @@ rule multiqc_aggregation:
         "2> /dev/null"               # Suppress error messages
 
 ###############################################################################
-rule log_time:
-    # Aim: log workflow start and end time
-    # Use: date +"%Y-%m-%d %H:%M"
-    message:
-        """
-        ~ Log ∞ Workflow time ~
-        """
-    input:
-        final_outputs = get_final_outputs()
-    output:
-        time_log = "results/10_Reports/time.log"
-    run:
-        time_stamp_start = time.strftime("%Y-%m-%d %H:%M", time.localtime(START_TIME))
-        time_stamp_end = time.strftime("%Y-%m-%d %H:%M", time.localtime())
-        elapsed_time = int(time.time() - START_TIME)
-        hours = elapsed_time // 3600
-        minutes = (elapsed_time % 3600) // 60
-        seconds = elapsed_time % 60
-        formatted_time = f"{hours:02d}:{minutes:02d}:{seconds:02d}"
-        green = "\033[32m"
-        ylo = "\033[33m"
-        nc = "\033[0m"
-        message_time = f"""
-{green}Start time{nc} _____________ {time_stamp_start}
-{green}End time{nc} _______________ {time_stamp_end}
-{green}Processing time{nc} ________ {ylo}{formatted_time}{nc}
-"""
-        print(message_time)
-        ansi_escape = re.compile(r'\x1B\[[0-?]*[ -/]*[@-~]')
-        message_clean = ansi_escape.sub('', message_time)
-        with open(output.time_log, "w") as f:
-            f.write(message_clean)
-
-###############################################################################
-rule log_environments:
-    # Aim: copy conda environments files to results
-    # Use: cp workflow/envs/*.yaml results/10_Reports/envs/
-    message:
-        """
-        ~ Log ∞ Workflow environments ~
-        """
-    input:
-        envs = "workflow/envs"
-    output:
-        envs_log = directory("results/10_Reports/envs/")
-    shell:
-        "mkdir -p {output.envs_log} && "            # Create directory
-        "cp {input.envs}/*.yaml {output.envs_log} " # Copy envs files
-        "2> /dev/null"                              # Suppress error messages
-
-###############################################################################
-rule log_config:
-    # Aim: copy settings file to results
-    # Use: cp config/config.yaml results/10_Reports/config.log
-    message:
-        """
-        ~ Log ∞ Workflow configuration ~
-        """
-    input:
-        config = "config/config.yaml"
-    output:
-        config_log = "results/10_Reports/config.log"
-    shell:
-        "cp {input.config} {output.config_log} " # Copy config file
-        "2> /dev/null"                           # Suppress error messages
-
-###############################################################################
+###############################################################################
\ No newline at end of file
diff --git a/workflow/schemas/config.schema.yaml b/workflow/schemas/config.schema.yaml
index a399a7c..fe384c2 100644
--- a/workflow/schemas/config.schema.yaml
+++ b/workflow/schemas/config.schema.yaml
@@ -1,39 +1,11 @@
 $schema: "http://json-schema.org/draft-07/schema#"
-title: "GeVarLi Configuration Schema"
+title: "GeVarLi Config Schema"
 type: object
-required:
-  - fastq_dir
-  - modules
-  - consensus
-  - gisaid
-  - nextclade
-  - ivar
-  - bamclipper
-  - bwa
-  - bowtie2
-  - minimap2
-  - sickle_trim
-  - cutadapt
-  - multiqc
-  - fastq_screen
-  - rename
-  - resources
-  - envs
-  - report
 properties:
   fastq_dir:
     type: string
-
   modules:
     type: object
-    required:
-      - qualities
-      - keeptrim
-      - clipping
-      - covstats
-      - consensus
-      - lineages
-      - gisaid
     properties:
       qualities:
         type: boolean
@@ -49,42 +21,36 @@ properties:
         type: boolean
       gisaid:
         type: boolean
-
-  consensus:
-    type: object
     required:
-      - reference
-      - min_cov
-      - min_freq
-      - iupac
-      - mapper
-      - caller
-      - assigner
+      - qualities
+      - keeptrim
+      - clipping
+      - covstats
+      - consensus
+      - lineages
+      - gisaid
+  tools:
+    type: object
     properties:
-      reference:
-        type: string
-      min_cov:
-        type: string
-      min_freq:
-        type: string
-      iupac:
-        type: string
       mapper:
         type: string
       caller:
         type: string
       assigner:
         type: string
-
-  gisaid:
+    required:
+      - mapper
+      - caller
+      - assigner
+  consensus:
     type: object
+    properties:
+      reference:
+        type: string
     required:
-      - username
-      - threshold
-      - name
-      - country
-      - identifier
-      - year
+      - reference
+  gisaid:
+    type: object
     properties:
       username:
         type: string
@@ -98,42 +64,78 @@ properties:
         type: string
       year:
         type: string
-
+    required:
+      - username
+      - threshold
+      - name
+      - country
+      - identifier
+      - year
   nextclade:
     type: object
-    required:
-      - path
-      - dataset
     properties:
       path:
         type: string
       dataset:
         type: string
-
+    required:
+      - path
+      - dataset
   ivar:
     type: object
-    required:
-      - max_depth
-      - min_bq
-      - min_qual
-      - map_qual
     properties:
-      max_depth:
-        type: string
-      min_bq:
-        type: string
-      min_qual:
-        type: string
-      map_qual:
-        type: string
-
+      consensus:
+        type: object
+        properties:
+          min_depth:
+            type: string
+          max_depth:
+            type: string
+          min_freq:
+            type: string
+          map_qual:
+            type: string
+          min_bq:
+            type: string
+          min_qual:
+            type: string
+        required:
+          - min_depth
+          - max_depth
+          - min_freq
+          - map_qual
+          - min_bq
+          - min_qual
+      variant:
+        type: object
+        properties:
+          min_depth:
+            type: string
+          max_depth:
+            type: string
+          min_freq:
+            type: string
+          map_qual:
+            type: string
+          min_bq:
+            type: string
+          min_qual:
+            type: string
+        required:
+          - min_depth
+          - max_depth
+          - min_freq
+          - map_qual
+          - min_bq
+          - min_qual
+      primerclipping:
+        type: [ "object", "null" ]
+    required:
+      - consensus
+      - variant
+      - primerclipping
   bamclipper:
     type: object
-    required:
-      - path
-      - primers
-      - upstream
-      - downstream
     properties:
       path:
         type: string
@@ -143,43 +145,35 @@ properties:
         type: string
       downstream:
         type: string
-
+    required:
+      - path
+      - primers
+      - upstream
+      - downstream
   bwa:
     type: object
-    required:
-      - algorithm
     properties:
       algorithm:
         type: string
-
-  bowtie2:
-    type: object
     required:
       - algorithm
-      - sensitivity
+  bowtie2:
+    type: object
     properties:
       algorithm:
         type: string
       sensitivity:
         type: string
-
-  minimap2:
-    type: object
     required:
-      - preset
       - algorithm
+      - sensitivity
+  minimap2:
+    type: object
     properties:
-      preset:
-        type: string
       algorithm:
         type: object
-        required:
-          - "k-mer_size"
-          - minimizer_size
-          - split_size
-          - homopolymer
         properties:
-          "k-mer_size":
+          k-mer_size:
             type: string
           minimizer_size:
             type: string
@@ -187,14 +181,18 @@ properties:
             type: string
           homopolymer:
             type: string
-
+        required:
+          - k-mer_size
+          - minimizer_size
+          - split_size
+          - homopolymer
+      preset:
+        type: string
+    required:
+      - algorithm
+      - preset
   sickle_trim:
     type: object
-    required:
-      - quality
-      - length
-      - command
-      - encoding
     properties:
       quality:
         type: string
@@ -204,13 +202,13 @@ properties:
         type: string
       encoding:
         type: string
-
-  cutadapt:
-    type: object
     required:
-      - clipping
+      - quality
       - length
-      - kits
+      - command
+      - encoding
+  cutadapt:
+    type: object
     properties:
       clipping:
         type: string
@@ -218,10 +216,6 @@ properties:
         type: string
       kits:
         type: object
-        required:
-          - truseq
-          - nextera
-          - small
         properties:
           truseq:
             type: string
@@ -229,13 +223,16 @@ properties:
             type: string
           small:
             type: string
-
+        required:
+          - truseq
+          - nextera
+          - small
+    required:
+      - clipping
+      - length
+      - kits
   multiqc:
     type: object
-    required:
-      - path
-      - config
-      - tag
     properties:
       path:
         type: string
@@ -243,13 +240,12 @@ properties:
         type: string
       tag:
         type: string
-
-  fastq_screen:
-    type: object
     required:
+      - path
       - config
-      - subset
-      - reference
+      - tag
+  fastq_screen:
+    type: object
     properties:
       config:
         type: string
@@ -259,13 +255,12 @@ properties:
         type: array
         items:
           type: string
-
+    required:
+      - config
+      - subset
+      - reference
   rename:
     type: object
-    required:
-      - barcode_id
-      - line_id
-      - end_id
     properties:
       barcode_id:
         type: boolean
@@ -273,13 +268,12 @@ properties:
         type: boolean
       end_id:
         type: boolean
-
+    required:
+      - barcode_id
+      - line_id
+      - end_id
   resources:
     type: object
-    required:
-      - cpus
-      - ram
-      - tmp_dir
     properties:
       cpus:
         type: string
@@ -287,28 +281,12 @@ properties:
         type: string
       tmp_dir:
         type: string
-
+    required:
+      - cpus
+      - ram
+      - tmp_dir
   envs:
     type: object
-    required:
-      - bamclipper
-      - bcftools
-      - bedtools
-      - bowtie2
-      - bwa
-      - cutadapt
-      - fastq_screen
-      - fastqc
-      - gawk
-      - ivar
-      - minimap2
-      - multiqc
-      - nextclade
-      - pangolin
-      - samtools
-      - sickle_trim
-      - tsv2vcf
-      - workflow
     properties:
       bamclipper:
         type: string
@@ -346,27 +324,39 @@ properties:
         type: string
       workflow:
         type: string
-
+    required:
+      - bamclipper
+      - bcftools
+      - bedtools
+      - bowtie2
+      - bwa
+      - cutadapt
+      - fastq_screen
+      - fastqc
+      - gawk
+      - ivar
+      - minimap2
+      - multiqc
+      - nextclade
+      - pangolin
+      - samtools
+      - sickle_trim
+      - tsv2vcf
+      - workflow
   report:
     type: object
-    required:
-      - stat
-      - graph
     properties:
       stat:
         type: object
-        required:
-          - extention
         properties:
           extention:
             type: array
             items:
               type: string
-      graph:
-        type: object
         required:
-          - type
           - extention
+      graph:
+        type: object
         properties:
           type:
             type: array
@@ -375,4 +365,30 @@ properties:
           extention:
             type: array
             items:
-              type: string
\ No newline at end of file
+              type: string
+        required:
+          - type
+          - extention
+    required:
+      - stat
+      - graph
+required:
+  - fastq_dir
+  - modules
+  - tools
+  - consensus
+  - gisaid
+  - nextclade
+  - ivar
+  - bamclipper
+  - bwa
+  - bowtie2
+  - minimap2
+  - sickle_trim
+  - cutadapt
+  - multiqc
+  - fastq_screen
+  - rename
+  - resources
+  - envs
+  - report
\ No newline at end of file
diff --git a/workflow/scripts/__pycache__/__init__.cpython-312.pyc b/workflow/scripts/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 80e6722fd8b0751239f5fedd373affaa5933c5a7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 154
zcmX@j%ge<81gzq%=^*+sh(HIQS%4zb87dhx8U0o=6fpsLpFwJVS?Y%trxq3K8yOfG
z=A{`J80x2Imgu{uh9wsHWa^ja7iFjA<d^FgCl_TFload7$7kkcmc+;F6;$5hu*uC&
bDa}c>D`Ewj#0bR2AjU^#Mn=XWW*`dyT5%%y

diff --git a/workflow/scripts/__pycache__/functions.cpython-312.pyc b/workflow/scripts/__pycache__/functions.cpython-312.pyc
deleted file mode 100644
index 039460ac12bd9424bf39c41de31f949261905bb6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 6456
zcmb_hUu+Xc8sD{dZEx&^#35-CLNHJo92z?b3IE%>6imwDB#@+B8;)}q@5b3+@0!_h
z0LPY6snWSpr55R=fC?&)RN;Y#d+77M-it%%;oGJXQu}gm5%`Ix`(|vf9b#$%x6*oN
zXTJG;-}jquX1^K#tG>RDfy<75iF~t%VSXhqrOQ$*JP$%)iIEtIjWW}PCp*p3cgwT|
zo|dRJ#!Yi9X|qQ8m~GkyW$sI6+Ai_%>yT{lD@b<ut-HZ`9secJV_w#<$=BneDnZF9
z$unXiiX|nC!)#GCc{t#<!u@;-3|eBa*)~U7U%GI~Xl9OksR>@^?3?RS;MQ`n*K!d%
z&0?V>i77$k&1|(qn6x#;o?<TDV3;&lLuY*nsr*cFCKivkmFnjjOQrHtvZVNub!l75
zh7P1`bIs-UQc1F!i1t@Vlyy2%T*{KNw?pTY;{^PEEvKw=EhVh-Q{q$ncZ_7aYofEv
z*9#n@FlixWnR}-!St>0T3&71mhWQKdnzpCwBzvlEo<VhzgFbDkx|EQzQ_b6H8;dNG
zpt4e3+W87goGCk4;z~K;xBf0)@)qnF;+R+TX~4uqdZmO?kMEefmQtBzQo<zT-8Po2
z>+#KqI=<?QB$K=Ty8jR7PUvDR9+f}z9q@)G$a_r0@`o4u2QGOHTcOS1NL{k=;-7~n
z#?Fk5T=JY&qOzwudAQpnX|nE7HS7VA@T>>V${vVxIgDk=qlz&_jd<cB#xhcUp2;gp
zJPtKJgY7ri0mCxU5BEUQT?U?{#sGACw@1-EiW=64by)W7k14uN;F2zH1ypip-NiFw
zr^hdOrZg-@J@aBzkvs*v^<y4yy}?DI+GWF{=>`Xu%o^OBrl^Qa8iONq&~RK9bs21x
z4GWUNXIVtyS%Z%tEfF_tVmvOZlEEujj_HOqDyv?XAy5uOl7b9pp*RDK=!UbP7#axf
zH4&*`v2O5G1~n0#JS7U*pp3{YHJsGs5EY@VfMYK@tGhtLQ*pgG=Kn;Ok?tSp8|YVO
z`uh6)5e554<O?DSD*kI4x-t{huKD#aQsP+m&m`0^Ry0-j#cvqfA~FtDXhVAdeLviK
zH>?MX%$mD($$Qg#=cDgOZjXE)ydAvX{xG=OIlSurXz}ctd*>Z#)xCG|Y;IfA;>W)>
zb!Par=9Z<yHxEB)-n-Jg_g-MNxhLcJt<k+C+!V4MCw`n=Z5+w)|8X|vS~`|4-n@9P
zZMCH*b2``DwsidF@muq&&F^JS<@Wbx&fc=ExOUy+9=Y~Cb#4D<{HyV7m+$`d`*YbN
zTDCL(lk4hwGvnU5-o`Yyfd2M(pS1U^wD<hG{r#`%Gq!K}oU`HEeP5lpb@JZO?O<+C
zHvxR)+V!++_x+ZYF5gY*;i=3>u7uq8u=SxMd*pm};<N1e>Fo4OwlngRYj)kqbo8z_
zFns;r#=jWPwhsPd^2Z&kLxJqz>FoBA$K1zHovm4}^*QjxY*@F+no8I0E-1j~gH5xN
z1rsrP!FphktZ6pI!VKibk{=*hhvi@Q_YH(bA-W(!{0m5)k&&#1<+OjH5JTzELX5;7
zN{3=1y3#8p;=apb%n-s+xzOvy**8auBPAxIa1<t_ED_uvSi?R#e(IB8VA5+bglkGv
z3X4c0p$OVRxlY{lc+hTm81*EQpjSvy;|YuoK;3D$b+QaCGP#D)#gUxd{rAX<eP_-c
z%Gh&G_u?4Z3$1U%-0++G3$}un3fc!IycmCToK3t@)NVlaT96kWuu!Oye7zc5N|7x;
zh>gNsV#_tY7%<st6f+Rcjf=qoTOej$PAJhh`w|w9B?i9DOgYLVmT-^$lw#(H%u5&M
zOBE2AWa*(7CK(649$1%)y(+#KwUD^iMXIopr&fMm(@I+z`+>cb7i_^c$6NLn-m-sP
zIh%Um+-!dZBQDCwR82<eG5HqIt85!?DAhe^ST5#)TVQG1)-fwAZ={xIYFge@Rg0Me
zR`}pvF2?B=d}ywU{&u`<|9wpCHd$}kY;grct(2kJnhd>DLtmMz?WX3o<>EZv0$1(-
zA3YTwc2EzG*7R`4)-~f+)7Q@B;(lfezV58hXhs9B#$?y#F|6s&uHQ$0;CX}Dxcm1p
zu{rh?%<OsHD3JEn;!b+Ero_HV3CL#N8#9Ef3COsyBJ0V6=4Z7pbe`7U2%XeajI^kq
zX1C#TZZiSN4TfX~zM3SAX(pUJS__~T(pp(oH^Uf?E3zENkklkcOpyN26jYEch+kL2
zSE6#cUpRq9NsQy(LPIa<8Iz^ZM8CN^^0L&jx5OJT@!k$-GEfHU1`o9a3d_2m<{I#%
z^qTBk4Tm6~Op{ZGLeX&0Ob?hq?*ZFht09;PC-u^>6>?3~3(X*{&Ffgida|4;9fYBr
zmys9&7R|oZlGOzuJOlvgPsuOs(M!R6SfBTDXow6q8FRA9p_1qjyd@{haeIZTSw+WM
z1c|ZoFq#>%smT=b;p;egrWWQ*RE!Ygsz8>Sd<*h*oUSyS+G|*$8j^9?TFI)O(32NT
zT|*@53$?G$)k0W|MoF@7BGLgDy?mK5su&$1+}R4^6<P;Fumw~^6*d;HJwT??`9jxT
z*u`Sse0auiL={zr!Pb)(O}`F>g2l==(6AuF?meP{hrLLSYY5YDuvK#o9VZ?-N*$78
zB@2e5(NKkN<qc9r%$Y8kJce}nYJzO7^dh6h7$i|g$)x&{f82_eh^%Tc*$i-<I%6$3
zW8x-*TY)qUuVAV)2o$~;2qru=8+}0L&aRT8{=U!zWmos>GREZa!57sc$(>aMfS?&A
zLYv#FG|TF|?)SP7IUhje$PAGkf?=B+9z7Qf7~JUaRKT#EKN*?`oHhjb2}}gWPD0h_
z@VRq=3D`}Z84H~pzhF2fr-r9OflsFl+sWZz5Skprlapsg#sU+tLe<YGsu&Gv2@D%a
zT_@*~#XV*d*<)^KMIS@!6x{khVKWN*%<Zj<qrcf3G7FFFJ93VeCyve)N9Uaj*>^u%
z>pi%3z@O(WUHy5+A`GnC7@@V?9(uVw?_eC;GRa5wjtw|5kjq=yuAw}`3WuIns(9@t
zP|draaBVAG+nv^|=ggYd50D*T7t0U4LhseJzN5rM&~CR9?N;H?x?_V2i7Fy_S5+@c
zqVH2cfg^w%0M=~)yj}(HC7qfnveq+@2cSU$G?Z^7YBvo+sw@qf5A^4qeAmG|!wZA!
zt__+i1bsuqXAlGvdErpLp^8K6472YeOBtN@S@R#x*W0>|<{6uCY`t*<<?*%mhk*69
zo_@l;z!B~_egOQh9GJ_d6mZ@FhFbYS@V`<-HAM*A0b*zeF_b@4p)uQj>@jyd$2Aqk
zJllTcF?Y1$_26S}@Ts#c%eB!hzSoJ!!8sy(3PiSehD%q)D{>5OpQ06JoinV#*P(Ed
zM~^P)(H%W^LF71r&Ws-z3RpOyah!;0QUcC(5&2VtOe>w7(yUuqmVMsGuysE(!q1HJ
h7iQNl%-&~hJJ@%go#5E!XAK<N^t|D7mTjkC{{xPx6-)pC

diff --git a/workflow/scripts/functions.py b/workflow/scripts/functions.py
index e55beb1..a3b26ef 100644
--- a/workflow/scripts/functions.py
+++ b/workflow/scripts/functions.py
@@ -8,12 +8,12 @@
 ###                                                                         ###
 ###I###R###D######U###2###3###3#######T###R###A###N###S###V###I###H###M###I####
 # Name ___________________ functions.py
-# Version ________________ v.2025.01
+# Version ________________ v.2025.04
 # Author _________________ Nicolas Fernandez
 # Affiliation ____________ IRD_U233_TransVIHMI
 # Aim ____________________ Snakefile functions
 # Date ___________________ 2021.10.12
-# Latest modifications ___ 2025.03.12
+# Latest modifications ___ 2025.04.04
 # Use ____________________ import scripts.functions as functions
 ###############################################################################
 
@@ -21,9 +21,7 @@
 ### IMPORTS ###
 ###############
 
-import os
-import re
-import glob
+import os, re, glob, time, sys, subprocess, platform, yaml
 from snakemake.io import expand
 from collections import defaultdict
 
@@ -31,12 +29,19 @@ from collections import defaultdict
 ### GLOBAL VARIABLES ###
 ########################
 
+# Define colors
+blue = "\033[1;34m"
+green = "\033[1;32m"
+red = "\033[1;31m"
+ylo = "\033[1;33m"
+nc = "\033[0m"
 
 ###############################################################################
 ### FUNCTIONS ###
 ##################
 
-# get_valid_fastq
+###############################################################################
+# GET_VALID_FASTQ
 def get_valid_fastq(fastq_dir):
     fastq_files = glob.glob(os.path.join(fastq_dir, "*.fastq.gz"))
     sample_dict = defaultdict(dict)
@@ -51,8 +56,7 @@ def get_valid_fastq(fastq_dir):
             mate = match.group("mate")
             sample_dict[sample][mate] = fastq
         else:
-            warnings.append(f"[WARNING] File '{basename}' does not match the expected naming pattern. Skipping.")
-
+            warnings.append(f"{red}[WARNING]{nc} File '{basename}' does not match the expected naming pattern. Skipping.")
     # Is paired ?
     valid_fastq = {}
     for sample, mates in sample_dict.items():
@@ -60,27 +64,29 @@ def get_valid_fastq(fastq_dir):
             valid_fastq[sample] = mates
         else:
             missing = "R1" if "1" not in mates else "R2"
-            warnings.append(f"[WARNING] Sample '{sample}' is incomplete (missing {missing}). Skipping.")
+            warnings.append(f"{red}[WARNING]{nc} Sample '{sample}' is incomplete (missing {missing}). Skipping.")
+    warnings.append(f"\n{blue}[INFO]{nc} Total valid samples: {len(valid_fastq)}")
 
-    warnings.append(f"\n[INFO] Total valid samples: {len(valid_fastq)}")
+    return valid_fastq, warnings
 
-    return valid_fastq
-
-# get_bam_input
+###############################################################################
+## GET_BAM_INPUT
 def get_bam_input(wildcards):
-    markdup = "results/02_Mapping/{reference}/{sample}_{mapper}_mark-dup.bam"
+    markdup = "results/02_Mapping/{reference}/{sample}_{mapper}_markdup.bam"
     if "cleapping" in MODULES:
-        markdup = "results/02_Mapping/{reference}/{sample}_{mapper}_mark-dup.primerclipped.bam"
+        markdup = "results/02_Mapping/{reference}/{sample}_{mapper}_markdup_trimmed.bam"
     return markdup
 
-# get_bai_input
+###############################################################################
+## GET_BAI_INPUT
 def get_bai_input(wildcards):
-    index = "results/02_Mapping/{reference}/{sample}_{mapper}_mark-dup.bam.bai"
+    index = "results/02_Mapping/{reference}/{sample}_{mapper}_markdup.bam.bai"
     if "cleapping" in MODULES:
-        index = "results/02_Mapping/{reference}/{sample}_{mapper}_mark-dup.primerclipped.bam.bai"
+        index = "results/02_Mapping/{reference}/{sample}_{mapper}_markdup_trimmed.bam.bai"
     return index
 
-# GET_FINAL_OUTPUTS
+###############################################################################
+## GET_FINAL_OUTPUTS
 def get_final_outputs():
     final_outputs = []
     # quality_controls
@@ -93,11 +99,11 @@ def get_final_outputs():
                                     mate = MATE))
     # reads_trimming
     if MODULES["keeptrim"]:
-        final_outputs.append(expand("results/01_Trimming/sickle/{sample}_cutadapt-sickle-trimmed_R1.fastq.gz",
+        final_outputs.append(expand("results/01_Trimming/sickle/{sample}_cutadapt-sickle-trim_R1.fastq.gz",
                                     sample = SAMPLE))
-        final_outputs.append(expand("results/01_Trimming/sickle/{sample}_cutadapt-sickle-trimmed_R2.fastq.gz",
+        final_outputs.append(expand("results/01_Trimming/sickle/{sample}_cutadapt-sickle-trim_R2.fastq.gz",
                                     sample = SAMPLE))
-        final_outputs.append(expand("results/01_Trimming/sickle/{sample}_cutadapt-sickle-trimmed_SE.fastq.gz",
+        final_outputs.append(expand("results/01_Trimming/sickle/{sample}_cutadapt-sickle-trim_SE.fastq.gz",
                                     sample = SAMPLE))
     # genomes_indexing
     final_outputs.append(expand("resources/indexes/fastq-screen/{qc_ref}",
@@ -105,21 +111,21 @@ def get_final_outputs():
     # reads_mapping
     # primers_clipping
     if MODULES["clipping"]:
-        final_outputs.append(expand("results/02_Mapping/{reference}/{sample}_{mapper}_mark-dup.primerclipped.bam",
+        final_outputs.append(expand("results/02_Mapping/{reference}/{sample}_{mapper}_markdup_trimmed.bam",
                                     reference = REFERENCE,
                                     sample = SAMPLE,
                                     mapper = MAPPER))
-        final_outputs.append(expand("results/02_Mapping/{reference}/{sample}_{mapper}_mark-dup.primerclipped.bam.bai",
+        final_outputs.append(expand("results/02_Mapping/{reference}/{sample}_{mapper}_markdup_trimmed.bam.bai",
                                     reference = REFERENCE,
                                     sample = SAMPLE,
                                     mapper = MAPPER))
     # duplicates_removing
     # coverage_stats
     if MODULES["covstats"]:
-        final_outputs.append(expand("results/03_Coverage/{reference}/{sample}_{mapper}_{min_cov}X_coverage-stats.tsv",
+        final_outputs.append(expand("results/03_Coverage/{reference}/{sample}_{mapper}_{min_depth}X_coverage-stats.tsv",
                                     reference = REFERENCE,
                                     sample = SAMPLE,
-                                    min_cov=MIN_COV,
+                                    min_depth=MIN_DEPTH,
                                     mapper = MAPPER))
         final_outputs.append(expand("results/03_Coverage/{reference}/histogram/{sample}_{mapper}_coverage-histogram.txt",
                                     reference = REFERENCE,
@@ -134,49 +140,319 @@ def get_final_outputs():
     # variants_calling
     # consensus_calling
     if MODULES["consensus"]:
-        final_outputs.append(expand("results/05_Consensus/{reference}/{sample}_{mapper}_{min_cov}X_{caller}_consensus.fasta",
+        final_outputs.append(expand("results/05_Consensus/{reference}/{sample}_{mapper}_{min_depth}X_{caller}_consensus.fasta",
                                     reference = REFERENCE,
                                     sample = SAMPLE,
                                     mapper = MAPPER,
-                                    min_cov=MIN_COV,
+                                    min_depth=MIN_DEPTH,
                                     caller=CALLER))
-        final_outputs.append(expand("results/04_Variants/{reference}/{sample}_{mapper}_{min_cov}X_{caller}_variant-filt.vcf",
+        final_outputs.append(expand("results/04_Variants/{reference}/{sample}_{mapper}_{min_depth}X_{caller}_variant-filt.vcf",
                                     reference = REFERENCE,
                                     sample = SAMPLE,
                                     mapper = MAPPER,
-                                    min_cov = MIN_COV,
+                                    min_depth = MIN_DEPTH,
                                     caller = CALLER))
     # lineages_calling
     if MODULES["lineages"]:
-        final_outputs.append(expand("results/06_Lineages/{reference}/{sample}_{mapper}_{min_cov}X_{caller}_{assigner}-report.tsv",
+        final_outputs.append(expand("results/06_Lineages/{reference}/{sample}_{mapper}_{min_depth}X_{caller}_{assigner}-report.tsv",
                                     reference = REFERENCE,
                                     sample = SAMPLE,
                                     mapper = MAPPER,
-                                    min_cov = MIN_COV,
+                                    min_depth = MIN_DEPTH,
                                     caller = CALLER,
                                     assigner = ASSIGNER))
     # results_merging
-    final_outputs.append(expand("results/All_{reference}_{mapper}_{min_cov}X_{caller}_consensus_sequences.fasta",
+    final_outputs.append(expand("results/All_{reference}_{mapper}_{min_depth}X_{caller}_consensus_sequences.fasta",
                                 reference = REFERENCE,
                                 mapper = MAPPER,
-                                min_cov = MIN_COV,
+                                min_depth = MIN_DEPTH,
                                 caller = CALLER))
-    final_outputs.append(expand("results/All_{reference}_{mapper}_{min_cov}X_genome_coverages.tsv",
+    final_outputs.append(expand("results/All_{reference}_{mapper}_{min_depth}X_genome_coverages.tsv",
                                 reference = REFERENCE,
                                 mapper = MAPPER,
-                                min_cov = MIN_COV))
-    final_outputs.append(expand("results/All_{reference}_{mapper}_{min_cov}X_{caller}_{assigner}-lineages.tsv",
+                                min_depth = MIN_DEPTH))
+    final_outputs.append(expand("results/All_{reference}_{mapper}_{min_depth}X_{caller}_{assigner}-lineages.tsv",
                                 reference = REFERENCE,
                                 mapper = MAPPER,
-                                min_cov = MIN_COV,
+                                min_depth = MIN_DEPTH,
                                 caller = CALLER,
                                 assigner = ASSIGNER))
-    # logs
-    #final_outputs.append("results/10_Reports/setup.log")
-    final_outputs.append("results/10_Reports/settings.log")
-    final_outputs.append("results/10_Reports/config.log")
-    final_outputs.append("results/10_Reports/envs/")
     # return final_outpus
     return final_outputs
 
 ###############################################################################
+# GET_SETTINGS
+def get_settings(config, start_time):
+    # Get working directory
+    workdir = os.getcwd()
+
+    # Get GeVarLi version
+    version_file = os.path.join(workdir, "VERSION.txt")
+    try:
+        with open(version_file, "r") as vf:
+            version = vf.read().strip()
+    except Exception:
+        version = "N/A"
+
+    # Get 
+    shell = os.environ.get("SHELL", "N/A")
+
+    # Get system information
+    system_platform = platform.system().lower()
+    if "darwin" in system_platform:
+        os_type = "osx"
+    elif "linux" in system_platform:
+        os_type = "linux"
+    elif "bsd" in system_platform:
+        os_type = "bsd"
+    elif "sunos" in system_platform:
+        os_type = "solaris"
+    elif "windows" in system_platform:
+        os_type = "windows"
+    else:
+        os_type = "unknown (" + system_platform + ")"
+
+    # Get hardware information
+    if os_type == "osx":
+        try:
+            model_name = subprocess.check_output(["sysctl", "-n", "machdep.cpu.brand_string"]).decode().strip()
+            physical_cpu = subprocess.check_output(["sysctl", "-n", "hw.physicalcpu"]).decode().strip()
+            logical_cpu = subprocess.check_output(["sysctl", "-n", "hw.logicalcpu"]).decode().strip()
+            mem_size = subprocess.check_output(["sysctl", "-n", "hw.memsize"]).decode().strip()  # en octets
+            ram_gb = int(mem_size) // (1024 ** 3)
+        except Exception:
+            model_name = physical_cpu = logical_cpu = ram_gb = "N/A"
+    elif os_type in ["linux", "bsd", "solaris"]:
+        try:
+            lscpu_out = subprocess.check_output(["lscpu"]).decode()
+            model_name = ""
+            physical_cpu = ""
+            threads_cpu = ""
+            for line in lscpu_out.splitlines():
+                if "Model name:" in line:
+                    model_name = line.split(":", 1)[1].strip()
+                if line.startswith("CPU(s):"):
+                    physical_cpu = line.split(":", 1)[1].strip()
+                if "Thread(s) per core:" in line:
+                    threads_cpu = line.split(":", 1)[1].strip()
+            if physical_cpu and threads_cpu:
+                logical_cpu = int(physical_cpu) * int(threads_cpu)
+            else:
+                logical_cpu = "N/A"
+        except Exception:
+            model_name = physical_cpu = logical_cpu = "N/A"
+        try:
+            with open("/proc/meminfo", "r") as meminfo:
+                for line in meminfo:
+                    if line.startswith("MemTotal:"):
+                        mem_kb = int(re.findall(r'\d+', line)[0])
+                        ram_gb = mem_kb // (1024 ** 2)
+                        break
+        except Exception:
+            ram_gb = "N/A"
+    else:
+        print(f"\nPlease, use a UNIX-like operating system (linux, osx, WSL).")
+        sys.exit(0)
+
+    # Get network status
+    def is_online():
+        for host in ["google.com", "cloudflare.com"]:
+            try:
+                subprocess.check_call(
+                    ["ping", "-c", "1", "-W", "5", host],
+                    stdout=subprocess.DEVNULL,
+                    stderr=subprocess.DEVNULL,
+                )
+                return True
+            except subprocess.CalledProcessError:
+                continue
+        return False
+
+    network = "Online" if is_online() else "Offline"
+
+    # Get Conda / Snakemake version
+    def get_version(cmd, fallback="N/A"):
+        try:
+            return subprocess.check_output(cmd).decode().strip()
+        except Exception:
+            return fallback
+
+    conda_version = get_version(["conda", "--version"])
+    mamba_version = get_version(["mamba", "--version"]).splitlines()[0]
+    snakemake_version = get_version(["snakemake", "--version"])
+
+    # Get resources
+    resources = config.get("resources", {})
+    max_threads = resources.get("cpus", "N/A")
+    max_memory = resources.get("ram", "N/A")
+    tmp_dir = resources.get("tmp_dir", "N/A")
+
+    # Get modules
+    modules = config.get("modules", {})
+    qualities = modules.get("qualities", "N/A")
+    keeptrim = modules.get("keeptrim", "N/A")
+    clipping = modules.get("clipping", "N/A")
+    covstats = modules.get("covstats", "N/A")
+    consensus = modules.get("consensus", "N/A")
+    lineages = modules.get("lineages", "N/A")
+    gisaid = modules.get("gisaid", "N/A")
+
+    # Get tools
+
+    tools = config.get("tools", {})
+    mapper = tools.get("mapper", "N/A")
+    caller = tools.get("caller", "N/A")
+    assigner = tools.get("assigner", "N/A")
+
+    # Get consensus parameters
+    reference = config.get("consensus", {}).get("reference", "N/A")
+
+    ivar_consensus = config.get("ivar", {}).get("consensus", {})
+    min_depth = ivar_consensus.get("min_depth", "N/A")
+    max_depth = ivar_consensus.get("max_depth", "N/A")
+    min_freq = ivar_consensus.get("min_freq", "N/A")
+    min_insert = ivar_consensus.get("min_insert", "N/A")
+  
+    # Get other parameters
+    nextclade_dataset = config.get("nextclade", {}).get("dataset", "N/A")
+    fastqscreen_subset = config.get("fastq_screen", {}).get("subset", "N/A")
+    cutadapt_clipping = config.get("cutadapt", {}).get("clipping", "N/A")
+
+    # Get time stamp
+    time_stamp_start = time.strftime("%Y-%m-%d %H:%M", time.localtime(start_time))
+
+    # Définir les listes de samples et warnings formatées
+    samples_list = "\n".join(SAMPLE) if SAMPLE else "No samples"
+    warnings_list = "\n".join(SAMPLE_WARNINGS) if SAMPLE_WARNINGS else "No warnings"
+
+    # Create message
+    message_settings = f"""
+    {blue}------------------------------------------------------------------------{nc}
+    {blue}#####{nc} {red}About{nc} {blue}#####{nc}
+    {blue}-----------------{nc}
+
+    {green}Name{nc} _________________________ GeVarLi
+    {green}Version{nc} ______________________ {ylo}{version}{nc}
+    {green}Author{nc} _______________________ Nicolas Fernandez
+    {green}Affiliation{nc} __________________ IRD_U233_TransVIHMI
+    {green}Aim{nc} __________________________ {red}Ge{nc}nome assembling, {red}Var{nc}iant calling and {red}Li{nc}neage assignation
+    {green}Date{nc} _________________________ 2021.10.12
+    {green}Latest modifications{nc} _________ 2025.03.26
+    {green}Use{nc} __________________________ '{ylo}snakemake --use-conda{nc}'
+
+
+    {blue}------------------------------------------------------------------------{nc}
+    {blue}#####{nc} {red}Operating System{nc} {blue}#####{nc}
+    {blue}----------------------------{nc}
+
+    {green}Operating system{nc} _____________ {red}{os_type}{nc}
+    {green}Shell{nc} ________________________ '{ylo}{shell}{nc}'
+
+
+    {blue}------------------------------------------------------------------------{nc}
+    {blue}#####{nc} {red}Hardware{nc} {blue}#####{nc}
+    {blue}--------------------{nc}
+
+                                        {ylo}Brand(R){nc} | {ylo}Type(R){nc} | {ylo}Model{nc} | {ylo}@ Speed GHz{nc}
+    {green}Chip Model Name{nc} ______________ {model_name}
+    {green}Physical CPUs{nc} ________________ {red}{physical_cpu}{nc}
+    {green}Logical CPUs{nc} _________________ {red}{logical_cpu}{nc} threads
+    {green}System Memory{nc} ________________ {red}{ram_gb}{nc} Gb of RAM
+
+
+    {blue}------------------------------------------------------------------------{nc}
+    {blue}#####{nc} {red}Configuration{nc} {blue}#####{nc}
+    {blue}-------------------------{nc}
+
+    {green}Starting time{nc} ________________ {time_stamp_start}
+
+    {green}Conda version{nc} ________________ {ylo}{conda_version}{nc}
+    {green}Mamba version{nc} ________________ {ylo}{mamba_version}{nc}
+    {green}Snakemake version{nc} ____________ {ylo}{snakemake_version}{nc}
+
+    {green}Max threads{nc} __________________ {red}{max_threads}{nc} of {ylo}{logical_cpu}{nc} threads available
+    {green}Max memory{nc} ___________________ {red}{max_memory}{nc} Gb of {ylo}{ram_gb}{nc} Gb available
+    {green}Temp directory{nc} _______________ '{ylo}{tmp_dir}{nc}'
+
+    {green}Network{nc} ______________________ {red}{network}{nc}
+
+    {green}Working directory{nc} ____________ '{ylo}{workdir}{nc}'
+    {green}Fastq directory{nc} ______________ '{ylo}{FASTQ_DIR}{nc}'
+
+    {green}  > Warnings:{nc}
+
+{warnings_list}
+
+    {green}  > Samples list:{nc}
+
+{samples_list}
+
+    {blue}Modules:{nc}
+    {green}  > Quality Control{nc} ___________ {ylo}{qualities}{nc}
+    {green}  > Keep Trim{nc} _________________ {ylo}{keeptrim}{nc}
+    {green}  > Soft Clipping{nc} _____________ {ylo}{clipping}{nc}
+    {green}  > Cov Stats{nc} _________________ {ylo}{covstats}{nc}
+    {green}  > Consensus{nc} _________________ {ylo}{consensus}{nc}
+    {green}  > Lineages{nc} __________________ {ylo}{lineages}{nc}
+    {green}  > Gisaid{nc} ____________________ {ylo}{gisaid}{nc}
+
+    {blue}Tools:{nc}
+    {green}  > Mapper{nc} ____________________ {ylo}{mapper}{nc}
+    {green}  > Caller{nc} ____________________ {ylo}{caller}{nc}
+    {green}  > Assigner{nc} __________________ {ylo}{assigner}{nc}
+
+    {blue}Params:{nc}
+    {green}  > Reference genome{nc} __________ {ylo}{reference}{nc}
+    {green}  > Min depth{nc} _________________ {red}{min_depth}{nc}x
+    {green}  > Max depth{nc} _________________ {red}{max_depth}{nc}x
+    {green}  > Min allele frequency{nc} ______ {red}{min_freq}{nc}
+    {green}  > Min insertion frequency{nc} ___ {red}{min_insert}{nc}
+
+    {green}  > Nextclade dataset{nc} _________ {ylo}{nextclade_dataset}{nc}
+    {green}  > Fastq-Screen subset{nc} _______ {red}{fastqscreen_subset}{nc} reads/sample
+    {green}  > Hard clipping{nc} _____________ {red}{cutadapt_clipping}{nc}nt (with cutadapt)
+    """
+
+    # Clean message
+    ansi_escape = re.compile(r'\x1B\[[0-9;]*[mK]')
+    message_clean = ansi_escape.sub('', message_settings)
+
+    # Create log file
+    results_dir = os.path.join(workdir, "results", "10_Reports")
+    os.makedirs(results_dir, exist_ok=True)
+
+    # Write log file
+    log_file = os.path.join(results_dir, "settings.log")
+    with open(log_file, "w") as logf:
+        logf.write(message_clean)
+
+    # Print message
+    print(message_settings)
+
+###############################################################################
+# GET_TIME
+def get_time(start_time):
+        time_stamp_start = time.strftime("%Y-%m-%d %H:%M", time.localtime(start_time))
+        time_stamp_end = time.strftime("%Y-%m-%d %H:%M", time.localtime())
+        elapsed_time = int(time.time() - start_time)
+        hours = elapsed_time // 3600
+        minutes = (elapsed_time % 3600) // 60
+        seconds = elapsed_time % 60
+        formatted_time = f"{hours:02d}:{minutes:02d}:{seconds:02d}"
+        green = "\033[32m"
+        ylo = "\033[33m"
+        nc = "\033[0m"
+        message_time = f"""
+{green}Start time{nc} _____________ {time_stamp_start}
+{green}End time{nc} _______________ {time_stamp_end}
+    {green}Processing time{nc} ________ {ylo}{formatted_time}{nc}
+    {green}  > Hard clipping{nc} _____________ {red}{cutadapt_clipping} nt{nc} (with cutadapt)   
+"""
+        print(message_time)
+        ansi_escape = re.compile(r'\x1B\[[0-?]*[ -/]*[@-~]')
+        message_clean = ansi_escape.sub('', message_time)
+        with open("results/10_Reports/time.log", "w") as f:
+            f.write(message_clean)
+
+###############################################################################
+###############################################################################
\ No newline at end of file
diff --git a/workflow/scripts/settings.py b/workflow/scripts/settings.py
deleted file mode 100644
index 5d9a94b..0000000
--- a/workflow/scripts/settings.py
+++ /dev/null
@@ -1,214 +0,0 @@
-#!/usr/bin/env python3
-
-import os
-import sys
-import subprocess
-import platform
-import re
-import glob
-import time
-import yaml
-
-# Get working directory
-workdir = os.path.abspath(os.path.join(os.path.dirname(__file__), "../../"))
-
-# Get version
-version_file = os.path.join(workdir, "VERSION.txt")
-try:
-    with open(version_file, "r") as vf:
-        version = vf.read().strip()
-except Exception:
-    version = "N/A"
-
-# Define colors
-blue = "\033[1;34m"
-green = "\033[1;32m"
-red = "\033[1;31m"
-ylo = "\033[1;33m"
-nc = "\033[0m"
-
-# Get system information
-system_platform = platform.system().lower()
-if "darwin" in system_platform:
-    os_type = "osx"
-elif "linux" in system_platform:
-    os_type = "linux"
-elif "bsd" in system_platform:
-    os_type = "bsd"
-elif "sunos" in system_platform:
-    os_type = "solaris"
-elif "windows" in system_platform:
-    os_type = "windows"
-else:
-    os_type = "unknown (" + system_platform + ")"
-
-# Get hardware information
-if os_type == "osx":
-    try:
-        model_name = subprocess.check_output(["sysctl", "-n", "machdep.cpu.brand_string"]).decode().strip()
-        physical_cpu = subprocess.check_output(["sysctl", "-n", "hw.physicalcpu"]).decode().strip()
-        logical_cpu = subprocess.check_output(["sysctl", "-n", "hw.logicalcpu"]).decode().strip()
-        mem_size = subprocess.check_output(["sysctl", "-n", "hw.memsize"]).decode().strip()  # en octets
-        ram_gb = int(mem_size) // (1024 ** 3)
-    except Exception:
-        model_name = physical_cpu = logical_cpu = ram_gb = "N/A"
-elif os_type in ["linux", "bsd", "solaris"]:
-    try:
-        lscpu_out = subprocess.check_output(["lscpu"]).decode()
-        model_name = ""
-        physical_cpu = ""
-        threads_cpu = ""
-        for line in lscpu_out.splitlines():
-            if "Model name:" in line:
-                model_name = line.split(":", 1)[1].strip()
-            if line.startswith("CPU(s):"):
-                physical_cpu = line.split(":", 1)[1].strip()
-            if "Thread(s) per core:" in line:
-                threads_cpu = line.split(":", 1)[1].strip()
-        if physical_cpu and threads_cpu:
-            logical_cpu = int(physical_cpu) * int(threads_cpu)
-        else:
-            logical_cpu = "N/A"
-    except Exception:
-        model_name = physical_cpu = logical_cpu = "N/A"
-    try:
-        with open("/proc/meminfo", "r") as meminfo:
-            for line in meminfo:
-                if line.startswith("MemTotal:"):
-                    mem_kb = int(re.findall(r'\d+', line)[0])
-                    ram_gb = mem_kb // (1024 ** 2)
-                    break
-    except Exception:
-        ram_gb = "N/A"
-else:
-    print(f"\nPlease, use a UNIX-like operating system (linux, osx, WSL).")
-    sys.exit(0)
-
-# Get network status
-def is_online():
-    for host in ["google.com", "cloudflare.com"]:
-        try:
-            subprocess.check_call(
-                ["ping", "-c", "1", "-W", "5", host],
-                stdout=subprocess.DEVNULL,
-                stderr=subprocess.DEVNULL,
-            )
-            return True
-        except subprocess.CalledProcessError:
-            continue
-    return False
-
-network = "Online" if is_online() else "Offline"
-
-# Get version
-def get_version(cmd, fallback="N/A"):
-    try:
-        return subprocess.check_output(cmd).decode().strip()
-    except Exception:
-        return fallback
-
-conda_version = get_version(["conda", "--version"])
-mamba_version = get_version(["mamba", "--version"]).splitlines()[0]
-snakemake_version = get_version(["snakemake", "--version"])
-
-# Get configuration
-config_file = os.path.join(workdir, "config", "config.yaml")
-with open(config_file, "r") as cf:
-    config_data = yaml.safe_load(cf)
-
-# Get fastq directory
-fastq_dir = config_data.get("fastq_dir", "")
-fastq_files = len(glob.glob(os.path.join(fastq_dir, "*.fastq.gz")))
-fastq_R1 = len(glob.glob(os.path.join(fastq_dir, "*R1*.fastq.gz")))
-fastq_R2 = len(glob.glob(os.path.join(fastq_dir, "*R2*.fastq.gz")))
-
-# Get resources
-resources = config_data.get("resources", {})
-max_threads = resources.get("cpus", "N/A")
-max_memory = resources.get("ram", "N/A")
-
-# Get modules
-modules = config_data.get("modules", {})
-qualities = modules.get("qualities", "N/A")
-keeptrim = modules.get("keeptrim", "N/A")
-cleapping = modules.get("cleapping", "N/A")
-covstats = modules.get("covstats", "N/A")
-consensus = modules.get("consensus", "N/A")
-lineages = modules.get("lineages", "N/A")
-gisaid = modules.get("gisaid", "N/A")
-
-# Get consensus parameters
-consensus_params = config_data.get("consensus", {})
-reference_conf = consensus_params.get("reference", "N/A")
-mapper = consensus_params.get("mapper", "N/A")
-min_cov = consensus_params.get("min_cov", "N/A")
-min_freq = consensus_params.get("min_freq", "N/A")
-assigner = consensus_params.get("assigner", "N/A")
-
-# Get other parameters
-nextclade_dataset = config_data.get("nextclade", {}).get("dataset", "N/A")
-fastqscreen_subset = config_data.get("fastq_screen", {}).get("subset", "N/A")
-cutadapt_clipping = config_data.get("cutadapt", {}).get("clipping", "N/A")
-
-# Get time stamp
-time_stamp_start = time.strftime("%Y-%m-%d %H:%M", time.localtime())
-
-# Create message
-message_settings = f"""{blue}------------------------------------------------------------------------{nc}
-{blue}#####{nc} {red}Configuration{nc} {blue}#####{nc}
-{blue}-------------------------{nc}
-
-{green}Starting time{nc} ______________ {time_stamp_start}
-
-{green}Conda version{nc} ______________ {ylo}{conda_version}{nc}
-{green}Mamba version{nc} ______________ {ylo}{mamba_version}{nc}
-{green}Snakemake version{nc} __________ {ylo}{snakemake_version}{nc}
-
-{green}Max threads{nc} ________________ {red}{max_threads}{nc} of {ylo}{logical_cpu}{nc} threads available
-{green}Max memory{nc} _________________ {red}{max_memory}{nc} of {ylo}{ram_gb}{nc} Gb available
-{green}Jobs memory{nc} ________________ {red}N/A{nc} Gb per job
-
-{green}Network{nc} ____________________ {red}{network}{nc}
-
-{green}Working directory{nc} _________ '{ylo}{workdir}{nc}'
-
-{green}Fastq directory{nc} ___________ '{ylo}{fastq_dir}{nc}'
-{green}  > Fastq processed{nc} ________ {red}{fastq_files}{nc} fastq files
-{green}  > Forward reads{nc} __________ {red}{fastq_R1}{nc} R1
-{green}  > Reverse reads{nc} __________ {red}{fastq_R2}{nc} R2
-
-{blue}Modules:{nc}
-{green}  > Quality Control{nc} ________ {red}{qualities}{nc}
-{green}  > Keep Trim{nc} ______________ {red}{keeptrim}{nc}
-{green}  > Soft Clipping{nc} __________ {red}{cleapping}{nc}
-{green}  > Cov Stats{nc} ______________ {red}{covstats}{nc}
-{green}  > Consensus{nc} ______________ {red}{consensus}{nc}
-{green}  > Lineages{nc} _______________ {red}{lineages}{nc}
-{green}  > Gisaid{nc} _________________ {red}{gisaid}{nc}
-
-{blue}Params:{nc}
-{green}  > Reference genome{nc} _______ {ylo}{reference_conf}{nc}
-{green}  > Mapper{nc} ________________ {ylo}{mapper}{nc}
-{green}  > Min coverage{nc} ___________ {red}{min_cov}{nc} X
-{green}  > Min allele frequency{nc} ___ {red}{min_freq}{nc}
-{green}  > Assigner{nc} ______________ {red}{assigner}{nc}
-{green}    - Nextclade dataset{nc} _____ {red}{nextclade_dataset}{nc}
-{green}  > Fastq-Screen subset{nc} ____ {red}{fastqscreen_subset}{nc}
-{green}  > Cutadapt clipping{nc} ______ {red}{cutadapt_clipping} nt{nc}
-"""
-
-# Print message
-print(message_settings)
-
-# Clean message
-ansi_escape = re.compile(r'\x1B\[[0-9;]*[mK]')
-message_clean = ansi_escape.sub('', message_settings)
-
-# Create log file
-results_dir = os.path.join(workdir, "results", "10_Reports")
-os.makedirs(results_dir, exist_ok=True)
-
-# Write log file
-log_file = os.path.join(results_dir, "settings.log")
-with open(log_file, "w") as logf:
-    logf.write(message_clean)
\ No newline at end of file
diff --git a/workflow/scripts/settings.sh b/workflow/scripts/settings.sh
deleted file mode 100644
index 55863c8..0000000
--- a/workflow/scripts/settings.sh
+++ /dev/null
@@ -1,196 +0,0 @@
-#!/bin/bash
-
-###I###R###D######U###2###3###3#######T###R###A###N###S###V###I###H###M###I####
-###                                                                         ###
-###    /\  ______      ___ ____ _  _ __   ____ __   ____     ______  /\     ###
-###    ||  \ \ \ \    / __( ___( \/ )__\ (  _ (  ) (_  _)   / / / /  ||     ###
-###    ||   > > > >  ( (_-.)__) \  /(__)\ )   /)(__ _)(_   < < < <   ||     ###
-###    ||  /_/_/_/    \___(____) \(__)(__(_)\_(____(____)   \_\_\_\  ||     ###
-###    \/                                                            \/     ###
-###                                                                         ###
-###I###R###D######U###2###3###3#######T###R###A###N###S###V###I###H###M###I####
-# Name ___________________ Run_GeVarLi.sh
-# Version ________________ v.2025.03
-# Author _________________ Nicolas Fernandez
-# Affiliation ____________ IRD_U233_TransVIHMI
-# Aim ____________________ Bash script running GeVarLi snakefile
-# Date ___________________ 2021.10.12
-# Latest modifications ___ 2025.03.12
-# Use ____________________ '. Run_GeVarLi.sh'
-###############################################################################
-
-###############################################################################
-### ABOUT ###
-#############
-
-workdir=$(cd "$(dirname "${BASH_SOURCE[0]}" )"/../../ && pwd) # Get working directory
-version=$(<${workdir}/VERSION.txt)                # Get version
-
-blue="\033[1;34m"  # blue
-green="\033[1;32m" # green
-red="\033[1;31m"   # red
-ylo="\033[1;33m"   # yellow
-nc="\033[0m"       # no color
-
-###############################################################################
-### OPERATING SYSTEM ###
-########################
-
-shell=$SHELL # Get shell
-
-# Get operating system 
-case "$OSTYPE" in
-  darwin*)  os="osx" ;;
-  linux*)   os="linux" ;;
-  bsd*)     os="bsd" ;;                       
-  solaris*) os="solaris" ;;
-  msys*)    os="windows" ;;
-  cygwin*)  os="windows" ;;
-  *)        os="unknown (${OSTYPE})" ;;
-esac
-
-###############################################################################
-### HARDWARE ###
-################
-
-if [[ ${os} == "osx" ]]
-then
-    model_name=$(sysctl -n machdep.cpu.brand_string) # Get chip model name
-    physical_cpu=$(sysctl -n hw.physicalcpu)         # Get physical cpu
-    logical_cpu=$(sysctl -n hw.logicalcpu)           # Get logical cpu
-    mem_size=$(sysctl -n hw.memsize)                 # Get memory size (bit)
-    ram_gb=$(expr ${mem_size} \/ $((1024**3)))       # mem_size / 1024**3 = Gb
-elif [[ ${os} == "linux" || ${os} == "bsd" || ${os} == "solaris" ]]
-then
-    model_name=$(lscpu | grep -o -E "Model name: +.+" | sed -E "s/Model name: +//")                           # Get chip model name
-    physical_cpu=$(lscpu | grep -o -E "^CPU\(s\): +[0-9]+" | sed -E "s/CPU\(s\): +//")                        # Get physical cpu
-    threads_cpu=$(lscpu | grep -o -E "^Thread\(s\) per core: +[0-9]+" | sed -E "s/Thread\(s\) per core: +//") # Get thread(s) per core
-    logical_cpu=$(expr ${physical_cpu} \* ${threads_cpu})                                                     # Calcul logical cpu
-    mem_size=$(grep -o -E "MemTotal: +[0-9]+" /proc/meminfo | sed -E "s/MemTotal: +//")                       # Get memory size (Kb)
-    ram_gb=$(expr ${mem_size} \/ $((1024**2)))                                                                # mem_size / 1024**2 = Gb
-else
-    echo -e "\n Please, use an '${ylo}UNIX${nc}' operating system, like:
-        > '${green}linux${nc}'
-        > '${green}osx${nc}'
-        > '${green}WSL${nc}' \n"
-    return 0
-fi
-
-###############################################################################
-### NETWORK ###
-###############
-
-if ping -c 1 -W 5 google.com > /dev/null 2>&1 || \
-   ping -c 1 -W 5 cloudflare.com > /dev/null 2>&1
-then
-    network="Online"
-else
-    network="Offline"
-fi
-
-###############################################################################
-### CONDA ###
-#############
-
-message_conda="
-$(conda --version)
-Path: $(which conda)
-$(conda config --show channels)
-"
-
-###############################################################################
-### CONFIGURATION ###
-#####################
-
-conda_version=$(conda --version | sed 's/conda //')             # Conda version
-mamba_version=$(mamba --version | head -n 1 | sed 's/mamba //') # Mamba version
-snakemake_version=$(snakemake --version)                        # Snakemake version
-
-fastq_dir=$(yq -Mr '.fastq_dir' ${config_file}) # Get path to fastq files directory
-fastq_files=$(/bin/ls -l ${fastq_dir}/*.fastq.gz 2> /dev/null | wc -l | sed 's/       //') # Get fastq.gz files count
-fastq_R1=$(/bin/ls -l ${fastq_dir}/*R1*.fastq.gz 2> /dev/null | wc -l | sed 's/       //') # Get R1 fastq files count
-fastq_R2=$(/bin/ls -l ${fastq_dir}/*R2*.fastq.gz 2> /dev/null | wc -l | sed 's/       //') # Get R2 fastq files count
-
-max_threads=$(yq -Mr '.resources.cpus' ${config_file}) # Get user config: max threads
-max_memory=$(yq -Mr '.resources.ram' ${config_file})   # Get user config: max memory (Gb)
-
-qualities=$(yq -Mr '.modules.qualities' ${config_file}) # Reads QC
-keeptrim=$(yq -Mr '.modules.keeptrim' ${config_file})   # Keep trimmed reads
-cleapping=$(yq -Mr '.modules.cleapping' ${config_file}) # Reads cleapping
-covstats=$(yq -Mr '.modules.covstats' ${config_file})   # Mapping coverage stats
-consensus=$(yq -Mr '.modules.consensus' ${config_file}) # Consensus
-lineages=$(yq -Mr '.modules.lineages' ${config_file})   # Lineages assignation
-gisaid=$(yq -Mr '.modules.gisaid' ${config_file})       # Gisaid submission file
-
-# Get user config: genome reference
-reference=$(yq -Mc '.consensus.reference' ${config_file} | sed 's/\[\"//' | sed 's/\"\]//' | sed 's/\"\,\"/ ; /g')
-# Get user config: mapper
-mapper=$(yq -Mc '.consensus.mapper' ${config_file} | sed 's/\[\"//' | sed 's/\"\]//' | sed 's/\"\,\"/ ; /g')
-# Get user config: minimum coverage
-min_cov=$(yq  -Mc '.consensus.min_cov' ${config_file} | sed 's/\[\"//' | sed 's/\"\]//' | sed 's/\"\,\"/ ; /g')
-# Get user config: minimum allele frequency
-min_freq=$(yq -Mr '.consensus.min_freq' ${config_file})
-# Get user config: assigner tool 
-assigner=$(yq  -Mc '.consensus.assigner' ${config_file} | sed 's/\[\"//' | sed 's/\"\]//' | sed 's/\"\,\"/ ; /g')
-# Get user config: hard clipping option
-hard_clipping=$(yq -Mr '.cutadapt.clipping' ${config_file})
-# Get user config: dataset for nextclade
-nextclade_dataset=$(yq -Mc '.nextclade.dataset' ${config_file} | sed 's/\[\"//' | sed 's/\"\]//')
-# Get user config: fastq_screen subsetption
-fastqscreen_subset=$(yq -Mr '.fastq_screen.subset' ${config_file})
-# Get user config: cutadapt clipping
-cutadapt_clipping=$(yq -Mr '.cutadapt.clipping' ${config_file})
-
-
-message_settings="""
-${blue}------------------------------------------------------------------------${nc}
-${blue}#####${nc} ${red}Configuration${nc} ${blue}#####${nc}
-${blue}-------------------------${nc}
-
-${green}Starting time${nc} ______________ ${time_stamp_start}
-
-${green}Conda version${nc} ______________ ${ylo}${conda_version}${nc}
-${green}Mamba version${nc} ______________ ${ylo}${mamba_version}${nc}  
-${green}Snakemake version${nc} __________ ${ylo}${snakemake_version}${nc}
-
-${green}Max threads${nc} ________________ ${red}${max_threads}${nc} of ${ylo}${logical_cpu}${nc} threads available
-${green}Max memory${nc} _________________ ${red}${max_memory}${nc} of ${ylo}${ram_gb}${nc} Gb available
-${green}Jobs memory${nc} ________________ ${red}${memory_per_job}${nc} Gb per job
-
-${green}Network${nc} ____________________ ${red}${network}${nc}
-
-${green}Working directory${nc} _________ '${ylo}${workdir}/${nc}'
-
-${green}Fastq directory${nc} ___________ '${ylo}${fastq_dir}${nc}'
-${green}  > Fastq processed${nc} ________ ${red}${fastq_files}${nc} fastq files
-${green}  > Forward reads${nc} __________ ${red}${fastq_R1}${nc} R1
-${green}  > Reverse reads${nc} __________ ${red}${fastq_R2}${nc} R2
-
-${blue}Modules:${nc}
-${green}  > Quality Control${nc} ________ ${red}${qualities}${nc}
-${green}  > Keep Trim${nc} ______________ ${red}${keeptrim}${nc}
-${green}  > Soft Clipping${nc} __________ ${red}${cleapping}${nc}
-${green}  > Cov Stats${nc} ______________ ${red}${covstats}${nc}
-${green}  > Consensus${nc} ______________ ${red}${consensus}${nc}
-${green}  > Lineages${nc} _______________ ${red}${lineages}${nc}
-${green}  > Gisaid${nc} _________________ ${red}${gisaid}${nc}
-
-${blue}Params:${nc}
-${green}  > Reference genome${nc} _______ ${ylo}${reference}${nc}
-${green}  > Mapper${nc} ________________ ${ylo}${mapper}${nc}
-${green}  > Min coverage${nc} ___________ ${red}${min_cov}${nc} X
-${green}  > Min allele frequency${nc} ___ ${red}${min_freq}${nc}
-${green}  > Assigner${nc} _ ${red}${assigner}${nc} 
-${green}   - Nextclade dataset${nc} _____ ${red}${nextclade_dataset}${nc}
-${green}  > Fastq-Screen subset${nc} ____ ${red}${fastqscreen_subset}${nc}
-${green}  > Cutadapt clipping${nc} ______ ${red}${cutadapt_clipping} nt${nc}
-"""
-
-# Print settings message 
-echo -e "${message}"
-
-# Log settings message
-mkdir -p ${workdir}/results/10_Reports/ 2> /dev/null
-echo -e "${message}" \
-    | sed "s/\x1B\[[0-9;]*[mK]//g" \
-    > ${workdir}/results/10_Reports/settings.log
\ No newline at end of file
-- 
GitLab