jpvaldes / cbbs-imaging-container-mriqc Goto Github PK
View Code? Open in Web Editor NEWmriqc singularity container built from official dockerhub repository
mriqc singularity container built from official dockerhub repository
Hi
When building the singularity image myself, I was puzzled by the entrypoint of the resulting mriqc container. I now believe that such behaviour is fully intended by singularity, but following the suggestion from @bpoldrack I am describing the situation below, hoping it might come useful to you.
I am using singularity-2.4 via vagrant and virtualbox (on MacOS).
Specifically, I noticed that if I build the container using:
singularity build mriqc.img docker://poldracklab/fmriprep
,
the runscript of such image (checked by singularity inspect --runscript
) gets automatically set to exec "/usr/local/miniconda/bin/mriqc"
.
As a result, it cannot be used as an executable directly, but has to be launched using singularity exec ...
.
However, I can also use the following build specification file (saved in the example below as Singularity) to change the runscript ($@
ensures that arguments are passed along from the user):
Bootstrap: docker
From: poldracklab/mriqc:0.10.4
%runscript
/usr/local/miniconda/bin/mriqc $@
The image can then be built by running sudo singularity build mriqc.img Singularity
.
I can execute this image directly: ./mriqc.img bids-root/ output-folder/ participant
I find the latter behaviour more natural -- but in the end, using it would require changing the datalad wrapper, so I leave the decision to you.
Relevant Singularity docs:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.