Skip to content

Commit

Permalink
use validator
Browse files Browse the repository at this point in the history
  • Loading branch information
Remi-Gau committed Sep 12, 2024
1 parent 8527ebd commit c6500c6
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 9 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,9 @@ jobs:
- name: Run simple commands
run: |
docker run --rm ${{env.USER_NAME}}/${{env.REPO_NAME}} --help
docker run --rm ${{env.USER_NAME}}/${{env.REPO_NAME}} . . participant view tfce --verbose 3
docker run --rm ${{env.USER_NAME}}/${{env.REPO_NAME}} . /foo participant view tfce --verbose 3
docker run --rm ${{env.USER_NAME}}/${{env.REPO_NAME}} . /foo participant copy tfce --verbose 3
docker run --rm ${{env.USER_NAME}}/${{env.REPO_NAME}} . /foo segment --help
docker run --rm ${{env.USER_NAME}}/${{env.REPO_NAME}} . /foo participant segment --help
- name: Save docker image
run: |
mkdir -p ${{ env.IMAGE }}
Expand Down
9 changes: 7 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,10 @@ ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu:/opt/MCR-${MCR_V
MATLABCMD="/opt/MCR-${MCR_VERSION}/v93/toolbox/matlab" \
XAPPLRESDIR="/opt//opt/MCR-${MCR_VERSION}/v93/x11/app-defaults" \
MCRROOT="/opt/MCR-${MCR_VERSION}/v93" \
CAT_VERSION=".8.1_r2042_R${MCR_VERSION}"
CAT_VERSION=".8.1_r2042_R${MCR_VERSION}" \
DENO_INSTALL="/root/.deno"
ENV SPMROOT="/opt/CAT12${CAT_VERSION}" \
PATH="/opt/CAT12${CAT_VERSION}:$PATH" \
PATH="$DENO_INSTALL/bin:/opt/CAT12${CAT_VERSION}:$PATH" \
STANDALONE="/opt/CAT12${CAT_VERSION}/standalone"

RUN export ND_ENTRYPOINT="/neurodocker/startup.sh" \
Expand Down Expand Up @@ -64,6 +65,10 @@ RUN echo "Downloading standalone CAT12 ..." \
# Test
&& /opt/CAT12${CAT_VERSION}/spm12 function exit

## Install BIDS validator
RUN curl -fsSL https://deno.land/install.sh | sh && \
deno install -Agf -n bids-validator jsr:@bids/[email protected]

# transfer code and set permission
RUN mkdir -p /code
COPY ./code/requirements.txt /code
Expand Down
14 changes: 10 additions & 4 deletions code/_parsers.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ def _add_common_arguments(parser: ArgumentParser) -> ArgumentParser:
nargs="+",
required=False,
)
parser = _add_versbose(parser)
parser = _add_verbose(parser)
parser.add_argument(
"--bids_filter_file",
help="""
Expand All @@ -73,6 +73,12 @@ def _add_common_arguments(parser: ArgumentParser) -> ArgumentParser:
""",
required=False,
)
parser.add_argument(
"--skip_validation",
help="Do not run the bids validation.",
action="store_true",
required=False,
)
return parser


Expand All @@ -90,7 +96,7 @@ def _add_target(parser, with_all=False):
return parser


def _add_versbose(parser):
def _add_verbose(parser):
parser.add_argument(
"--verbose",
help="""
Expand Down Expand Up @@ -127,15 +133,15 @@ def common_parser(
formatter_class=parser.formatter_class,
)
view_parser = _add_target(view_parser)
view_parser = _add_versbose(view_parser)
view_parser = _add_verbose(view_parser)

copy_parser = subparsers.add_parser(
"copy",
help="Copy batch to output_dir.",
formatter_class=parser.formatter_class,
)
copy_parser = _add_target(copy_parser, with_all=True)
copy_parser = _add_versbose(copy_parser)
copy_parser = _add_verbose(copy_parser)

segment_parser = subparsers.add_parser(
"segment",
Expand Down
11 changes: 11 additions & 0 deletions code/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,9 @@ def main():
)
sys.exit(EXIT_CODES["DATAERR"]["Value"])

if not args.skip_validation:
run_validation(bids_dir)

layout_in = get_dataset_layout(bids_dir)

output_dir = output_dir / f"CAT12_{__version__}"
Expand Down Expand Up @@ -231,5 +234,13 @@ def copy_files(layout_in, output_dir, subjects):
progress.update(copy_loop, advance=1)


def run_validation(bids_dir):
"""Run bids validator."""
try:
subprocess.run(f"bids-validator {bids_dir}", shell=True, check=True)
except subprocess.CalledProcessError:
sys.exit(EXIT_CODES["DATAERR"]["Value"])


if __name__ == "__main__":
main()
2 changes: 1 addition & 1 deletion makefile
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ copy:
docker run --rm -it cat12 . /foo participant copy tfce --verbose 3

segment: tests/data/MoAEpilot
docker run --rm -it -v $${PWD}/tests/data/MoAEpilot:/data cat12 /data /data/derivatives participant segment --verbose 3 --type segment
docker run --rm -it -v $${PWD}/tests/data/MoAEpilot:/data cat12 /data /data/derivatives participant segment --verbose 3 --type default

simple: tests/data/MoAEpilot
docker run --rm -it -v $${PWD}/tests/data/MoAEpilot:/data cat12 /data /data/derivatives participant segment --verbose 3 --type simple
Expand Down

0 comments on commit c6500c6

Please sign in to comment.