---
#' Annotations related parameters.
annotations:
  #' Number of candidates to keep per feature.
  candidates:
    #' Number of final candidates. INTEGER
    final: 3

  #' Erase MS2 results and keep MS1 only. BOOLEAN
  ms1only: no

  #' Perform approximative matching without precursor matching? BOOLEAN
  ms2approx: no

  #' Thresholds related parameters.
  thresholds:
    #' Minimal consistency score (chemical) to consider a class. FLOAT
    consistency: 0.0

    #' MS1 annotation related parameters.
    ms1:
      #' Minimal biological score to keep MS1 only annotation. FLOAT
      biological: 0.0

      #' Minimal chemical score to keep MS1 only annotation. FLOAT
      chemical: 0.0

      #' Condition to be used to retain candidates.
      #' Must be "OR" or "AND".
      #' Example: Minimum 0.3 biological AND 0.3 chemical. STRING
      condition: OR

    #' MS2 annotation related parameters.
    ms2:
      #' For similarity.
      similarity:
        #' For annotation. FLOAT
        annotation: 0.0

        #' For edges. FLOAT
        edges: 0.7

#' Files.
files:
  #' Pattern to identify the files. STRING
  pattern: example

  #' Annotations files.
  annotations:
    #' Raw annotations files.
    raw:
      #' List of spectral matching annotations.
      spectral:
        #' GNPS spectral matching annotations. STRING
        gnps: data/interim/annotations/example_gnps.tsv

        #' Spectral spectral matching annotations. STRING
        spectral: data/interim/annotations/example_spectralMatches.tsv.gz

      #' Directory containing the sirius annotations. STRING
      sirius: data/interim/annotations/example_sirius

    #' List of filtered annotations. STRING
    filtered: data/interim/annotations/example_annotationsFiltered.tsv.gz

    #' List of prepared annotations.
    prepared:
      #' List of prepared canopus annotations. STRING
      canopus: data/interim/annotations/example_canopusPrepared.tsv.gz

      #' List of prepared formula annotations. STRING
      formula: data/interim/annotations/example_formulaPrepared.tsv.gz

      #' List of prepared structural annotations.
      structural:
        #' Prepared GNPS structural annotations. STRING
        gnps: data/interim/annotations/example_gnpsPrepared.tsv.gz

        #' Prepared MS1 structural annotations. STRING
        ms1: data/interim/annotations/example_ms1Prepared.tsv.gz

        #' Prepared SIRIUS structural annotations. STRING
        sirius: data/interim/annotations/example_siriusPrepared.tsv.gz

        #' Prepared SPECTRAL structural annotations. STRING
        spectral: data/interim/annotations/example_spectralMatchesPrepared.tsv.gz

    #' Final results file. STRING
    processed: example_results.tsv

  #' Features files.
  features:
    #' Raw features file. STRING
    raw: data/source/example_features.csv

    #' Prepared features file. STRING
    prepared: data/interim/features/example_features.tsv.gz

  #' Libraries files.
  libraries:
    #' Structure organism pairs libraries.
    sop:
      #' Raw structure organism pairs libraries.
      raw:
        #' Closed structure organism pairs library. STRING
        closed: ../lotus-processor/data/processed/230106_closed_metadata.csv.gz

        #' ECMDB structure organism pairs library. STRING
        ecmdb: data/source/libraries/sop/ecmdb.json.zip

        #' HMDB structure organism pairs library. STRING
        hmdb: data/source/libraries/sop/hmdb/structures.zip

        #' Lotus raw structure organism pairs library. STRING
        lotus: data/source/libraries/sop/lotus.csv.gz

      #' List of prepared structure organism pairs libraries.
      prepared:
        #' Closed prepared structure organism pairs library. STRING
        closed: data/interim/libraries/sop/closed_prepared.tsv.gz

        #' ECMDB prepared structure organism pairs library. STRING
        ecmdb: data/interim/libraries/sop/ecmdb_prepared.tsv.gz

        #' HMDB prepared structure organism pairs library. STRING
        hmdb: data/interim/libraries/sop/hmdb_prepared.tsv.gz

        #' Lotus prepared structure organism pairs library. STRING
        lotus: data/interim/libraries/sop/lotus_prepared.tsv.gz

        #' RT prepared structure organism pairs library. STRING
        rt: data/interim/libraries/sop/rt_prepared.tsv.gz

        #' Spectral prepared structure organism pairs library. STRING
        spectral: data/interim/libraries/sop/spectral_prepared.tsv.gz

      #' Merged structure organism pairs library.
      merged:
        #' Merged structure organism pairs library keys. STRING
        keys: data/interim/libraries/sop/merged/keys.tsv.gz

        #' Organisms libraries.
        organisms:
          #' Organisms names. STRING
          names: data/interim/libraries/sop/merged/organisms/names.tsv.gz

          #' Organisms taxonomies.
          taxonomies:
            #' OTT organisms taxonomy. STRING
            ott: data/interim/libraries/sop/merged/organisms/taxonomies/ott.tsv.gz

        #' Structures libraries.
        structures:
          #' Structures stereo. STRING
          stereo: data/interim/libraries/sop/merged/structures/stereo.tsv.gz

          #' Structures metadata. STRING
          metadata: data/interim/libraries/sop/merged/structures/metadata.tsv.gz

          #' Structures names. STRING
          names: data/interim/libraries/sop/merged/structures/names.tsv.gz

          #' Structures taxonomies.
          taxonomies:
            #' Classyfire structures taxonomy. STRING
            cla: data/interim/libraries/sop/merged/structures/taxonomies/classyfire.tsv.gz

            #' NPClassifier structures taxonomy. STRING
            npc: data/interim/libraries/sop/merged/structures/taxonomies/npc.tsv.gz

    #' Spectral libraries. STRING
    spectral:
      #' List of negative spectral libraries. STRING
      neg:
        - data/interim/libraries/spectra/exp/internal_neg.rds

      #' List of positive spectral libraries. STRING
      pos:
        - data/interim/libraries/spectra/exp/internal_pos.rds

      #' List of raw spectral libraries. STRING
      raw:
        - data/source/libraries/spectra/exp/spectral_lib_mini_with_rt.mgf

    #' Temporal libraries. STRING
    temporal:
      #' List of experimental temporal libraries.
      exp:
        #' List of experimental temporal libraries (CSV). STRING
        csv: ~

        #' List of experimental temporal libraries (MGF).
        mgf:
          #' List of negative experimental temporal libraries (MGF). STRING
          neg: [ ]

          #' List of positive experimental temporal libraries (MGF). STRING
          pos: [ ]

      #' List of in silico temporal libraries. STRING
      is:
        #' List of in silico temporal libraries (CSV). STRING
        csv: ~

        #' List of in silico temporal libraries (MGF).
        mgf:
          #' List of negative in silico temporal libraries (MGF). STRING
          neg: [ ]

          #' List of positive in silico temporal libraries (MGF). STRING
          pos: [ ]

      #' List of prepared temporal libraries. STRING
      prepared:
        - data/interim/libraries/rt/prepared.tsv.gz

  #' Metadata files.
  metadata:
    #' The path to the file containing your metadata.
    #' Must be formatted accordingly.
    #' If your experiment contains a single taxon, you can provide it below instead. STRING
    raw: data/source/example_metadata.tsv

    #' Taxonomically informed features file. STRING
    prepared: data/interim/taxa/example_taxed.tsv.gz

  #' Networks files.
  networks:
    #' Spectral networks files.
    spectral:
      #' Edges files.
      edges:
        #' Raw edges file.
        raw:
          #' Raw ms1 edges file. STRING
          ms1: data/interim/features/example_edgesMasses.tsv

          #' Raw spectral edges file. STRING
          spectral: data/interim/features/example_edgesSpectra.tsv

        #' Prepared edges file. STRING
        prepared: data/interim/features/example_edges.tsv

      #' Components files.
      components:
        #' Raw components file. STRING
        raw: data/interim/features/example_components.tsv

        #' Prepared components file. STRING
        prepared: data/interim/features/example_componentsPrepared.tsv

  #' Spectral files.
  spectral:
    #' Raw spectral file. STRING
    raw: data/source/example_spectra.mgf

