From f0587d1222919470bf8b0b1b8d936794a22f3088 Mon Sep 17 00:00:00 2001 From: Edmore Moyo Date: Thu, 17 Apr 2025 11:15:29 -0400 Subject: [PATCH 1/2] defining initial datatypes for input and output --- .gitignore | 3 ++- README.md | 25 +++++++++++++++++++++++++ config.json | 6 ++++++ input.json | 13 +++++++++++++ output.json | 13 +++++++++++++ 5 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 config.json create mode 100644 input.json create mode 100644 output.json diff --git a/.gitignore b/.gitignore index 6320cd2..7106392 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -data \ No newline at end of file +data +.DS_Store diff --git a/README.md b/README.md index cad16e8..3109864 100644 --- a/README.md +++ b/README.md @@ -16,3 +16,28 @@ To test, create `input` and `output` subfolders in the `data` directory. Create Re-Run: `docker-compose up --build` The testfile should be copied to the `data/output` directory. + + +Read all input parameters from a config.json file. config.json is created by brainlife.io at runtime on the current working directory. +Read all input data from paths specified in config.json (config.json contains both the input parameters; such as command line arguments as well as paths to data files; like t1.nii.gz) +Write all output files in the current directory (./), in a structure defined as a Brainlife datatype. More information about Brainlife datatypes. + +App Development Timeline +You would normally follow these steps to develop and register your App on Brainlife. + +Develop an algorithm that runs on your laptop or local cluster with your test datasets. +Create a sample config.json file. +Create main that parses config.json and passes it to your algorithm. +Publish it as public github repo. +Register your App on Brainlife. During this step, you can define what parameters and input file(s) should be made available to your App via config.json. +Contact resource administrators and ask them to enable your App (more below). + +examples: +https://github.com/BrainlifeMEEG/app-ICA-apply/tree/master +Datatype: https://brainlife.io/app/63358285db978c7991a30e5b + +References: +https://github.com/brainlife/abcd-spec +https://brainlife.io/docs/apps/introduction/ +https://brainlife.io/docs/user/datatypes/ +https://brainlife.io/docs/apps/register/ diff --git a/config.json b/config.json new file mode 100644 index 0000000..2fd1b34 --- /dev/null +++ b/config.json @@ -0,0 +1,6 @@ +[ + { + "numCores": 1, + "type": "int" + } +] \ No newline at end of file diff --git a/input.json b/input.json new file mode 100644 index 0000000..8aa0fe0 --- /dev/null +++ b/input.json @@ -0,0 +1,13 @@ +{ + "name" : "echo/input", + "desc" : "echo input", + "files" : [ + { + "id" : "fcs", + "filename" : "input.fcs", + "desc" : "fcs file", + "ext" : ".fcs", + "required" : true + } + ] +} \ No newline at end of file diff --git a/output.json b/output.json new file mode 100644 index 0000000..07e2cb5 --- /dev/null +++ b/output.json @@ -0,0 +1,13 @@ +{ + "name" : "echo/output", + "desc" : "echo output", + "files" : [ + { + "id" : "fcs", + "filename" : "output.csv", + "desc" : "csv file", + "ext" : ".csv", + "required" : true + } + ] +} \ No newline at end of file From f8c79767057e54c487c957804ed643e5e66788d7 Mon Sep 17 00:00:00 2001 From: Edmore Moyo Date: Thu, 17 Apr 2025 11:18:06 -0400 Subject: [PATCH 2/2] updates README --- README.md | 25 ------------------------- 1 file changed, 25 deletions(-) diff --git a/README.md b/README.md index 3109864..cad16e8 100644 --- a/README.md +++ b/README.md @@ -16,28 +16,3 @@ To test, create `input` and `output` subfolders in the `data` directory. Create Re-Run: `docker-compose up --build` The testfile should be copied to the `data/output` directory. - - -Read all input parameters from a config.json file. config.json is created by brainlife.io at runtime on the current working directory. -Read all input data from paths specified in config.json (config.json contains both the input parameters; such as command line arguments as well as paths to data files; like t1.nii.gz) -Write all output files in the current directory (./), in a structure defined as a Brainlife datatype. More information about Brainlife datatypes. - -App Development Timeline -You would normally follow these steps to develop and register your App on Brainlife. - -Develop an algorithm that runs on your laptop or local cluster with your test datasets. -Create a sample config.json file. -Create main that parses config.json and passes it to your algorithm. -Publish it as public github repo. -Register your App on Brainlife. During this step, you can define what parameters and input file(s) should be made available to your App via config.json. -Contact resource administrators and ask them to enable your App (more below). - -examples: -https://github.com/BrainlifeMEEG/app-ICA-apply/tree/master -Datatype: https://brainlife.io/app/63358285db978c7991a30e5b - -References: -https://github.com/brainlife/abcd-spec -https://brainlife.io/docs/apps/introduction/ -https://brainlife.io/docs/user/datatypes/ -https://brainlife.io/docs/apps/register/