cumulusprod/popscle docker

89 views
Skip to first unread message

Shadi Toghi Eshghi

unread,
May 20, 2021, 2:37:39 AM5/20/21
to Cumulus Support
Hi There,

I am trying to run demuxlet/freemuxlet through the cumulusprod/popscle docker and get a "no such file or directory" error. This is probably a naive issue, apologies as I am quite new to using dockers. Thanks for your help.

I am using the tutorial data from this link and the cumulusprod/popscle:0.1b from Docker Hub:

cd tutorial_dataset

mkdir result

docker run cumulusprod/popscle:0.1b "demuxlet --sam data/urkat_293t_downsampled_n500_full_bam.bam --vcf data/jurkat_293t_exons_only.vcf.withAF.vcf.gz --field GT --out result/jurkat_293t_demuxlet"

The error:

docker: Error response from daemon: OCI runtime create failed: container_linux.go:349: starting container process caused "exec: \"demuxlet --sam data/urkat_293t_downsampled_n500_full_bam.bam --vcf data/jurkat_293t_exons_only.vcf.withAF.vcf.gz --field GT --out result/jurkat_293t_demuxlet\": stat demuxlet --sam data/urkat_293t_downsampled_n500_full_bam.bam --vcf data/jurkat_293t_exons_only.vcf.withAF.vcf.gz --field GT --out result/jurkat_293t_demuxlet: no such file or directory": unknown.


Any help is much appreciate.

Shadi



Yiming Yang

unread,
May 20, 2021, 12:37:00 PM5/20/21
to Shadi Toghi Eshghi, Cumulus Support
Hi Shadi,

If you were running this docker command on your local computer, this won't work, as you didn't mount the folder containing your data files to the docker container. To do that, you may want to run the following command:

docker run -it --rm -v path-to-your-data:/data -v path-to-your-output:/output --name your-container-name cumulusprod/popscle:0.1b

where "-it" makes you be able to work interactively within the docker container, "--rm" means automatically delete the container after exit, "--name" is to give an alias name of this docker container, and "-v" option mounts a folder on your computer (i.e. outside the docker container) to a path within your container. In the example above, I mount the data folder to "/data" in the docker container, and output folder to "/output". You are free to change the mount positions of folders.

After that, you'll be able to run demuxlet in a normal way as if all the data files are in "/data" within the docker container:

demuxlet --sam /data/urkat_293t_downsampled_n500_full_bam.bam --vcf /data/jurkat_293t_exons_only.vcf.withAF.vcf.gz --field GT --out /output/jurkat_293t_demuxlet

While demuxlet is running, you can detach from the docker image by typing Ctrl+p then Ctrl+q. To attach back, type "docker attach <container-name>",  where <container-name> is the one you set using "--name" option above.

Hope it helps!


Sincerely,
Yiming

--
You received this message because you are subscribed to the Google Groups "Cumulus Support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cumulus-suppo...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cumulus-support/ea80213e-56a5-4a23-a220-1000750fcdben%40googlegroups.com.

Shadi Toghi Eshghi

unread,
May 20, 2021, 5:18:45 PM5/20/21
to Yiming Yang, Cumulus Support
Hi Yiming,

Thanks for the detailed explanation. It was really helpful. I can now run the docker and mount my data and output folder. While attached, I can see the contents of the docker and the mounted data folder, and attaching/detaching works as expected.

When I run the demuxlet function within the container however, I get the following error:

(base) root@49279ad82681:/# demuxlet --sam /data/jurkat_293t_downsampled_n500_full_bam.bam --vcf /data/jurkat_293t_exons_only.vcf.withAF.vcf.gz --field GT --out /output/jurkat_293t_demuxlet

bash: demuxlet: command not found


Any tips would be appreciated.

Also, just to confirm, I am primarily interested in the freemuxlet function. Is cumulusprod/popscle:0.1b the right docker to use?

Thanks,
Shadi

Yiming Yang

unread,
May 20, 2021, 5:35:06 PM5/20/21
to Shadi Toghi Eshghi, Cumulus Support
Oh, I see. You should run command starting with "popscle demuxlet", rather than "demuxlet". You can type "popscle demuxlet --help" to double-check if all the options you use are consistent with provided.

Yiming Yang

unread,
May 20, 2021, 5:36:26 PM5/20/21
to Shadi Toghi Eshghi, Cumulus Support
Yes, popscle docker image contains freemuxlet, which is part of popscle. Type "popscle freemuxlet --help" for all available options.

Shadi Toghi Eshghi

unread,
May 20, 2021, 5:48:42 PM5/20/21
to Yiming Yang, Cumulus Support
It works. Thank you so much!

Yiming Yang

unread,
May 20, 2021, 5:51:11 PM5/20/21
to Shadi Toghi Eshghi, Cumulus Support
No problem!
Reply all
Reply to author
Forward
0 new messages