#' GNPS related parameters.
gnps:
  #' GNPS job ID. STRING
  id: 41c6068e905d482db5698ad81d145d7c

  #' Workflow used within GNPS.
  #' Currently "fbmn" or "classical" supported. STRING
  workflow: fbmn

#' MS related parameters.
ms:
  #' List of adducts to be used.
  adducts:
    #' List of adducts to be used in negative. STRING
    neg:
      - "[M-H3]3-"
      - "[M-H2]2-"
      - "[M]-"
      - "[M-H]-"
      - "[M+F]-"
      - "[M+Na-H2]-"
      - "[M+Cl]-"
      - "[M+K-H2]-"
      - "[M+Br]-"
      - "[2M-H]-"
      - "[3M-H]-"

    #' List of adducts to be used in positive. STRING
    pos:
      - "[M+H3]3+"
      - "[M+H2Na]3+"
      - "[M+HNa2]3+"
      - "[M+Na3]3+"
      - "[M+H2]2+"
      - "[M+HNa]2+"
      - "[M+Mg]2+"
      - "[M+HK]2+"
      - "[M+Ca]2+"
      - "[M+Na2]2+"
      - "[M+Fe]2+"
      - "[M]+"
      - "[M+H]+"
      - "[M+H4N]+"
      - "[M+Na]+"
      - "[M+K]+"
      - "[M+Fe-H2]+"
      - "[M+Fe-H]+"
      - "[M+Cu]+"
      - "[2M+Mg]2+"
      - "[2M+Ca]2+"
      - "[2M+Fe]2+"
      - "[2M+H]+"
      - "[2M+H4N]+"
      - "[2M+Na]+"
      - "[2M+K]+"

  #' List of clusters to be used.
  clusters:
    #' List of clusters to be used in negative. STRING
    neg:
      - "H2O" # (water)
      - "CH2O2" # (formic)
      - "NaCl" # (sodium chloride)
      - "C2H4O2" # (acetic)
      - "H2PO4" # (phosphoric)
      - "C2HF3O2" # (tfa)

    #' List of clusters to be used in positive. STRING
    pos:
      - "H2O" # (water)
      # - CH4O # (methanol)
      - "C2H3N" # (acetonitrile)
      # - C2H7N # (ethylamine)
      # - C2H6O # (ethanol)
      - "NaCl" # (sodium chloride)
      # - C3H8O # (isopropanol)
      # - C2H6OS # (dmso)

  #' List of neutral losses to be used. STRING
  neutral_losses:
    - "HN"
    - "CH3"
    - "O"
    - "H3N (ammonia)"
    - "H2O (water)"
    - "CHN"
    - "CO"
    - "C2H4 (ethene)"
    - "CH3N (methanimine)"
    - "C2H5 (ethyl radical)"
    - "H2O2 (dioxygen-dihydrogen)"
    - "CH2O"
    - "H2S (dihydrosulphur)"
    - "H5ON (H2O-H3N)"
    - "H4O2 (2xH2O)"
    - "C2H2O (ethenone)"
    - "C3H6 (propene)"
    - "CHON"
    - "CO2"
    - "CHO2"
    - "H6O3 (3xH2O)"
    - "C2O2 (2xCO)"
    - "CH6O3 (combination)"
    - "H8O4 (4xH2O)"
    - "C2H2O3 (CH2O-CO2)"
    - "C3H6O2 (CH3-CH2-COOH)"
    - "C3O3 (3xCO)"
    - "C4H9NO (combination)"
    - "C2O4 (2xCO2)"
    - "C3H4O3 (pyruvic)"
    - "C4H8O2 (butyric)"
    - "C3H7NO2 (alanine)"
    - "C3H6O3 (sugar)"
    - "H2O4S (sulfuric)"
    - "H3O4P (phosphoric)"
    - "C5H10O2 (valeric)"
    - "C3H4O4 (malonic)"
    - "C2H2O5 (CO2-CO2-H2O)"
    - "C3H8O4 (combination)"
    - "C5H9NO2 (proline)"
    - "C4O4H6 (CO2-CO2-CH3-CH3)"
    - "C4H8O4 (sugar)"
    - "C2H4O6 (CO2-CO2-H2O-H2O)"
    - "C6H6O3 (HRF)"
    - "C5H8O4 (pentose-H2O)"
    - "C8H8O2 (RDA-1)"
    - "C6H8O4 (HRF)"
    - "C9H6O2 (coumaroyl)"
    - "C6H10O4 (methylpentose/desoxyhexose-H2O)"
    - "C9H8O2 (cinnamoyl)"
    - "C7H4O4 (galloyl)"
    - "C8H8O3 (RDA-2)"
    - "C9H6O3 (caffeoyl)"
    - "C6H10O5 (hexose-H2O)"
    - "C8H8O4 (RDA-3)"
    - "C8H10O4 (RDA-2-H2O)"
    - "C6H8O6 (glucuronic-H2O)"
    - "C10H8O3 (feruloyl)"
    - "C6H13NO5 (hexose-H2N)"
    - "C6H12O6 (hexose)"
    - "C7H12O6 (quinoyl)"
    - "C6H15NO6 (hexose-H2N-H2O)"
    - "C6H14O7 (hexose-H2O)"
    - "C8H12O6 (acetylhexose-H2O)"
    - "C11H10O4 (sinapoyl)"
    - "C16H30O (pamitoyl)"
    - "C9H12O8 (malonylhexose)"
    - "C13H14O6 (benzoylhexose)"
    - "C12H20O8 (2xmethylpentose/desoxyhexose-H2O)"
    - "C15H16O7 (coumaroylhexose)"
    - "C13H14O9 (galloylhexose)"
    - "C15H16O8 (caffeoylhexose)"
    - "C12H20O10 (2xhexose-H2O)"
    - "C16H18O8 (feruloylhexose)"
    - "C17H20O9 (sinapoylhexose)"
    - "C18H30O15 (3xhexose-H2O)"

  #' Polarity used. Must be "pos" or "neg". STRING
  polarity: pos

  #' Thresholds related parameters.
  thresholds:
    #' MS2 related parameters.
    ms2:
      #' Intensity threshold for MS2. INTEGER
      intensity: 5

  #' Tolerances.
  tolerances:
    #' For mass.
    mass:
      #' Relative in ppm.
      ppm:
        #' Relative mass tolerance for MS1 in ppm. FLOAT
        ms1: 10

        #' Relative mass tolerance for MS2 in ppm. FLOAT
        ms2: 10

      #' Absolute in Dalton.
      dalton:
        #' Absolute mass tolerance for MS1 in Dalton. FLOAT
        ms1: 0.01

        #' Absolute mass tolerance for MS2 in Dalton. FLOAT
        ms2: 0.01

    #' For retention time.
    rt:
      #' Retention time tolerance for adducts in minutes. FLOAT
      adducts: 0.02

      #' Retention time tolerance for library in minutes. FLOAT
      library: 0.1

