Skip to content
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

figure out why output dir has to be under /linearham #63

Open
scharch opened this issue Feb 28, 2020 · 7 comments
Open

figure out why output dir has to be under /linearham #63

scharch opened this issue Feb 28, 2020 · 7 comments

Comments

@scharch
Copy link

scharch commented Feb 28, 2020

Next problem:

root@e22536b936fb:/linearham# scons --run-partis --fasta-path=../data/VRC43H-min5.fa --all-clonal-seqs --parameter-dir=../data/partis_params --outdir=../data/linearham
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
scons: `.' is up to date.
scons: done building targets.
root@e22536b936fb:/linearham# ls ../data/linearham/
root@e22536b936fb:/linearham# 

Where do I look for an error message?

@eharkins
Copy link
Collaborator

There's no error message, scons seems to think that it already ran partis.

I can reproduce this if I run with any output directory not under /linearham, e.g.:
--outdir=/linearham_analysis
but it seems to not be the case when using an output dir under /linearham, e.g.:
--outdir=/linearham/linearham_analysis

I don't understand why this is and am trying to figure it out but hopefully this unblocks you for now.

@psathyrella psathyrella changed the title partis not running figure out why output dir has to be under /linearham Mar 9, 2020
@psathyrella
Copy link
Contributor

I'm assuming this stopgap worked for chaim, so changing title, but lmk if not.

psathyrella added a commit that referenced this issue Mar 16, 2020
@jgallowa07
Copy link
Member

Haven't tested this specifically, but I'm pretty sure this because you copy all the contents into the container into /linearham. Then you change your working directory to /linearham.

Why not replace COPY . ./linearham with COPY . . and remove the WORKDIR line completely. That way everything is relative to root inside the container. This would at least throw a more useful error b/c the user is trying to write above root directory? Just a thought.

@psathyrella
Copy link
Contributor

That sounds good to me, that would be amazing if you could switch it to that. This issue was just blocking me from running something last week.

@psathyrella
Copy link
Contributor

update: this happens also outside of docker, so seems likely unrelated to dockerfile, and maybe is a more fundamental scons thing. I haven't managed to google anything useful about decoupling scons work vs build dirs, so maybe it's not possible? Could probably also just make the various linearham scripts/binaries work from outside the linearham code dir, then have scons cd to the output dir and run from there.

In any case it works ok to handle with linking (e.g. this and this), although is a bit complicated and error-prone.

Anyway for now I think it's better to just leave as is.

@jgallowa07
Copy link
Member

jgallowa07 commented Dec 9, 2022

@psathyrella Not sure my neural pathways stuck around for this - can I be of assistance? Happy to look into it again.

@psathyrella
Copy link
Contributor

@jgallowa07 no thanks, it seems likely it's not fixable.

I think this is the closest i've come to an explanation for why things may not be working. That link, at least, boils down to scons being designed around backward compatibility with old compilation tools. Which is a little unsatisfying since we're not even compiling anything, but, oh well, the workaround works for now, and sounds like eventually we'll be using a different approach.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants