public static VariantVcfHtsjdkReader getVariantVcfReader(Path input, VariantStudyMetadata metadata, boolean stdin) { if (metadata == null) { VariantFileMetadata variantFileMetadata = createEmptyVariantFileMetadata(input); metadata = variantFileMetadata.toVariantStudyMetadata(""); } if (stdin) { return new VariantVcfHtsjdkReader(System.in, metadata); } else { return new VariantVcfHtsjdkReader(input, metadata); } }
protected VariantFileMetadata createEmptyVariantFileMetadata(Path input) { VariantFileMetadata fileMetadata = VariantReaderUtils.createEmptyVariantFileMetadata(input); int fileId; if (options.getBoolean(Options.ISOLATE_FILE_FROM_STUDY_CONFIGURATION.key(), Options.ISOLATE_FILE_FROM_STUDY_CONFIGURATION .defaultValue())) { fileId = -1; } else { fileId = getFileId(); } return fileMetadata.setId(Integer.toString(fileId)); }
/** * 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); } }
throws StorageEngineException { if (metadata == null) { metadata = createEmptyVariantFileMetadata(input);