#' Names of the different variables in the input files.
names:
  #' Name of "adduct" variable in the feature table. STRING
  adduct: best ion

  #' The file(s) extension is present in the sample name. BOOLEAN
  extension: yes

  #' Name of "feature IDs" variable in the input. STRING
  features: row ID

  #' Name of "filename" variable in the input. STRING
  filename: filename

  #' Names of the prepared libraries. STRING
  libraries:
    - internal

  #' Name of "InChIKey" variable in the input. STRING
  inchikey: inchikey

  #' Name of fields present in the MGF.
  mgf:
    #' Name of "adduct" in MGF. STRING
    adduct: ~

    #' Name of "collision energy" in MGF. STRING
    collision_energy: ~

    #' Name of "compound ID" in MGF. STRING
    compound_id: FILENAME

    #' Name of "exact mass" in MGF. STRING
    exact_mass: EXACTMASS

    #' Name of "InChI" in MGF. STRING
    inchi: INCHI

    #' Name of "InChI without stereo" in MGF. STRING
    inchi_no_stereo: ~

    #' Name of "InChIKey" in MGF. STRING
    inchikey: ~

    #' Name of "InChIKey without stereo" in MGF. STRING
    inchikey_no_stereo: ~

    #' Name of "molecular formula" in MGF. STRING
    molecular_formula: ~

    #' Name of "name" in MGF. STRING
    name: NAME

    #' Name of "polarity" in MGF. STRING
    polarity: IONMODE

    #' Name of "retention time" in MGF. STRING
    retention_time: RTINSECONDS

    #' Name of "SMILES" in MGF. STRING
    smiles: SMILES

    #' Name of "SMILES without stereo" in MGF. STRING
    smiles_no_stereo: ~

    #' Name of "spectrum ID" in MGF. STRING
    spectrum_id: SPECTRUMID

    #' Name of "SPLASH" in MGF. STRING
    splash: ~

    #' Name of "synonyms" in MGF. STRING
    synonyms: ~

    #' Name of "xlogP" in MGF. STRING
    xlogp: ~

  #' Name of "precursor m/z" variable in the input. STRING
  precursor: row m/z

  #' Name of "retention time" variable.
  rt:
    #' Name of "retention time" variable in the feature table. STRING
    features: row retention time

    #' Name of "retention time" variable in the library. STRING
    library: rt

  #' Name of "SMILES" variable in the input. STRING
  smiles: smiles

  #' Name of "source IDs" variable in the input. STRING
  source: CLUSTERID1

  #' Name of "target IDs" variable in the input. STRING
  target: CLUSTERID2

  #' Name of the "taxon name" variable in the input. STRING
  taxon: ATTRIBUTE_species

