Giter VIP home page Giter VIP logo

Comments (4)

ktakers avatar ktakers commented on September 17, 2024

Hello @niclaspopp , thank you for using BEELINE. Unfortunately, I wasn't able to reproduce the docker error in my environment. This appears to be an issue with specific docker images and versions.

For troubleshooting, could you please provide your docker --version ? Also, did you download the grnbeeline/arboreto:base image using docker pull grnbeeline/arboreto:base or build it using ./initialize.sh ?

To clarify, by trying https://forums.docker.com/t/unable-to-find-user-root-no-matching-entries-in-passwd-file/26545 you mean that you have run service docker restart ?

There is another suggested workaround to add --user 0 to the docker commands at https://github.com/Murali-group/Beeline/blob/master/BLRun/genie3Runner.py#L40-L42 and https://github.com/Murali-group/Beeline/blob/master/BLRun/grnboost2Runner.py#L36-L39 to reference the root user by UID. Could please try this and let us know if it resolves the issue? I have not been able to reproduce the error in order test this solution myself.

I don't think the related issue discussed in the forum with the --user option for users not already built into the image, or the other workaround docker stop <container>; docker start <container> apply in this case.

Regarding the missing rankedEdges.csv output files for other algorithms, does python BLRunner.py --config config-files/config.yaml exit after the docker error, or are there additional errors following the docker run ... commands for other algorithms? If so could you please provide the python BLRunner.py --config config-files/config.yaml output for other algorithms?

from beeline.

niclaspopp avatar niclaspopp commented on September 17, 2024

Thanks a lot for the quick response - much appreciated!

After adding --user 0 to the Docker and switching to the locally build Docker image, both GRNBoost2 and Genie3 seem to run fine (apart from the error mentioned in #48 which is apparently unrelated to the previous problem).

After some investigation I think that the pipeline always stops when performing the inference with SCODE. It seems that some of the files necessary for the inference are created as read-only for non-root users. Since the user running the pipeline on the server doesn't have root privileges the pipeline then stops at that point. The related command and error look like this: (ER/ER_25_100_2 is the folder containing the gene expression data)

Evaluation started
docker run --rm -v /localscratch/home/ies/niclas.popp/BEELINE:/SCODE/data/  grnbeeline/scode:base /bin/sh -c "time -v -o data/outputs/ER/ER_25_100_2/SCODE/time0.txt ruby run_R.rb data/inputs/ER/ER_25_100_2/SCODE/ExpressionData0.csv data/inputs/ER/ER_25_100_2/SCODE/PseudoTime0.csv data/outputs/ER/ER_25_100_2/SCODE/0 25 10 49900 1000 6 "
mkdir: cannot create directory ‘data/outputs/ER/ER_25_100_2/SCODE/0’: File exists

Is there any way to fix this?

from beeline.

adyprat avatar adyprat commented on September 17, 2024

I'm trying to understand the issue with SCODE here: Is the permission issue arising within Docker? If so, have you tried removing the SCODE folder from the ouputs before running the algorithm? As far as I remember the mkdir command is run as a system command (see the source code here)) and if the folder exists it should not affect the rest of the code.

If the SCODE errors out in the parseOutput() (after docker is done running the algorithm) then perhaps it is the user privileges to the outputs written by Docker. Not sure if this would work but running chmod on the output folder as the first step in the parseOutput() function might resolve it (before line 90)

from beeline.

niclaspopp avatar niclaspopp commented on September 17, 2024

The algorithm is started without an existing SCODE folder in the outputs directory, so the ‘data/outputs/ER/ER_25_100_2/SCODE/0’ folder which produces the error is created correctly but it is impossible to manually remove it afterwards (the error starts like this: rm: cannot remove 'SCODE/0/out_2/RSS.txt': Permission denied).

Just to clarify since I couldn't get it to work: How exactly would you suggest running chmod in parseOutput()?
Thanks again for your quick responses!

from beeline.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.