Class 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 Detail

      • DynamicProgrammingAll

        public DynamicProgrammingAll()
    • 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: PseudoknotFinder
        Finds 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:
        findPseudoknots in interface PseudoknotFinder
        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.