bids-apps / HCPPipelines

A BIDS App for minimal preprocessing using the HCP Pipelines
33 stars 30 forks source link

BIDs issue- 'BIDS root does not exist' #66

Closed daniellekurtin closed 3 years ago

daniellekurtin commented 3 years ago

Hello, I hope this finds you well.

I am trying to run the unprocessed HCP Wu-Minn 1200 dataset using the HCP PreProcessing Pipeline Docker App. To ensure my data was in BIDS format, I found the BIDs validator website and ensured my data was in BIDs format. I then tried to run my data, and received a BIDS-related error stating a BIDs root doesn't exist (when the path it's referring to definitley exists). Help would be really appreciated!!

(base) dk00549@bigdata-master01:/vol/research/nemo/HCP/Scripts$ cat c524.p0.error Traceback (most recent call last): File "/run.py", line 246, in layout = BIDSLayout(args.bids_dir, derivatives=False, absolute_paths=True) File "/usr/local/miniconda/lib/python3.7/site-packages/bids/layout/layout.py", line 230, in init self._validate_root() File "/usr/local/miniconda/lib/python3.7/site-packages/bids/layout/layout.py", line 460, in _validate_root raise ValueError("BIDS root does not exist: %s" % self.root) ValueError: BIDS root does not exist: /vol/research/nemo/HCP/UnprocessedHCPSubjects

pvelasco commented 3 years ago

Probably the path that you used (/vol/research/nemo/HCP/UnprocessedHCPSubjects) does not exist inside the Docker container (you need to mount it). Can you post the exact docker run command that you used?

daniellekurtin commented 3 years ago

Hi Pablo, thank you for responding! I run it using a .submit_file, rather than a "docker run" command, as the .submit_file is needed for the HTCondor workflow management system used on the High Performance Computing cluster at my uni. Unfortunately, the .submit_file leaves little room for debugging- what are your thoughts? I've attached it as a .txt file since Github doesn't accept uploads of files ending .submit_file :)

HCPPreprocesing.submit_file.txt

pvelasco commented 3 years ago

Hi @daniellekurtin, I'm not familiar with HTCondor systems, but it looks like in the configuration file you specify which Docker image you want to run, and which arguments to pass to the default application in the container. I found this HTCondor documentation, and in the Docker universe applications section they mention that, by default, only the scratch space is mounted inside the Docker container. So you should probably reach out to your HTCondor support people and ask them how to mount inside the Docker container the folder that contains your data (/user/HS228/dk00549/HCP/HCPSubjects). (Note: because your output folder is a subdirectory of the input folder, you don't need to mount that one too.)

daniellekurtin commented 3 years ago

Hello Pablo,

Thank you for your suggestion; it matches advice our IT department has suggested today. And paired with the documentation you shared; it makes sense. Thank you for your time and effort, I really appreciate it!

Cheers,

Danielle


Danielle Kurtin, BSc MSc Neuroscience | Psychology University of Surrey | PhD Candidate Imperial College London | Visiting Researcher e: danielle.kurtin18@imperial.ac.uk web page: https://www.imperial.ac.uk/people/danielle.kurtin18



From: Pablo Velasco notifications@github.com Sent: Monday, February 22, 2021 5:50 PM To: BIDS-Apps/HCPPipelines HCPPipelines@noreply.github.com Cc: Kurtin, Danielle danielle.kurtin18@imperial.ac.uk; Mention mention@noreply.github.com Subject: Re: [BIDS-Apps/HCPPipelines] BIDs issue- 'BIDS root does not exist' (#66)

This email from notifications@github.com originates from outside Imperial. Do not click on links and attachments unless you recognise the sender. If you trust the sender, add them to your safe senders listhttps://spam.ic.ac.uk/SpamConsole/Senders.aspx to disable email stamping for this address.

Hi @daniellekurtinhttps://github.com/daniellekurtin, I'm not familiar with HTCondor systems, but it looks like in the configuration file you specify which Docker image you want to run, and which arguments to pass to the default application in the container. I found this HTCondor documentationhttps://htcondor.readthedocs.io/, and in the Docker universe applications sectionhttps://htcondor.readthedocs.io/en/latest/users-manual/docker-universe-applications.html they mention that, by default, only the scratch space is mounted inside the Docker container. So you should probably reach out to your HTCondor support people and ask them how to mount inside the Docker container the folder that contains your data (/user/HS228/dk00549/HCP/HCPSubjects). (Note: because your output folder is a subdirectory of the input folder, you don't need to mount that one too.)

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/BIDS-Apps/HCPPipelines/issues/66#issuecomment-783553222, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AK2JZTUE5LV7HTFY2STILS3TAKKNXANCNFSM4X4PJFFQ.