public class MemoryMappedVcfLineParser extends java.lang.Object implements VcfLineParser
VcfLineParser that loads an entire VCF file into memory to permit
constant-time lookup for VCF records, either:
ID field, orThis implementation is memory-intensive and should only be used for short VCF files where repeated arbitrary (random) access to VCF records is required.
By default, an IllegalArgumentException is thrown each time a duplicate ID or locus is found.
To change this behavior, see MemoryMappedVcfLineParser.Builder.setDuplicateLocusHandler(org.pharmgkb.parser.vcf.MemoryMappedVcfLineParser.DuplicateHandler) and MemoryMappedVcfLineParser.Builder.setDuplicateLocusHandler(org.pharmgkb.parser.vcf.MemoryMappedVcfLineParser.DuplicateHandler).
| Modifier and Type | Class and Description |
|---|---|
static class |
MemoryMappedVcfLineParser.Builder |
static class |
MemoryMappedVcfLineParser.DuplicateHandler
What to do when a duplicate VCF record (line) is encountered.
|
| Modifier and Type | Method and Description |
|---|---|
MemoryMappedVcfDataStore |
getDataStore() |
void |
parseLine(VcfMetadata metadata,
VcfPosition position,
java.util.List<VcfSample> sampleData) |
@Nonnull public MemoryMappedVcfDataStore getDataStore()
public void parseLine(VcfMetadata metadata, VcfPosition position, java.util.List<VcfSample> sampleData)
parseLine in interface VcfLineParser