Class Specialization
External String
String that is stored in external memory.
Container
String
External String
String<TValue, External<TConfig> >
Parameters
TValue
The value type, that is the type of the items/characters stored in the string.
Remarks: Use Value to get the value type for a given class.
TConfig
A structure to configure the external string.
Specialization of
Implements
Metafunctions
DefaultOverflowExplicitThe default overflow strategy for explicit resize. (String)
DefaultOverflowImplicitThe default overflow strategy for implicit resize. (String)
InfixInfix sequence type. (String)
IsSequenceDetermines whether a container stores its elements in sequential order. (String)
IteratorType of iterator objects that are used to traverse the container. (String)
PositionType of an object that represents a position in a container. (String)
PrefixPrefix sequence type. (String)
SAValueThe default alphabet type of a suffix array, i.e. the type to store a position of a string or string set. (String)
SpecThe spec of a class. (String)
SuffixSuffix sequence type. (String)
Member Functions
StringConstructor
Functions
appendConcatenate two containers. (String)
assignAssigns one object to another object. (String)
assignValueAssigns value to item. (Container)
atNilTests whether iterator is at nil position. (String)
backThe last item in container. (Container)
beginThe begin of a container. (String)
beginPositionBegin position of object in host. (String)
canParseStringTest whether an automaton can parse a string completely. (String)
capacityThe maximal length. (String)
clearResets an object. (String)
closeCloses a file.
collectLeavesReturns all leaves underneath a given vertex. (String)
createOracleCreates a factor oracle. (String)
createOracleOnReverseCreates a factor oracle for the reversed string. (String)
createSuffixTrieCreates a trie of all suffixes of a text. (String)
createTrieCreates a trie. (String)
createTrieOnReverseCreates a trie for all reversed keywords. (String)
determineConsensusSeqDetermines the consensus pattern of a given profile. (String)
emptyTest a container for being empty. (String)
endThe end of a container. (String)
endPositionEnd position of object in host. (String)
eraseErases a part of a container (String)
extendSeedExtends a seed. (String)
extendSeeds Extenstion of seeds. (String)
fillResizes and fills a container. (String)
flushWaits for all open requests to complete.
frontThe first item in container. (Container)
getAlignment Constructs a alignment from a ChainedSeed. (String)
getDistanceMatrixComputes a pairwise distance matrix from an alignment graph. (String)
getSuccessorGets the successor for a given vertex and an edge label. For an automaton a single character is required whereas for a word graph getSuccessor takes a string. (String)
getValueAccess to the value. (Container)
goDownIterates down one edge or a path in a tree. (String)
goNilMoves iterator to nil position. (String)
heaviestIncreasingSubsequenceComputes the heaviest increasing subsequence. (String)
idA value that identifies the underlying sequence. (String)
infixCreates infix object. (String)
infixWithLengthCreates infix object. (String)
iterIterator to item at given position. (String)
lengthThe number of items/characters. (String)
longestCommonSubsequenceComputes the longest common subsequence. (String)
longestIncreasingSubsequenceComputes the longest increasing subsequence. (String)
moveValueAssigns value to item. (Container)
openOpens a file.
openTempOpens a temporary file.
parseStringParses a string one character at a time and moves accordingly in the automaton. (String)
positionPosition of an iterator. (Container)
prefixCreates prefix object. (String)
replaceReplaces a part of a container with another container. (String)
resizeChanges the length. (String)
resizeSpaceMakes free space in container (String)
scoreSeed Calculates the score of a seed. (String)
setHaystackSets the haystack of a Finder object. (String)
setNeedleSets the needle of a Pattern object and optionally induces preprocessing. (String)
shareResourcesDetermines whether two sequences share the same resource. (String)
slowNjTreeComputes a guide tree from a distance matrix. (String)
stringSetLimitsRetrieves a string of delimiter positions of a StringSet which is needed for local<->global position conversions. (String)
stringToShapeTakes a shape given as a string of '1' (relevant position) and '0' (irrelevant position) and converts it into a Shape object. (String)
suffixCreates suffix object. (String)
toCStringAccess sequence as c-style string. (String)
topological_sortPerforms a topological sort on a directed acyclic graph (DAG). (String)
upgmaTreeComputes a guide tree from a distance matrix. (String)
valueReference to the value. (String)
Remarks
The External String enables to access sequences larger than the available internal memory (RAM) by using external memory (e.g. Hard disk, Network storage, ...) via a File object. Sequences of nearly arbitrary size can be accessed, they can in particular contain more than 2^32 elements on a 32bit system (see Tag.ExternalConfigLarge). See the constructor for more details.
This String also supports fast appending and removing of values at the end (see Block String, appendValue)
The External String implements a LRU mechanism to swap out pages. The External String's Iterator detects a forward or backward iteration and asynchronously prefetches pages that certainly will be accessed and automatically swaps out pages that certainly won't be accessed any more in the iteration process.
The String is implemented like a virtual memory manager. It divides its character sequence into pages of a fixed length (e.g. 1MB) and maintains a page table with information for each page (e.g. resides in memory or was swapped out, is dirty and needs to be saved, ...). Besides the page table the String also contains a size-limited list of page frames. A page frame is reserved internal memory for a page. When accessing values of a page that is stored in external memory, the page is loaded to a page frame first. In case that there is no page frame free, another page is swapped out before to free a page frame.
SeqAn - Sequence Analysis Library - www.seqan.de