Final documentation for LocusIteratorByState
This commit is contained in:
parent
6a91902aa2
commit
e3e3ae29b2
|
|
@ -48,6 +48,24 @@ import java.util.*;
|
||||||
* Produces AlignmentContext objects, that contain ReadBackedPileups of PileupElements. This
|
* Produces AlignmentContext objects, that contain ReadBackedPileups of PileupElements. This
|
||||||
* class has its core job of converting an iterator of ordered SAMRecords into those
|
* class has its core job of converting an iterator of ordered SAMRecords into those
|
||||||
* RBPs.
|
* RBPs.
|
||||||
|
*
|
||||||
|
* There are a few constraints on required and ensured by LIBS:
|
||||||
|
*
|
||||||
|
* -- Requires the Iterator<SAMRecord> to returns reads in coordinate sorted order, consistent with the ordering
|
||||||
|
* defined by the SAM file format. That that for performance reasons this constraint isn't actually enforced.
|
||||||
|
* The behavior of LIBS is undefined in the case where the reads are badly ordered.
|
||||||
|
* -- The reads in the ReadBackedPileup are themselves in the order of appearance of the reads from the iterator.
|
||||||
|
* That is, the pileup is ordered in a way consistent with the SAM coordinate ordering
|
||||||
|
* -- Only aligned reads with at least one on-genomic cigar operator are passed on in the pileups. That is,
|
||||||
|
* unmapped reads or reads that are all insertions (10I) or soft clipped (10S) are not passed on.
|
||||||
|
* -- LIBS can perform per-sample downsampling of a variety of kinds.
|
||||||
|
* -- Because of downsampling there's no guarantee that:
|
||||||
|
* -- A read that could be aligned to a position will actually occur in the pileup (downsampled away)
|
||||||
|
* -- A read that appears in a previous pileup that could align to a future position will actually occur
|
||||||
|
* in that pileup. That is, a read might show up at position i but be downsampled away in the pileup at j
|
||||||
|
* -- LIBS can optionally capture all of the reads that come off the iterator, before any leveling downsampling
|
||||||
|
* occurs, if requested. This allows users of LIBS to see both a ReadBackedPileup view of the data as well as
|
||||||
|
* a stream of unique, sorted reads
|
||||||
*/
|
*/
|
||||||
public class LocusIteratorByState extends LocusIterator {
|
public class LocusIteratorByState extends LocusIterator {
|
||||||
/**
|
/**
|
||||||
|
|
@ -120,7 +138,20 @@ public class LocusIteratorByState extends LocusIterator {
|
||||||
readInformation.keepUniqueReadListInLIBS());
|
readInformation.keepUniqueReadListInLIBS());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected LocusIteratorByState(final Iterator<SAMRecord> samIterator,
|
/**
|
||||||
|
* Create a new LocusIteratorByState
|
||||||
|
*
|
||||||
|
* @param samIterator the iterator of reads to process into pileups. Reads must be ordered
|
||||||
|
* according to standard coordinate-sorted BAM conventions
|
||||||
|
* @param downsamplingInfo meta-information about how to downsampling the reads
|
||||||
|
* @param genomeLocParser used to create genome locs
|
||||||
|
* @param samples a complete list of samples present in the read groups for the reads coming from samIterator.
|
||||||
|
* This is generally just the set of read group sample fields in the SAMFileHeader. This
|
||||||
|
* list of samples may contain a null element, and all reads without read groups will
|
||||||
|
* be mapped to this null sample
|
||||||
|
* @param maintainUniqueReadsList if true, we will keep the unique reads from off the samIterator and make them
|
||||||
|
* available via the transferReadsFromAllPreviousPileups interface
|
||||||
|
*/ protected LocusIteratorByState(final Iterator<SAMRecord> samIterator,
|
||||||
final LIBSDownsamplingInfo downsamplingInfo,
|
final LIBSDownsamplingInfo downsamplingInfo,
|
||||||
final boolean includeReadsWithDeletionAtLoci,
|
final boolean includeReadsWithDeletionAtLoci,
|
||||||
final GenomeLocParser genomeLocParser,
|
final GenomeLocParser genomeLocParser,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue