-
Notifications
You must be signed in to change notification settings - Fork 48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Running containerized tracer using singularity #109
Comments
Hi Carlo, I don't have any direct advice for getting it to work in Singularity. It looks from that that it can't find your config file. Can you use the Also, see this issue for something else that was encountered previously with Singularity: #87. Let me know if that helps, Mike |
Thank you for your answer! running
The first idea that comes to mind is that docker containers run as root by default, whereas singularity ones do not follow that behaviour. A |
Hi Carlo,
I think you might be right about the permissions. I found this: apptainer/singularity#1132 (comment) which suggests using a Singularity def file to `chmod` the directories you need. Can you do that?
Sorry, I don't have any experience with Singularity so I can't be that much help.
Please let me know if you manage to make this work.
Cheers,
Mike
… On 9 Dec 2020, at 11:54, carlo-deintinis ***@***.***> wrote:
Thank you for your answer!
running singularity exec -H $PWD $PWD/tracer.simg tracer test -c tracer-master/docker_helper_files/docker_tracer.conf results in
Traceback (most recent call last):
File "/usr/local/bin/tracer", line 11, in <module>
load_entry_point('tracer==0.5', 'console_scripts', 'tracer')()
File "/usr/local/lib/python3.7/dist-packages/tracer-0.5-py3.7.egg/tracerlib/launcher.py", line 43, in launch
Task().run()
File "/usr/local/lib/python3.7/dist-packages/tracer-0.5-py3.7.egg/tracerlib/tasks.py", line 1224, in run
loci=['A', 'B'], max_junc_len=50).run()
File "/usr/local/lib/python3.7/dist-packages/tracer-0.5-py3.7.egg/tracerlib/tasks.py", line 358, in run
io.makeOutputDir(self.output_dir)
File "/usr/local/lib/python3.7/dist-packages/tracer-0.5-py3.7.egg/tracerlib/io.py", line 26, in makeOutputDir
os.makedirs(output_dir_path)
File "/usr/lib/python3.7/os.py", line 221, in makedirs
mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: '/tracer/test_data/results/cell1'
The first idea that comes to mind is that docker containers run as root by default, whereas singularity ones do not follow that behaviour. A whoami inside the docker container results in root, whereas in sinology it results in my username.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub <#109 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AAIXBBRPXEFZAHHEPLJZIILST5QOXANCNFSM4UTJBPOQ>.
|
In the end, I did not pursue the road of Singularity any further due to many errors and lack of permissions on the cluster on which I was trying to run the analysis. I was able to create a conda environment with the smallest number of conflicts I could manage between dependencies and run Tracer in there (the assemble and summarise steps work, skipping the plots). I got identical analysis results from the docker image. However, managing all program versions and python dependencies was a mess (some are still not the same as the ones inside the docker image). Do you by any chance plan to release Tracer as a conda package? |
Thank you for developing tracer!
I am currently trying to run the tracer docker container using singularity without success.
If for example I run
docker run teichlab/tracer test
I get the expected results.However, trying to do the same in singularity with the command
singularity run tracer.simg test
(orsingularity exec tracer.simg tracer test
) results inRunning the image without arguments seems to work fine:
singularity run tracer.simg
results inAny suggestions?
Thanks in advance for the help.
The text was updated successfully, but these errors were encountered: