| 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. Types: ExternalConfig, ExternalConfigLarge, ExternalConfigSize Default: ExternalConfig
Specialization of String Implements Container Metafunctions
DefaultOverflowExplicit | The default overflow strategy for explicit resize. (String)
DefaultOverflowImplicit | The default overflow strategy for implicit resize. (String)
Infix | Infix sequence type. (String)
IsSequence | Determines whether a container stores its elements in sequential order. (String)
Iterator | Type of iterator objects that are used to traverse the container. (String)
Position | Type of an object that represents a position in a container. (String)
Prefix | Prefix sequence type. (String)
SAValue | The default alphabet type of a suffix array, i.e. the type to store a position of a string or string set. (String)
Spec | The spec of a class. (String)
Suffix | Suffix sequence type. (String)
Member Functions
String | Constructor
Functions
append | Concatenate two containers. (String)
assign | Assigns one object to another object. (String)
assignValue | Assigns value to item. (Container)
atNil | Tests whether iterator is at nil position. (String)
back | The last item in container. (Container)
begin | The begin of a container. (String)
beginPosition | Begin position of object in host. (String)
canParseString | Test whether an automaton can parse a string completely. (String)
capacity | The maximal length. (String)
clear | Resets an object. (String)
close | Closes a file.
collectLeaves | Returns all leaves underneath a given vertex. (String)
createOracle | Creates a factor oracle. (String)
createOracleOnReverse | Creates a factor oracle for the reversed string. (String)
createSuffixTrie | Creates a trie of all suffixes of a text. (String)
createTrie | Creates a trie. (String)
createTrieOnReverse | Creates a trie for all reversed keywords. (String)
determineConsensusSeq | Determines the consensus pattern of a given profile. (String)
empty | Test a container for being empty. (String)
end | The end of a container. (String)
endPosition | End position of object in host. (String)
erase | Erases a part of a container (String)
extendSeed | Extends a seed. (String)
extendSeeds | Extenstion of seeds. (String)
fill | Resizes and fills a container. (String)
flush | Waits for all open requests to complete.
front | The first item in container. (Container)
getAlignment | Constructs a alignment from a ChainedSeed. (String)
getDistanceMatrix | Computes a pairwise distance matrix from an alignment graph. (String)
getSuccessor | Gets 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)
getValue | Access to the value. (Container)
goDown | Iterates down one edge or a path in a tree. (String)
goNil | Moves iterator to nil position. (String)
heaviestIncreasingSubsequence | Computes the heaviest increasing subsequence. (String)
id | A value that identifies the underlying sequence. (String)
infix | Creates infix object. (String)
infixWithLength | Creates infix object. (String)
iter | Iterator to item at given position. (String)
length | The number of items/characters. (String)
longestCommonSubsequence | Computes the longest common subsequence. (String)
longestIncreasingSubsequence | Computes the longest increasing subsequence. (String)
moveValue | Assigns value to item. (Container)
open | Opens a file.
openTemp | Opens a temporary file.
parseString | Parses a string one character at a time and moves accordingly in the automaton. (String)
position | Position of an iterator. (Container)
prefix | Creates prefix object. (String)
replace | Replaces a part of a container with another container. (String)
resize | Changes the length. (String)
resizeSpace | Makes free space in container (String)
scoreSeed | Calculates the score of a seed. (String)
setHaystack | Sets the haystack of a Finder object. (String)
setNeedle | Sets the needle of a Pattern object and optionally induces preprocessing. (String)
shareResources | Determines whether two sequences share the same resource. (String)
slowNjTree | Computes a guide tree from a distance matrix. (String)
stringSetLimits | Retrieves a string of delimiter positions of a StringSet which is needed for local<->global position conversions. (String)
stringToShape | Takes a shape given as a string of '1' (relevant position) and '0' (irrelevant position) and converts it into a Shape object. (String)
suffix | Creates suffix object. (String)
toCString | Access sequence as c-style string. (String)
topological_sort | Performs a topological sort on a directed acyclic graph (DAG). (String)
upgmaTree | Computes a guide tree from a distance matrix. (String)
value | Reference 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. Example Programs ModReverse, ModView, Nested Modifiers SeqAn - Sequence Analysis Library - www.seqan.de