AtlasPack 'get' failing

Summary of what happened:

Hi! I have been trying to clone AtlasPack using datalad in order to access the tpl-MNI152NLin6Asym_atlas-4S456Parcels_res-01_dseg.nii file. While I can clone the dataset successfully using DataLad, when I try to ‘get’ the file I get the below error. I’m using a remote system but have previously been able to clone and ‘get’ other files without issues. Thanks for any insight into how to debug this!

Command used (and if a helper script was used, a link to the helper script or the command generated):

datalad get tpl-MNI152NLin6Asym_atlas-4S456Parcels_*

Error message:

get(error): tpl-MNI152NLin6Asym_atlas-4S456Parcels_res-01_dseg.nii.gz (file) [not available; (Note that these git remotes have annex-ignore set: origin)]  

Hi @lucinda,

Can you try downloading the atlaspack docker/singularity image (pennlinc/atlaspack:0.1.0) and copying the files from there? The files should be in /AtlasPack in the container.

Best,
Steven

@tsalo is this the same error you’re seeing with your openneuro datalad gets? I wonder if there’s something going on with git annex

1 Like

Hi Steven! Thanks so much for your quick reply. Not sure if I’m missing something, but after pulling the docker image for AtlasPack 0.1.0 and saving it into a .tar file, I’m not seeing an /AtlasPack folder, just one called /blobs. There don’t seem to be any atlas files that I can see. Thanks so much again for any insight!

Hi @lucinda,

Enter the container with singularity shell -e -B $PATH_YOU_WANT_TO_WRITE_TO $IMG and then you should be able to copy from /AtlasPack to $PATH_YOU_WANT_TO_WRITE_TO with cp /AtlasPack/$FILE_YOU_WANT_TO_COPY $PATH_YOU_WANT_TO_WRITE_TO/.

Best,
Steven

Hi @Steven,

Thank you for these steps! I tried that earlier but get a fatal error that “/bin/sh does not exist in container”. So strange–I just tried rebuilding the container and don’t get any errors there. Thanks again for your thoughts!

Hi @lucinda,
What about with

singularity exec --bind $PWD:/host-dir /path/to/your/container.sif cp /AtlasPack/tpl-MNI152NLin6Asym_atlas-4S456Parcels_res-01_dseg.nii.gz /host-dir/

and if that doesn’t work try adding --shell /bin/bash in the exec arguments.

Best,
Steven

Hi @Steven! Thank you so much. Tried these but unfortunately got the following errors:

singularity exec --bind $PWD:/host-dir /path/to/your/container.sif cp /AtlasPack/tpl-MNI152NLin6Asym_atlas-4S456Parcels_res-01_dseg.nii.gz /host-dir/

FATAL:   "cp": executable file not found in $PATH

Adding --shell /bin/bash gave me an unrecognized argument error

The atlaspack image doesn’t have an os in it, it’s empty except for the atlaspack files. We only use that image for copying them into other images - I’m not sure how to get files out of them outside of a docker build

@mattcieslak ah, makes sense. Thank you for that info!

Hi @lucinda,

Sending to you now, but I was able to get the atlases by entering the qsirecon singularity shell and copying them to a local a directory within, just in case other readers encounter this error.

Best,
Steven

1 Like