public static void checkTransformedVariants(String file) { if (!isTransformedVariants(file)) { throw new IllegalArgumentException("Not a valid transformed variants file : " + file); } }
public static String getOriginalFromTransformedFile(String variantsFile) { if (isTransformedVariants(variantsFile)) { int idx = variantsFile.lastIndexOf(VARIANTS_FILE); return variantsFile.substring(0, idx - 1); } else if (isMetaFile(variantsFile)) { int idx = variantsFile.lastIndexOf(METADATA_FILE); return variantsFile.substring(0, idx - 1); } else { return variantsFile; } }
@Test public void validVariantsFile() { assertTrue(VariantReaderUtils.isTransformedVariants("file.vcf.gz.variants.avro.gz")); assertTrue(VariantReaderUtils.isTransformedVariants("file.vcf.gz.variants.avro")); assertTrue(VariantReaderUtils.isTransformedVariants("file.vcf.gz.variants.json")); assertTrue(VariantReaderUtils.isTransformedVariants("file.vcf.gz.variants.json.gz")); assertTrue(VariantReaderUtils.isTransformedVariants("file.vcf.gz.variants.proto.gz")); assertTrue(VariantReaderUtils.isTransformedVariants("file.vcf.gz.variants.proto")); assertFalse(VariantReaderUtils.isTransformedVariants("file.vcf.gz.variants.gz.txt")); assertFalse(VariantReaderUtils.isTransformedVariants("file.vcf.gz.variants.gz")); assertFalse(VariantReaderUtils.isTransformedVariants("file.vcf")); assertFalse(VariantReaderUtils.isTransformedVariants("s1_variants.genomes.vcf.gz")); assertTrue(VariantReaderUtils.isMetaFile("file.vcf.file.json.gz")); assertFalse(VariantReaderUtils.isMetaFile("file.vcf.file.json")); assertFalse(VariantReaderUtils.isMetaFile("file.vcf.file.avro.gz")); assertFalse(VariantReaderUtils.isMetaFile("file.vcf.file.avro")); assertFalse(VariantReaderUtils.isMetaFile("file.vcf.file.proto")); }
if (VariantReaderUtils.isTransformedVariants(file.getName())) { if (transformedFiles != null) {
if (isTransformedVariants(input.toString())) { input = getMetaFromTransformedFile(input);
@Test public void testIndexByStepsExternallyTransformed() throws Exception { QueryOptions queryOptions = new QueryOptions(VariantFileIndexerStorageOperation.TRANSFORM, true) // TODO: Should work without isolating transformation? .append(VariantStorageEngine.Options.ISOLATE_FILE_FROM_STUDY_CONFIGURATION.key(), true); // File transformFile = transformFile(getFile(0), queryOptions); String outdir = opencga.createTmpOutdir(studyId, "_TRANSFORM_", sessionId); List<StoragePipelineResult> etlResults = variantManager.index(studyId, getFile(0).getPath(), outdir, queryOptions, sessionId); File transformFile = null; create(studyId2, catalogManager.getFileManager().getUri(getFile(0))); for (java.io.File file : Paths.get(UriUtils.createUri(outdir)).toFile().listFiles()) { File f = create(studyId2, file.toURI()); if (VariantReaderUtils.isTransformedVariants(file.toString())) { assertNull(transformFile); transformFile = f; } } assertNotNull(transformFile); catalogManager.getFileManager().matchUpVariantFiles(studyId2, singletonList(transformFile), sessionId); queryOptions = new QueryOptions().append(VariantStorageEngine.Options.ANNOTATE.key(), false) .append(VariantStorageEngine.Options.CALCULATE_STATS.key(), true); loadFile(transformFile, queryOptions, outputId2); }