iPE::SequenceReader::NoLoad(3)

NAME
iPE::SequenceReader::NoLoad - Base class of sequence readers which do not store the acutal data in memory.

DESCRIPTION
NoLoad sequences are ones implemented to save on memory by never actually loading the sequence into memory. This is a base class, which reads in the size of the file, the header, and the header length itself. Typically all NoLoad sequences will have a FASTA style header, regardless of whether they conform to FASTA standards.

Some subclass will be needed to implement this

FUNCTIONS

new (members)
    This initializes the filehandle (by inheritence) then retrieves the header, and file size. Subclasses will need to do more with the information provided by the file in order to do proper calculations for subsequence offsets.

fileSize (), header (), headerLength ()
    fileSize () is the total size of the file. header () is the chomped and ">" free part of the FASTA header, and headerLength () is the original length of the header.

getSeq (start, end[, seqNum]), getRevSeq (start, length)
    This routine is nonexistent in the base class, but is a prototype for all sequences which fall under the NoLoad category. The sequences in NoLoad should implement a getSeq routine similar to this one such that the subsequence from start to end of the seqNum-th sequence (if defined, 0 by default) is retrieved. Note that getRevSeq also reverse-complements the sequence.

getContext (pos, order[, targetOrder])
    This routine (again, unimplemented in the base class) is a prototype for all NoLoad sequences. This should return the context, in whatever expected format is there for this sequence type, of the base at position pos with order order. That is if you pass 15, 1, it will return the base at position 15 plus the previous base. targetOrder is specified for multiple sequence NoLoads, and is relevant when a different context size is expected for the target sequence from the informant sequences.

SEE ALSO
iPE::SequenceReader

AUTHOR
Bob Zimmermann (rpz@cse.wustl.edu) (With much acknowledgement to Sam Gross's code).