Class DynamicProgrammingAll
- java.lang.Object
-
- pl.poznan.put.structure.pseudoknots.dp.DynamicProgrammingAll
-
- All Implemented Interfaces:
PseudoknotFinder
- Direct Known Subclasses:
ImmutableDynamicProgrammingAll
@Immutable(singleton=true) public abstract class DynamicProgrammingAll extends Object
Java implementation of OPT ALL algorithm as presented in: Smit, S. et al., 2008. From knotted to nested RNA structures: A variety of computational methods for pseudoknot removal. RNA, 14, pp.410–416.
-
-
Constructor Summary
Constructors Constructor Description DynamicProgrammingAll()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description List<pl.poznan.put.structure.pseudoknots.dp.SubSolution>findOptimalSolutions(ConflictClique conflictClique)List<BpSeq>findPseudoknots(BpSeq bpSeq)Finds pseudoknots in BPSEQ data.protected intmaxCliqueSize()protected abstract Optional<RegionRemover>regionRemover()
-
-
-
Method Detail
-
regionRemover
protected abstract Optional<RegionRemover> regionRemover()
- Returns:
- An optional region remover to be used if a clique size exceeds
maxCliqueSize().
-
findOptimalSolutions
public final List<pl.poznan.put.structure.pseudoknots.dp.SubSolution> findOptimalSolutions(ConflictClique conflictClique)
-
findPseudoknots
public final List<BpSeq> findPseudoknots(BpSeq bpSeq)
Description copied from interface:PseudoknotFinderFinds pseudoknots in BPSEQ data. Pseudoknots are defined here as BPSEQ entries which if removed will make the RNA secondary structure fully nested. There may be many subsets of pairs considered pseudoknots for a single BPSEQ input.- Specified by:
findPseudoknotsin interfacePseudoknotFinder- Parameters:
bpSeq- An input BPSEQ structure with all pairs.- Returns:
- A list of BPSEQ structures where each contains only pairs considered to be pseudoknots. Each BPSEQ is a full copy of original one, but contains zeroed 'pair' columns for entries which are non-pseudoknots.
-
maxCliqueSize
@Default protected int maxCliqueSize()
- Returns:
- The maximum number of conflicts allowed to be in the clique. The algorithm slows down very much when the cliques are getting bigger, so it is advisable to use a heuristic to remove a single regions and decrease clique size significantly.
-
-