#' Organisms related parameters.
organisms:
  #' Number of organisms to keep per feature. INTEGER
  candidates: 1

  #' Organisms filter related parameters.
  filter:
    #' Filter library to restrict it to a portion of organisms only. BOOLEAN
    mode: no

    #' Level at which the library will be filtered.
    #' Must be one of "domain", "phylum", "class", "order",
    #' "family", "tribe", "genus", "species", "varietas" . STRING
    level: phylum

    #' Value to be applied for filtering.
    #' "OR" can be used as "|".
    # Example: "Simaroubaceae|Gentianaceae". STRING
    value: Streptophyta

  #' OPTIONAL. If your experiment contains a single taxon, its scientific name.
  #' Else, you will need to provide a metadata file above.
  #' If you provide both, this one will have priority.
  #' Example: "Homo sapiens". STRING
  taxon: ~

#' Tools used for each step.
tools:
  #' Tool used to store metadata.
  #' Currently "gnps" or "manual" supported. STRING
  metadata: gnps

  #' Networks related parameters.
  networks:
    #' Spectral networks related parameters.
    spectral:
      #' Tool used to generate components.
      #' Currently "gnps" or "manual" supported. STRING
      components: gnps

      #' Tool used to generate edges.
      #' Currently "gnps" or "manual" supported. STRING
      edges: gnps

  #' Sirius.
  sirius:
    #' Sirius version.
    #' Currently only 5 or 6 supported. INTEGER
    version: 6

  #' Taxonomies related parameters.
  taxonomies:
    #' Biological taxonomy used for matching.
    #' Currently only "otl" supported. STRING
    biological: otl

    #' Chemical taxonomy used for matching.
    #' Currently only "npc" or supported. STRING
    chemical: npc

