From 6cf7bf372ec8d2b0b51ae706b72bebc8d5132255 Mon Sep 17 00:00:00 2001 From: Bond_009 Date: Mon, 16 Dec 2024 10:19:42 +0100 Subject: [PATCH 1/4] Add Nextflow docs --- en/references/judges/netxflow-judge/index.md | 45 ++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 en/references/judges/netxflow-judge/index.md diff --git a/en/references/judges/netxflow-judge/index.md b/en/references/judges/netxflow-judge/index.md new file mode 100644 index 000000000..4d70f6fb1 --- /dev/null +++ b/en/references/judges/netxflow-judge/index.md @@ -0,0 +1,45 @@ +--- +title: "Nextflow judge" +description: "Nextflow judge" +order: 7 +--- +# Nextflow judge + +The Nextflow judge annotates the submitted code using CodeNarc, executes the submitted script and optionally checks the existence of directories and files. +A couple of bioinformatics tools are installed in the judge container by default, namely FastQC, MultiQC and Trimmomatic. +Also available are Perl and Python3. + +## Configuration + +The judge configuration is split between multiple files. + +Passing extra argument to Nextflow can be accomplished by modifying the exercises `config.json`: +```json +{ + "evaluation": { + "nextflow_arguments": "--reads /dev/null" + } +} +``` + +A `judge.json` configuration file inside of the `evaluation` directory that contains a JSON array of JSON objects. +Each object represents either a file or a directory, this is specified by the `type` property. +The object contains a `path` property which contains the expected location of the file/directory. +Additionally object representing files can also contain a `compare` or `regex` property. +`compare` should be the name of a file inside of the `workdir` with which the file at `path` should be compared with. +`regex` contains a ("extended") "regular expression that should match on the content of the file at `path`. +```json +[ + { "type": "directory", "path": "work" }, + { "type": "file", "path": "ggal_gut_1_fastqc.html" }, + { "type": "file", "path": "ggal_gut_1_fastqc.zip" }, + { "type": "file", "path": "ggal_gut_2_fastqc.html" }, + { "type": "file", "path": "ggal_gut_2_fastqc.zip" }, + { "type": "directory", "path": "multiqc" }, + { "type": "file", "path": "multiqc/multiqc_report.html" } +] +``` + +### Scripts +Due to limited available resources inside of the Dodona judge container it isn't always possible to run the tools required for an exercises. +To get around this a dummy script can be created that emulates the required tool, this script should be placed inside of the `resources/bin` directory of the exercise. From 7c8b5db344e20fb01ed19b2bee0a337ea575d377 Mon Sep 17 00:00:00 2001 From: James Collier Date: Mon, 16 Dec 2024 11:59:13 +0100 Subject: [PATCH 2/4] Add Nextflow to the list of Judges Small clarity edits to the judge docs. --- en/references/judges/index.md | 6 ++++++ .../{netxflow-judge => nextflow-judge}/index.md | 11 ++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) rename en/references/judges/{netxflow-judge => nextflow-judge}/index.md (78%) diff --git a/en/references/judges/index.md b/en/references/judges/index.md index 301668b0d..7301eb962 100644 --- a/en/references/judges/index.md +++ b/en/references/judges/index.md @@ -45,6 +45,12 @@ It does render the Markdown code of a student and can be useful to manually eval **Get started** [Documentation](https://github.com/dodona-edu/judge-markdown) \ **Created by:** [Team Dodona](mailto:dodona@ugent.be) +## Nextflow +The Nextflow judge uses CodeNarc to lint workflows and also checks the existence and contents of produced files.\ +**Programming languages:** Nextflow\ +**Get started** [Git repo](https://github.com/dodona-edu/judge-nextflow), [examples](https://github.com/Bond-009/dodona-nextflow-exercises) \ +**Created by:** [Lode Willems](mailto:bits@vib.be) + ## Prolog Prolog is a judge that can be used for exercises on the Prolog programming language. It supports PLUnit, QuickCheck and simple input output tests.\ diff --git a/en/references/judges/netxflow-judge/index.md b/en/references/judges/nextflow-judge/index.md similarity index 78% rename from en/references/judges/netxflow-judge/index.md rename to en/references/judges/nextflow-judge/index.md index 4d70f6fb1..d0f147e3c 100644 --- a/en/references/judges/netxflow-judge/index.md +++ b/en/references/judges/nextflow-judge/index.md @@ -6,7 +6,11 @@ order: 7 # Nextflow judge The Nextflow judge annotates the submitted code using CodeNarc, executes the submitted script and optionally checks the existence of directories and files. -A couple of bioinformatics tools are installed in the judge container by default, namely FastQC, MultiQC and Trimmomatic. +The following bioinformatics tools are available by default: +* FastQC +* MultiQC +* Trimmomatic. + Also available are Perl and Python3. ## Configuration @@ -28,6 +32,8 @@ The object contains a `path` property which contains the expected location of th Additionally object representing files can also contain a `compare` or `regex` property. `compare` should be the name of a file inside of the `workdir` with which the file at `path` should be compared with. `regex` contains a ("extended") "regular expression that should match on the content of the file at `path`. + +An example `judge.json`: ```json [ { "type": "directory", "path": "work" }, @@ -41,5 +47,4 @@ Additionally object representing files can also contain a `compare` or `regex` p ``` ### Scripts -Due to limited available resources inside of the Dodona judge container it isn't always possible to run the tools required for an exercises. -To get around this a dummy script can be created that emulates the required tool, this script should be placed inside of the `resources/bin` directory of the exercise. +Due to limited resources available to the judge, it isn't always possible to run the tools required for an exercise.To work around this limitation, I suggest you create a dummy script that emulates the behaviour of the required tool, this script should be placed inside of the `resources/bin` directory of the exercise. From b5242b8a9f47afdac54bfb7205e7f33cb7efe280 Mon Sep 17 00:00:00 2001 From: Bond_009 Date: Mon, 16 Dec 2024 13:20:17 +0100 Subject: [PATCH 3/4] Fix wrong docs --- en/references/judges/nextflow-judge/index.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/en/references/judges/nextflow-judge/index.md b/en/references/judges/nextflow-judge/index.md index d0f147e3c..8481b5545 100644 --- a/en/references/judges/nextflow-judge/index.md +++ b/en/references/judges/nextflow-judge/index.md @@ -29,9 +29,6 @@ Passing extra argument to Nextflow can be accomplished by modifying the exercise A `judge.json` configuration file inside of the `evaluation` directory that contains a JSON array of JSON objects. Each object represents either a file or a directory, this is specified by the `type` property. The object contains a `path` property which contains the expected location of the file/directory. -Additionally object representing files can also contain a `compare` or `regex` property. -`compare` should be the name of a file inside of the `workdir` with which the file at `path` should be compared with. -`regex` contains a ("extended") "regular expression that should match on the content of the file at `path`. An example `judge.json`: ```json @@ -47,4 +44,4 @@ An example `judge.json`: ``` ### Scripts -Due to limited resources available to the judge, it isn't always possible to run the tools required for an exercise.To work around this limitation, I suggest you create a dummy script that emulates the behaviour of the required tool, this script should be placed inside of the `resources/bin` directory of the exercise. +Due to limited resources available to the judge, it isn't always possible to run the tools required for an exercise. To work around this limitation, I suggest you create a dummy script that emulates the behaviour of the required tool, this script should be placed inside of the `resources/bin` directory of the exercise. From 0399b851abc62bc7b66835fe37d1374e496f914f Mon Sep 17 00:00:00 2001 From: Bond_009 Date: Mon, 16 Dec 2024 13:24:13 +0100 Subject: [PATCH 4/4] The Nextflow judge can't check file content (yet?) --- en/references/judges/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/en/references/judges/index.md b/en/references/judges/index.md index 7301eb962..cf7cacb56 100644 --- a/en/references/judges/index.md +++ b/en/references/judges/index.md @@ -46,7 +46,7 @@ It does render the Markdown code of a student and can be useful to manually eval **Created by:** [Team Dodona](mailto:dodona@ugent.be) ## Nextflow -The Nextflow judge uses CodeNarc to lint workflows and also checks the existence and contents of produced files.\ +The Nextflow judge uses CodeNarc to lint workflows and also checks the existence of produced files.\ **Programming languages:** Nextflow\ **Get started** [Git repo](https://github.com/dodona-edu/judge-nextflow), [examples](https://github.com/Bond-009/dodona-nextflow-exercises) \ **Created by:** [Lode Willems](mailto:bits@vib.be)