Class FilterApplyingVariantIterator

  • All Implemented Interfaces:
    htsjdk.samtools.util.CloseableIterator<htsjdk.variant.variantcontext.VariantContext>, Closeable, AutoCloseable, Iterator<htsjdk.variant.variantcontext.VariantContext>

    public class FilterApplyingVariantIterator
    extends Object
    implements htsjdk.samtools.util.CloseableIterator<htsjdk.variant.variantcontext.VariantContext>
    Iterator that dynamically applies filter strings to VariantContext records supplied by an underlying iterator. Returns all records from the underlying stream and does not remove any.
    • Field Detail

      • ALL_GTS_FILTERED

        public static final String ALL_GTS_FILTERED
        Filter string that is used to filter a Variant when all variant genotypes are filtered out.
        See Also:
        Constant Field Values
    • Constructor Detail

      • FilterApplyingVariantIterator

        public FilterApplyingVariantIterator​(Iterator<htsjdk.variant.variantcontext.VariantContext> iterator,
                                             Collection<VariantFilter> filters,
                                             Collection<GenotypeFilter> gtFilters)
        Constructs an iterator from an underlying iterator and the provided (possibly empty) collections of variant and genotype filters.
    • Method Detail

      • next

        public htsjdk.variant.variantcontext.VariantContext next()
        Provides the next record from the underlying iterator after applying filter strings generated by the set of filters in use by the iterator.
        Specified by:
        next in interface Iterator<htsjdk.variant.variantcontext.VariantContext>
      • hasNext

        public boolean hasNext()
        Specified by:
        hasNext in interface Iterator<htsjdk.variant.variantcontext.VariantContext>
      • close

        public void close()
        Specified by:
        close in interface AutoCloseable
        Specified by:
        close in interface Closeable
        Specified by:
        close in interface htsjdk.samtools.util.CloseableIterator<htsjdk.variant.variantcontext.VariantContext>
      • remove

        public void remove()
        Specified by:
        remove in interface Iterator<htsjdk.variant.variantcontext.VariantContext>