#' Units of the different variables in the input files.
units:
  #' Unit of the "retention time" variable in the input files. STRING
  rt: seconds

#' Weights to apply to each part of the final score.
weights:
  #' Global weights.
  global:
    #' Weight for the biological part. FLOAT
    biological: 0.500

    #' Weight for the chemical part. FLOAT
    chemical: 0.166

    #' Weight for the spectral part. FLOAT
    spectral: 0.333

  #' Weights for the biological part.
  biological:
    #' Score for a biological domain match. FLOAT
    domain: 0.10

    #' Score for a biological kingdom match. FLOAT
    kingdom: 0.20

    #' Score for a biological phylum match. FLOAT
    phylum: 0.30

    #' Score for a biological class match. FLOAT
    class: 0.40

    #' Score for a biological order match. FLOAT
    order: 0.50

    #' Score for a biological infraorder match. FLOAT
    infraorder: 0.55

    #' Score for a biological family match. FLOAT
    family: 0.60

    #' Score for a biological subfamily match. FLOAT
    subfamily: 0.65

    #' Score for a biological tribe match. FLOAT
    tribe: 0.70

    #' Score for a biological subtribe match. FLOAT
    subtribe: 0.75

    #' Score for a biological genus match. FLOAT
    genus: 0.80

    #' Score for a biological subgenus match. FLOAT
    subgenus: 0.85

    #' Score for a biological species match. FLOAT
    species: 0.90

    #' Score for a biological subspecies match. FLOAT
    subspecies: 0.95

    #' Score for a biological variety match. FLOAT
    variety: 1.00

  #' Weights for the chemical part.
  chemical:
    #' Score for a classyfire match.
    cla:
      #' Score for a chemical kingdom match. FLOAT
      kingdom: 0.25

      #' Score for a chemical superclass match. FLOAT
      superclass: 0.50

      #' Score for a chemical class match. FLOAT
      class: 0.75

      #' Score for a chemical parent match. FLOAT
      parent: 1.00

    #' Score for a NPClassifier match.
    npc:
      #' Score for a chemical kingdom match. FLOAT
      pathway: 0.333

      #' Score for a chemical superclass match. FLOAT
      superclass: 0.666

      #' Score for a chemical class match. FLOAT
      class: 1.000

#' Options.
options:
  #' Report compounds names. Can be very large. BOOLEAN
  compounds_names: no

  #' Do not use it. BOOLEAN
  force: no

  #' Filter high confidence candidates only. BOOLEAN
  high_confidence: yes

  #' Remove ties. BOOLEAN
  remove_ties: no

  #' Summarise results to one row per feature. BOOLEAN
  summarise: no
