Antkeeper  0.0.1
Classes | Namespaces | Functions
sequence.hpp File Reference
#include <engine/genetics/base.hpp>
#include <engine/genetics/codon.hpp>
#include <algorithm>
#include <iterator>
#include <random>

Go to the source code of this file.

Classes

struct  genetics::sequence::orf< Iterator >
 Open reading frame (ORF), defined by a start codon and stop codon, with the distance between divisible by three. More...
 

Namespaces

 genetics
 Genetic algorithms.
 
 genetics::sequence
 Functions and structures related to sequences of IUPAC degenerate base symbols.
 
 genetics::sequence::dna
 Functions which operate on sequences of IUPAC degenerate DNA base symbols.
 
 genetics::sequence::rna
 Functions which operate on sequences of IUPAC degenerate RNA base symbols.
 

Functions

template<class ForwardIt1 , class ForwardIt2 , class URBG >
ForwardIt2 genetics::sequence::crossover (ForwardIt1 first1, ForwardIt1 last1, ForwardIt2 first2, URBG &&g)
 Exchanges elements between two ranges, starting at a random offset. More...
 
template<class ForwardIt1 , class ForwardIt2 , class Size , class URBG >
void genetics::sequence::crossover_n (ForwardIt1 first1, ForwardIt1 last1, ForwardIt2 first2, Size count, URBG &&g)
 Exchanges elements between two ranges multiple times, starting at a random offset each time. More...
 
template<class ForwardIt >
orf< ForwardIt > genetics::sequence::find_orf (ForwardIt first, ForwardIt last, const codon::table &table)
 Searches a sequence for an open reading frame (ORF). More...
 
template<class ForwardIt , class UnaryOperation , class URBG >
ForwardIt genetics::sequence::mutate (ForwardIt first, ForwardIt last, UnaryOperation unary_op, URBG &&g)
 Applies the given function to a randomly selected element in a range. More...
 
template<class ForwardIt , class Size , class UnaryOperation , class URBG >
void genetics::sequence::mutate_n (ForwardIt first, ForwardIt last, Size count, UnaryOperation unary_op, URBG &&g)
 Applies the given function to a random selection of elements in a range. More...
 
template<class ForwardIt1 , class ForwardIt2 >
ForwardIt1 genetics::sequence::search (ForwardIt1 first, ForwardIt1 last, ForwardIt2 s_first, ForwardIt2 s_last, typename std::iterator_traits< ForwardIt1 >::difference_type stride)
 Searches a sequence of IUPAC base symbols for a pattern matching a search string of IUPAC degenerate base symbols. More...
 
template<class InputIt , class OutputIt >
OutputIt genetics::sequence::transcribe (InputIt first, InputIt last, OutputIt d_first)
 Transcribes a sequence of IUPAC base symbols between DNA and RNA, swapping T for U or U for T. More...
 
template<class InputIt , class OutputIt >
OutputIt genetics::sequence::translate (InputIt first, InputIt last, OutputIt d_first, const codon::table &table)
 Translates a sequence of codons into amino acids. More...
 
template<class InputIt , class OutputIt >
OutputIt genetics::sequence::dna::complement (InputIt first, InputIt last, OutputIt d_first)
 Generates the complementary sequence for a sequence of IUPAC degenerate DNA base symbols. More...
 
template<class InputIt , class OutputIt >
OutputIt genetics::sequence::rna::complement (InputIt first, InputIt last, OutputIt d_first)
 Generates the complementary sequence for a sequence of IUPAC degenerate RNA base symbols. More...