# ACMG criteria and classification

NOTE

This documentation is a work in progress and is not currently up to date.

Please contact developers for more details.

# ACMG rules engine

Rules for suggested ACMG criteria are defined in JSON format in:

  • File: ella/rule_engine/mapping_rules.py
  • Key: rules

See ella/rule_engine/README for details.

# User group rules

User group-specific ACMG value rules. See usergroups.json (opens new window) for examples.

  • File: usergroups.json (see user groups)
  • Key: config.acmg

The following subkeys define thresholds and values that act as input for the ACMG rules engine, for the given user group:

Subkey Explanation Values
frequency.thresholds * The population frequency threshold for ACMG criteria BA1 (hi_freq_cutoff) and BS1 (lo_freq_cutoff). 0-1
frequency.num_thresholds * The minimum "allele number" (observed chromosomes at a given locus) for each sub-population. [integer]
disease_mode Whether only missense (MISS) or loss of function (LOF) mutations, or both (ANY), are expected to cause disease. MISS / LOF / ANY (default)
last_exon_important Whether the last exon is important (LEI) or not (LENI). LEI (default) / LENI

* Similar to filter frequency thresholds, with possibilities for separation of dataset groups and inheritance modes.

# Gene-specific overrides

To define rules for given genes only (within a user group), place the above subkeys within the config.acmg.genes key, providing a HGNC ID for each gene the rules should apply to.

In addition, the subkey comment can be defined, specifying information relevant to evaluation of more/all variants in a gene as free text.

# ACMG descriptions

Short (short_criteria) and long (criteria) descriptions and any notes for each ACMG criterion and REQ (shown in UI pop-ups) are given in:

  • File: ella/api/config/acmgconfig.py
  • Key: acmgconfig["explanation"]

For REQs, you can also define which ACMG criteria the REQ relates to in this file, using the key sources.

# Classification

The available classifications and how ELLA treats each of them are given in:

  • File: ella_config.yml (set by ELLA_CONFIG env variable)
  • Key: classification.options (list, in display order)
Subkey Explanation Values
name Name shown in the UI. [text]
value Value stored in the database. [text]
outdated_after_days Number of days after which a classification is outdated. Outdated classifications are not treated as valid, e.g. when checking whether variants are classified at import. If not set, the classification never becomes outdated. [integer]
include_report Automatically include variants with this classification on the REPORT page. Variants marked as technical or not relevant in the analysis are not included. Users can still include or exclude variants manually. true / false (default)
include_analysis_with_findings Count this classification as a finding. If the analysis_finalize_without_findings postprocessor is enabled, an analysis is finalized automatically at import if all its unfiltered variants have a valid classification that is not a finding, and the analysis has no warnings. true / false (default)
sort_index Sort position when sorting variants by classification. If not set, the position in the list is used. [integer]

See example_config.yml (opens new window) for examples.

Last Updated: 11/10/2026, 3:02:25 PM