diff --git a/src/test/groovy/life/qbic/utils/NanoporeParserSpec.groovy b/src/test/groovy/life/qbic/utils/NanoporeParserSpec.groovy index 10faffb..477951e 100644 --- a/src/test/groovy/life/qbic/utils/NanoporeParserSpec.groovy +++ b/src/test/groovy/life/qbic/utils/NanoporeParserSpec.groovy @@ -139,6 +139,32 @@ class NanoporeParserSpec extends Specification { assert experiment.getMeasurements().get(0).getLibraryPreparationKit() == "SQK-LSK109-XL" } + def "parsing a valid minimal file structure with bam files and dorado basecalling returns an OxfordNanoporeExperiment"() { + given: + def pathToDirectory = Paths.get(exampleDirectoriesRoot, "validates/QABCD001AB_E12A345a01_PAE12345_minimal_bam") + when: + def experiment = NanoporeParser.parseFileStructure(pathToDirectory) + then: + assert experiment instanceof OxfordNanoporeExperiment + // Check that the metadata from the report file has been retrieved + assert experiment.getMeasurements().get(0).getMachineHost() == "PCT0094" + // Check that the metadata from the summary file has been retrieved + assert experiment.getMeasurements().get(0).getLibraryPreparationKit() == "SQK-LSK109-XL" + } + + def "parsing a valid minimal file structure with pod5 files and dorado basecalling returns an OxfordNanoporeExperiment"() { + given: + def pathToDirectory = Paths.get(exampleDirectoriesRoot, "validates/QABCD001AB_E12A345a01_PAE12345_minimal_pod5") + when: + def experiment = NanoporeParser.parseFileStructure(pathToDirectory) + then: + assert experiment instanceof OxfordNanoporeExperiment + // Check that the metadata from the report file has been retrieved + assert experiment.getMeasurements().get(0).getMachineHost() == "PCT0094" + // Check that the metadata from the summary file has been retrieved + assert experiment.getMeasurements().get(0).getLibraryPreparationKit() == "SQK-LSK109-XL" + } + def "parsing a valid file structure for dorado based basecalling containing additional unknown files and folder still returns an OxfordNanoporeExperiment Object"() { given: def pathToDirectory = Paths.get(exampleDirectoriesRoot, "validates/QABCD001AB_E12A345a01_PAE12345_nanopore_valid_dorado_example") diff --git a/src/test/resources/dummyFileSystem/nanopore-instrument-output/validates/QABCD001AB_E12A345a01_PAE12345_nanopore_valid_dorado_minimal/20200122_1217_1-A1-B1-PAE12345_1234567a/pod5_fail/myfile.pod5 b/src/test/resources/dummyFileSystem/nanopore-instrument-output/validates/QABCD001AB_E12A345a01_PAE12345_nanopore_valid_dorado_minimal/20200122_1217_1-A1-B1-PAE12345_1234567a/pod5_fail/myfile.pod5 new file mode 100644 index 0000000..a46c98a --- /dev/null +++ b/src/test/resources/dummyFileSystem/nanopore-instrument-output/validates/QABCD001AB_E12A345a01_PAE12345_nanopore_valid_dorado_minimal/20200122_1217_1-A1-B1-PAE12345_1234567a/pod5_fail/myfile.pod5 @@ -0,0 +1 @@ +This is some text diff --git a/src/test/resources/dummyFileSystem/nanopore-instrument-output/validates/QABCD001AB_E12A345a01_PAE12345_nanopore_valid_dorado_minimal/20200122_1217_1-A1-B1-PAE12345_1234567a/pod5_fail/myfile2.pod5 b/src/test/resources/dummyFileSystem/nanopore-instrument-output/validates/QABCD001AB_E12A345a01_PAE12345_nanopore_valid_dorado_minimal/20200122_1217_1-A1-B1-PAE12345_1234567a/pod5_fail/myfile2.pod5 new file mode 100644 index 0000000..a46c98a --- /dev/null +++ b/src/test/resources/dummyFileSystem/nanopore-instrument-output/validates/QABCD001AB_E12A345a01_PAE12345_nanopore_valid_dorado_minimal/20200122_1217_1-A1-B1-PAE12345_1234567a/pod5_fail/myfile2.pod5 @@ -0,0 +1 @@ +This is some text diff --git a/src/test/resources/dummyFileSystem/nanopore-instrument-output/validates/QABCD001AB_E12A345a01_PAE12345_nanopore_valid_dorado_minimal/20200122_1217_1-A1-B1-PAE12345_1234567a/pod5_fail/myfile3.pod5 b/src/test/resources/dummyFileSystem/nanopore-instrument-output/validates/QABCD001AB_E12A345a01_PAE12345_nanopore_valid_dorado_minimal/20200122_1217_1-A1-B1-PAE12345_1234567a/pod5_fail/myfile3.pod5 new file mode 100644 index 0000000..a46c98a --- /dev/null +++ b/src/test/resources/dummyFileSystem/nanopore-instrument-output/validates/QABCD001AB_E12A345a01_PAE12345_nanopore_valid_dorado_minimal/20200122_1217_1-A1-B1-PAE12345_1234567a/pod5_fail/myfile3.pod5 @@ -0,0 +1 @@ +This is some text diff --git a/src/test/resources/dummyFileSystem/nanopore-instrument-output/validates/QABCD001AB_E12A345a01_PAE12345_nanopore_valid_dorado_minimal/20200122_1217_1-A1-B1-PAE12345_1234567a/pod5_fail/myfile4.pod5 b/src/test/resources/dummyFileSystem/nanopore-instrument-output/validates/QABCD001AB_E12A345a01_PAE12345_nanopore_valid_dorado_minimal/20200122_1217_1-A1-B1-PAE12345_1234567a/pod5_fail/myfile4.pod5 new file mode 100644 index 0000000..a46c98a --- /dev/null +++ b/src/test/resources/dummyFileSystem/nanopore-instrument-output/validates/QABCD001AB_E12A345a01_PAE12345_nanopore_valid_dorado_minimal/20200122_1217_1-A1-B1-PAE12345_1234567a/pod5_fail/myfile4.pod5 @@ -0,0 +1 @@ +This is some text diff --git a/src/test/resources/dummyFileSystem/nanopore-instrument-output/validates/QABCD001AB_E12A345a01_PAE12345_nanopore_valid_dorado_minimal/20200122_1217_1-A1-B1-PAE12345_1234567a/pod5_fail/myfile5.pod5 b/src/test/resources/dummyFileSystem/nanopore-instrument-output/validates/QABCD001AB_E12A345a01_PAE12345_nanopore_valid_dorado_minimal/20200122_1217_1-A1-B1-PAE12345_1234567a/pod5_fail/myfile5.pod5 new file mode 100644 index 0000000..a46c98a --- /dev/null +++ b/src/test/resources/dummyFileSystem/nanopore-instrument-output/validates/QABCD001AB_E12A345a01_PAE12345_nanopore_valid_dorado_minimal/20200122_1217_1-A1-B1-PAE12345_1234567a/pod5_fail/myfile5.pod5 @@ -0,0 +1 @@ +This is some text