public static VariantVcfHtsjdkReader getVariantVcfReader(Path input, VariantStudyMetadata metadata) { return getVariantVcfReader(input, metadata, false); }
public static Pair<VCFHeader, VCFHeaderVersion> readHtsHeader(Path input, boolean stdin) throws StorageEngineException { if (stdin) { markStdin(); } VariantVcfHtsjdkReader vcfReader = VariantReaderUtils.getVariantVcfReader(input, null, stdin); vcfReader.open(); vcfReader.pre(); VCFHeader vcfHeader = vcfReader.getVCFHeader(); VCFHeaderVersion version = vcfReader.getVCFHeaderVersion(); vcfReader.close(); if (stdin) { resetStdin(); } return Pair.of(vcfHeader, version); }
/** * Get a variant data reader depending on the type of the input file. * * @param input Stream Input variant file (avro, json, vcf) * @param metadata Optional VariantSource * @param stdin Indicate if the file should be read from the Standard Input * @return VariantReader * @throws StorageEngineException if the format is not valid or there is an error reading */ public static VariantReader getVariantReader(Path input, VariantStudyMetadata metadata, boolean stdin) throws StorageEngineException { String fileName = input.getFileName().toString(); if (metadata == null) { VariantFileMetadata variantFileMetadata = createEmptyVariantFileMetadata(input); metadata = variantFileMetadata.toVariantStudyMetadata(""); } if (isJson(fileName)) { return getVariantJsonReader(input, metadata); } else if (isAvro(fileName)) { return getVariantAvroReader(input, metadata, stdin); } else if (isVcf(fileName)) { return getVariantVcfReader(input, metadata, stdin); } else { throw variantInputNotSupported(input); } }
VariantStudyMetadata metadata = new VariantFileMetadata(fileName, fileName).toVariantStudyMetadata("s"); ParallelTaskRunner<Variant, Void> ptr = new ParallelTaskRunner<>( VariantReaderUtils.getVariantVcfReader(Paths.get(fileName), metadata), variantList -> { for (Variant variant : variantList) {
VariantVcfHtsjdkReader reader = VariantReaderUtils.getVariantVcfReader(Paths.get(smallInputUri.getPath()), null); reader.open(); reader.pre();