Identify potential repeated sites

Searches potential repeated sites that each target site’s own gapmer still binds.

Step type:

Internal step

Applicability

This step can run only when each configured value is listed below. Incompatible selections are rejected before execution.

Configuration path

Supported values

parameters.antisense.modality.type

aso

parameters.antisense.modality.mechanism

rnase-h1

parameters.antisense.modality.design.type

gapmer

Run this step

ASOkai run --step identify-potential-repeated-sites --config-file ./config.yaml

Example configuration for this step and its dependencies:

datadir: ./data
parameters:
  genome:
    assembly: GRCh38
    release: 114
    source: ensembl
    species: Homo_sapiens
  target:
    target_id: ENSG00000133703
    k: 16
    region: pre-mrna
  antisense:
    modality:
      design:
        left_wing_length: 3
        gap_length: 10
        right_wing_length: 3
        type: gapmer
      type: aso
      mechanism: rnase-h1

Parameters

These scalar configuration values are passed to this step.

Common parameters

Configuration path

Details

parameters.target.k

Accepted value: integer; minimum: 1

Requirement: Required

Description: Target-site length.

parameters.analysis.potential_repeated_sites.max_ddg

Accepted value: number; minimum: 0

Requirement: Default: 5.0

Description: Largest accepted binding-energy loss in kcal/mol relative to the original site.

parameters.analysis.potential_repeated_sites.ddg_tolerance

Accepted value: number; minimum: 0

Requirement: Default: 0.5

Description: Extra binding-energy loss in kcal/mol that is still explored, because later mutations can have better binding.

parameters.analysis.potential_repeated_sites.energy_parameters

Accepted value: value; one of: RNA_Turner2004, RNA_Turner1999, RNA_Andronescu2007, RNA_Langdon2018, DNA_Mathews2004, DNA_Mathews1999, null

Requirement: Default and only value: null

Description: Built-in ViennaRNA energy parameter set. The DNA sets model a DNA duplex rather than the DNA-RNA hybrid a gapmer forms, so they are an approximation too.

parameters.analysis.potential_repeated_sites.energy_parameter_file

Accepted value: string or null; minimum string length: 1

Requirement: Default and only value: null

Description: ViennaRNA parameter file to load instead of a named set. It is read where it lies rather than staged, so a run under CWL needs a path its job can reach.

parameters.analysis.potential_repeated_sites.model_settings

Accepted value: string

Requirement: Default:

Description: Extra ViennaRNA model arguments as comma-separated name=value pairs, such as ‘temperature=37.0,noGU=1’. Accepted names are the fields of ViennaRNA’s model details. An empty value keeps every ViennaRNA default values.

parameters.antisense.modality.type

Accepted value: string; minimum string length: 1

Requirement: Required to determine step compatibility

Description: Antisense therapeutic modality.

parameters.antisense.modality.mechanism

Accepted value: string; minimum string length: 1

Requirement: Required to determine step compatibility

Description: Therapeutic mechanism of action for the selected modality.

Designs

Gapmer design

Set parameters.antisense.modality.type to aso and parameters.antisense.modality.design.type to gapmer.

Example configuration:

parameters:
  antisense:
    modality:
      type: aso
      design:
        type: gapmer
        left_wing_length: 3
        gap_length: 10
        right_wing_length: 3

Configuration path

Details

parameters.antisense.modality.design.left_wing_length

Accepted value: integer; minimum: 1

Requirement: Required when parameters.antisense.modality.design.type is gapmer

Description: Number of nucleotides in the left gapmer wing. Required for a gapmer design and not used by an unmodified design.

parameters.antisense.modality.design.gap_length

Accepted value: integer; minimum: 1

Requirement: Required when parameters.antisense.modality.design.type is gapmer

Description: Number of nucleotides in the central gapmer gap. Required for a gapmer design and not used by an unmodified design.

parameters.antisense.modality.design.right_wing_length

Accepted value: integer; minimum: 1

Requirement: Required when parameters.antisense.modality.design.type is gapmer

Description: Number of nucleotides in the right gapmer wing. Required for a gapmer design and not used by an unmodified design.

Unmodified design

Set parameters.antisense.modality.type to aso and parameters.antisense.modality.design.type to unmodified.

Example configuration:

parameters:
  antisense:
    modality:
      type: aso
      design:
        type: unmodified

This option has no additional parameters.

Parameter rules

  • set either energy_parameters or energy_parameter_file, not both

  • exactly one of these config values is required: target_id, target_name

Inputs

An input with a fixed producer uses that output by default. A selected run can instead link a named output or supply an existing path. The input’s path override in config.yaml also selects an existing file. External paths are validated against the input’s file contract.

File input

Details

target_gene

Producer output: create-target-gene.target_gene

Shared config source: steps.identify-potential-repeated-sites.inputs.target_gene.path or steps.identify-potential-repeated-sites.inputs.target_gene.from

Format: JSON — TargetGene

Description: Target gene whose sites are searched, from create-target-gene.

Example path-override configuration:

