Module nimna_types

Module nimna_types

Types

This module provides the basic garbage-collected wrapper types used in nimna. It contains the following important type definitions:

Compound (Compound)
The core type of the nimna API. It represents a fully parameterized nucleic acid sequence, to be folded and analysed using the procedures in nimna. Internally, it stores a pointer to a vrna_fold_compound_t object of the ViennaRNA API, as well as a set of flags, to track the object's status to only perform necessary recomputations and return precomupted results otherwise.
Compound2D (Compound)
Same as Compound, but used for two-dimensional folding, i.e. folding with respect to two reference sequences.
CompoundComparative (Compound)
Same as Compound, but used for comparative folding of multiple sequences, i.e. of a multiple sequence Alignment.
Alignment (Alignment)
Represents a multiple sequence alignment, storing a list of sequences and their identifying names, together with a consensus secondary structure.
Suboptimals (Suboptimals)
Represents a list of suboptimal folds of a sequence.
InteractionList (InteractionList)
Represents a list of base interactions, those being base pairings, or G-quadruplexes.
Settings (Settings)
Represents a set of settings to be used for folding. For the set of available parameters, see the ViennaRNA documentation.
Probabilities (Probabilities)
The a view into the base pair probability matrix of a Compound, generated using partition function folding. As long as it is alive, its parent Compound may not be garbage collected. This is useful for assessing the probability of certain base-pairs existing, for example for fitness functions for nucleic acid design.

Types

Compound = ref object of RootObj
  vfc*: ptr VrnaFoldCompoundT   ## \
                           ## A pointer to the underlying memory.
  hasPf*: bool ## \
             ## Flag indicating whether the ``Compound`` has undergone \
             ## partition function folding.
  isD*: bool                   ## \
           ## Flag indicating whether the ``Compound`` is a dimer.
  
Represents a sequence of DNA or RNA together with folding parameters and results.
Compound2D = ref object of Compound
  
Represents a sequence of DNA or RNA together with folding parameters folding results, and a pair of reference structures.
CompoundComparative = ref object of Compound
  
Represents a sequence alignment of DNAs or RNAs with folding parameters and results.
Alignment = ref object
  algn*: cstringArray
  cnames*: cstringArray
  id*: cstring
  structure*: cstring
  nSeqs*: int
Represents a multiple sequence alignment.
DimerEnergies = VrnaDimerPfS
Fold = VrnaSuboptSolutionT
Suboptimals = ref object
  len*: int                    ## \
          ## The size of the set of suboptimal solutions.
  so*: ptr Fold                 ## \
             ## The underlying memory.
  
Represents a set of suboptimal solutions to a sequence folding problem.
MfeSolution = VrnaSolTwoDt
Represents a secondary structure and energy at a single position in secondary structure space.
PfSolution = VrnaSolTwoD_pfT
Represents a partition function at a single position in secondary structure space.
MfeSolutions = ref object
  mfe*: ptr MfeSolution
A set of solutions to the minimum free energy folding problem.
PfSolutions = ref object
  pf*: ptr PfSolution
A set of solutions to the partition function folding problem.
InteractionList = ref object of RootObj
  pl*: ptr VrnaPlistT
  len*: int
  nitems*: int
Represents a list of base interactions.
PairList = ref object of InteractionList
  
Represents a list of base pairing interactions
GQuadList = ref object of InteractionList
  
Represents a list of G-quadruplex interactions.
PairListItem = VrnaPlistT
Settings = VrnaMdT
Represents a set of conditions for folding, such as for example temperature.
Parameters = VrnaParamT
Represents a set of folding parameters, computed from Settings.
ScaledParameters = VrnaExpParamT
Represents a set of partition function folding parameters, computed from Settings.
ConstraintOption = distinct cuint
Represents the way a constraint on folding is stored and interpreted.
UnstructuredOption = distinct cuint
Represents the kinds of motifs a ligand can bind to.
Probabilities = ref object
  parent*: Compound
  bppm*: ptr Flt_Or_Dbl
Represents the base pair probability matrix of a Compound
MotifError = object of Exception

Consts

vcNoHeader = 0
vcDb = 16384
vcdbEnforceBp = 32768
vcdbPipe = 65536
vcdbDot = 131072
vcdbX = 262144
vcdbAngBrack = 524288
vcdbRndBrack = 1048576
vcdbIntramol = 2097152
vcdbIntermol = 4194304
vcdbGquad = 8388608
vcdbDefault = 16728064
vccExtLoop = 1
vccHpLoop = 2
vccIntLoop = 4
vccIntLoopEnc = 8
vccMbLoop = 16
vccMbLoopEnc = 32
vccEnforce = 64
vccNoRemove = 128
vccAllLoops = 63
vcmDefault = 0
vudExtLoop = 1
vudHpLoop = 2
vudIntLoop = 4
vudMbLoop = 8
vudMotif = 16
vudAllLoops = 15