Ligands Binding to Unstructured Domains

Add ligand binding to loop regions using the Unstructured Domains feature.

Sometime, certain ligands, like single strand binding (SSB) proteins, compete with intramolecular base pairing of the RNA. In situations, where the dissociation constant of the ligand is known and the ligand binds to a consecutive stretch of single-stranded nucleotides we can use the Unstructured Domains functionality to extend the RNA folding grammar. This module provides a convenience default implementation that covers most of the application scenarios.

The function vrna_ud_add_motif() attaches a ligands sequence motif and corresponding binding free energy to the list of known ligand motifs within the domains_up attribute of vrna_fold_compound_t. The first call to this function initializes the Unstructured Domains feature with our default implementation. Subsequent calls of secondary structure prediction algorithms with the modified vrna_fold_compound_t then directly include the competition of the ligand with regules base pairing. Since we utilize the unstructured domain extension, The ligand binding model can be removed again using the vrna_ud_remove() function.