Skip to content

3. Tutorial (Advanced Settings)

Amirsadra Mohseni edited this page Jun 16, 2025 · 30 revisions

SIRIUS flags continued.

  1. --soft_rscu_thresh= floating point value > 0.0

    • Specify if you would like to provide a soft cut-off for codons with an RSCU value under this threshold. Codons with an RSCU below this value might be excluded from the output genes. See the mathematical explanation below on how this flag behaves. Using this flag requires you to also specify the following:
      • --codon_usage_fpath= string value [No default – This is required]
        • Path to the .csv file containing amino acid codes, their codons, and the respective RSCU values. See TODO for an example file.
      • --max_low_rscu_ratio= floating point value between 0-1 [Defaults to 0.3 if unspecified]
        • See the section below.
      • --rscu_alpha= floating point value > 0 [Defaults to 10.0 if unspecified]
        • See the section below.
  2. --num_workers= integer value > 0 [Defaults to 16 if unspecified]

    • Specify the number of threads available to the Google OR-Tools solver. A value between 16-32 is ideal. Higher values may actually slow the solve.
  3. --show_ortools_log= boolean value (true/false) [Defaults to false if unspecified]

    • When true, outputs the Google OR-Tools logs.
  4. --relative_gap_limit= floating point value between 0-1 [Defaults to 0.0 if unspecified]

    • A larger value tells the solver to accept a sub-optimal solution. Only increase this (and slightly, perhaps starting with 0.1, which is 10%) if you are experiencing high solve times.

Mathematics for Soft RSCU

Probabilistic Inclusion

For each amino acid, codons with an RSCU value below the soft threshold are not excluded outright. Instead, their inclusion is governed by a probability function:

$$P = exp^{(−\alpha\cdot(1−\frac{RSCU}{threshold}​))}$$

where $\alpha$ controls the sharpness of the penalty controlled by --rscu_alpha.

Per-Amino Acid Cap:

Even if a low-RSCU codon is sampled multiple times due to random chance, its total number of uses is capped per amino acid. Specifically, it can appear in at most $X$% of positions where the corresponding amino acid occurs, where $X$ is configurable by --max_low_rscu_ratio (e.g., 0.3 for 30%).

Low-RSCU codons are the ones the host likely disfavors (due to rare tRNAs, poor translation efficiency, etc.). But they may still be translated in small quantities.

This approach:

  • allows low-RSCU codons occasionally (for diversity / structure / synthesis flexibility)
  • Softly discourages their use via probability
  • Enforces a hard ceiling to avoid accidental overuse due to randomness
  • Keeps higher-RSCU codons fully eligible without restriction

End of documentation.

Clone this wiki locally