steps:
  identify-potential-repeated-sites:
    inputs:
      target_gene:
        path: /path/to/target_gene.json

Resources

Configurable resources use the first value in the resolution order shown below.

Resource setting

Details

n_workers

Step override: resources.identify-potential-repeated-sites.n_workers

Shared default: resources.default.n_workers

Built-in fallback: 1

Accepted value: integer; minimum: 1

Description: Number of workers allocated to a step that supports parallel execution.

memory_mb

Step override: resources.identify-potential-repeated-sites.memory_mb

Shared default: resources.default.memory_mb

Built-in fallback: 4096

Accepted value: integer; minimum: 1

Description: Memory in mebibytes allocated to this step.

Outputs

File output paths are relative to datadir. Braced names are replaced with the corresponding parameter values.

File outputs

File output

Details

potential_repeated_sites

Format: plain FASTA reference

Description: One FASTA record per potential repeated site, named by its target site and the substitutions applied to it.

Path template: {assembly}/{source}/{release}/targets/{target}/analysis/repeated_sites/{target}_k{k}_{region}_gapmer_l{left}_g{gap}_r{right}_ddg{max_ddg}_tol{tolerance}_potential_repeated_sites.fa

Example path: GRCh38/ensembl/114/targets/ENSG00000133703/analysis/repeated_sites/ENSG00000133703_k16_pre-mrna_gapmer_l3_g10_r3_ddg5.0_tol0.5_potential_repeated_sites.fa

The step finds potential repeated sites: sequences that a target site’s own gapmer still binds almost as strongly as the site itself. They are only potential. A later step aligns them to a reference, and only the sequences found there are repeated sites.

Sites and strands

The target sites come from the target_gene input, which defaults to create-target-gene. The step needs no therapeutic input: a gapmer is the reverse complement of its target site, so each site is searched against the reverse complement of that same site.

The wing and gap lengths come from the configured gapmer design under parameters.antisense.design. Positions of the site that pair with the gap form the core, which is never mutated. Because the gapmer runs antiparallel to the site, its 5’ left wing pairs with the site’s 3’ end, so the core covers site positions right_wing_length through right_wing_length + gap_length - 1 (zero-based). A 2-10-4 design on a 16-nucleotide site therefore has its core at positions 4 to 13.

Energy parameters

ViennaRNA folds with one energy parameter table per process. energy_parameters selects a built-in set:

RNA_Turner2004 (the default), RNA_Turner1999, RNA_Andronescu2007, RNA_Langdon2018, DNA_Mathews2004, DNA_Mathews1999.

energy_parameter_file loads a ViennaRNA parameter file instead. Supply one or the other, never both. The file is read where it lies rather than staged into the job, so a run under CWL needs a path its job can reach.

A gapmer binds its RNA target as a DNA-RNA hybrid, and ViennaRNA ships parameters for neither RNA-DNA hybrids nor the modified wings. The RNA sets therefore model the duplex as RNA-RNA and the DNA sets model it as DNA-DNA; both are approximations, and switching between them moves every energy the step reports.

Progress

The step logs the number of target sites and workers before it starts, and then shows one progress bar over every site, counting the work of all workers together. The bar writes to the terminal, so a run whose output is redirected to a file, as under CWL, records nothing for it.

Output

potential_repeated_sites is a FASTA file with one record per result, ready to align against a reference. Each record is named by the site it came from and the substitutions applied to it, and carries nothing else:

>site:GRCh38:12:25250719-25250734:-
ATGACTGAATATAAAC
>site:GRCh38:12:25250719-25250734:-&1G
GTGACTGAATATAAAC
>site:GRCh38:12:25250719-25250734:-&1G_14G
GTGACTGAATATAGAC

The identifier is the site ID, then & and one {position}{nucleotide} group per substitution, separated by underscores, with one-based positions in the site sequence. &1G_14G therefore means G at position 1 and G at position 14. The & separates the site ID, which contains colons and hyphens of its own, from the suffix. Applying the groups to the site sequence reproduces the result, so the identifier records the whole sequence and no side table is needed.

The record carries no description, so an aligner keeps the identifier intact as the read name and a later step can recover each alignment’s target site from that name alone. Every search also writes the unmutated site itself as a record with just the site ID, so exact copies of a site are found too. Within one site the remaining records are ordered by binding-energy loss. The energies themselves are neither written nor returned; the search uses them only to prune and to order its results.

Limitations

  • ViennaRNA’s RNA energy parameters are applied to DNA sequences, so the energies approximate an RNA-RNA duplex. They model neither the DNA-RNA hybrid of the gap nor the modified chemistry of the wings. An RNA G·U wobble counts as stabilizing, so some variants receive a negative ΔΔG.

  • Wide thresholds produce many results. With the default max_ddg a 3-10-3 design can yield roughly a thousand sequences per site, and a pre-mRNA target gene contributes tens of thousands of sites.

  • ViennaRNA holds the interpreter lock while folding, so the analysis opts into worker processes. Where those are unavailable it falls back to threads, which overlap very little, and the running time then scales with the number of target sites.