ecl-logo Documentation

SimulateFolding

SimulateFolding[oligomer]foldingObject

predicts potential secondary structure interactions of the provided oligomer with itself.

Details

  • Kinetic method is an implementation of Nussinov's dynamic programing algorithm described in Object[Report, Literature, "id:E8zoYveXdRWm"]: R. Nussinov et al. "Algorithms for loop matchings." SIAM Journal on Applied mathematics 35.1 (1978): 68-82.
  • Thermodynamic method is an implementation of Zuker's free energy minimization algorithm described in Object[Report, Literature, "id:GmzlKjYVz86e"]: M. Zuker. "On finding all suboptimal foldings of an RNA molecule." Science 244.4900 (1989): 48-100.
  • The Thermodynamic folding allows only for planar folding and thus can not detect so called "pseudoknots", which can be found by the Kinetic method. However, structures returned by the Kinetic method places no constraints on which bases can pair and therefore may not necessarily be topologically obtainable.
  • Following loops can appear in folded structures:
  • Loop
    Description
    StackingLoopWatson-Crick paired nucleotides on both strands.
    BulgeLoopUnpaired nucleotides occur on only one strand of double helix.
    InternalLoopDouble helix interrupted by non-Watson-Crick paired nucleotides on both strands.
    MultipleLoopThree or more helixes intersect.
  • Input
    Output
    General Options

Examples

Basic Examples  (5)

When provided with a sequence, SimulateFolding predicts potentially high energy secondary structures the sequence could fold into through Watson-Crick base pairing rules:

In addition to accepting sequences, the function can handle strands with more than one sequence:

The function can also handled complicate structures where it considers the high energy structures that might further form through folding:

The function can also be applied to oligomer samples:

The function can also be applied to oligomer models:

Additional Examples  (5)

Get FoldedEnergies and FoldedStructures:

Inter-strand bonds:  (2)

Options from a bonds will be created between strands that are not connected:

If two strands are already connected by bonds, then inter-strand bonds can be created:

Pseudoknots  (2)

Kinetic folding method can return pseudoknots, which are excluded by the thermodynamic folding algorithm:

Long strands can be folded into a variety of structures with and without pseudoknots:

Options  (41)

AlternativeParameterization  (1)

Using AlternativeParameterization to provide the thermodynamic parameters or to override the values taken from Thermodynamics field in the model oligomer:

Breadth  (1)

Specify the number of folds to propagate forward at each level of the folding tree:

Consolidate  (1)

Specify Consilidate to be False to return subfolds:

Depth  (1)

Specify number of times to fold the input sequence:

ExcludedSubstructures  (3)

When you exclude no substructures (all are allowed):

By excluding internal loops (this includes mismatches), we get the most optimal structure that does not have internal loops:

By excluding bulge loops and internal loops, we get the new most optimal structure (no bulge/internal loops) and a structure whose energy is within 25% of the optimal structure's energy:

FoldingInterval  (3)

For sequences, specify interval as list of positions in the sequence:

For strands, specify interval as motif position and sequence positions:

For structures, specify interval as Strand position, motif position, and sequence positions:

Heuristic  (1)

By default, thermodynamic folding attempts to optimize the energy of the folded structure (i.e. best structure has lowest Gibbs Free Energy):

MaxBulgeLoopSize  (2)

When you allow any bulge loop size in the folded structure, a bulge loop of size 5 appears:

But by only allowing bulges where the bulge is 3 bases or smaller, the above result will be excluded, and the next-most optimal result (a structure with an internal loop) will be returned instead:

MaxHairpinLoopSize  (2)

When you allow any hairpin loop size in the folded structure, a hairpin loop of size 6 appears:

But by only allowing hairpins where the number of loop bases is 3 or fewer, the above result will be excluded, and hairpin loop of size 3 appears:

MaxInternalLoopSize  (2)

When you allow any internal loop size in the folded structure, an internal loop of size 8 appears:

But by only allow internal loops where the size is 3 bases or smaller, the above result will be excluded, and the next-most optimal result will be returned:

MaxMismatch  (2)

When you do not allow mismatch, sequence "CCCACCAAAGG" can not return a valid folded structure:

But by allowing mismatches of size 1, two structures with a bulge loop appears:

Method  (2)

Thermodynamic method uses planar folding algorithm which misses pseudoknots:

Kinetic method can return structures with pseudoknots which cannot be found by Thermodynamic method:

MinBulgeLoopSize  (2)

When you allow the lowest minimum bulge loop size, a bulge loop of size 1 appears:

But by only allowing bulges larger than 1 base (so no single-base bulges allowed), the above result will be excluded and the next-most optimal result (a structure with a single mismatch) will be returned::

MinHairpinLoopSize  (2)

When you allow any hairpin loop size in the folded structure:

But by only allowing hairpins that are 6 bases or larger, the above result will be excluded, and a hairpin loop of size 6 appears:

MinInternalLoopSize  (2)

When you allow the lowest minimum internal loop size, an internal loop of size 2 appears:

But by only allowing internal loops of size 4 or greater. The smaller internal loop gets absorbed into the hairpin while the bigger internal loop stays:

MinLevel  (1)

Specify minimum number of bases required in each fold:

MinMultipleLoopSize  (2)

When you allow all multiple loops:

But by only allowing multiple loops with at least one free base between each 'branch', the next most optimal structure satisfying this condition does not have a multiple loop:

MinPieceSize  (1)

Specify minimum number of consecutive paired bases required in a fold containing mismatches:

Polymer  (2)

When the input sequence is ambiguous, Polymer is defaulted to DNA:

But you can use Polymer option to specify the sequence to be RNA:

SubOptimalStructureTolerance  (4)

SubOptimalStructureTolerance is usally set to 25. Here, we use an energy value as tolerance:

When you allow 0 tolerance (only the optimal structure is returned):

You can use a bond-count tolerance to return all structures within a certain number of the optimal folded structure's bond count:

Use a percentage tolerance:

Temperature  (1)

Specify temperature at which folding is simulated:

Template  (2)

The options from a previous folding simulation can be used to create new foldings (object reference):

The options from a previous folding simulation can be used to create new foldings (object):

ThermodynamicsModel  (1)

Using ThermodynamicsModel to explicitly provide the thermodynamic parameters or to override the values taken from Thermodynamics field in the model oligomer:

Overloads  (1)

Maps  (1)

Maps over input:

Messages  (5)

InvalidSequence  (1)

Invalid sequence will fail:

InvalidStrand  (1)

Invalid strand will fail:

InvalidStructure  (1)

Invalid structure will fail:

MixPolymerType  (1)

Mix polymer type is currently unsupported:

UnboundStructure  (1)

Structure with unbounded strand will not be folded:

Possible Issues  (1)

Folded structures are displayed using graph plotting algorithms, so occasionally the display structures can appear jumbled or overlapping: