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

ChildIOException: File/directory is a child to another output #29

Open
Parsoa opened this issue Apr 6, 2020 · 9 comments
Open

ChildIOException: File/directory is a child to another output #29

Parsoa opened this issue Apr 6, 2020 · 9 comments

Comments

@Parsoa
Copy link

Parsoa commented Apr 6, 2020

I have installed the latest version along with all the dependencies and have configured it to test run on a single sample using all three tools (Manta, GATK, Platypus). It fails on start with the following error:

snakemake --snakefile=/share/Codes/output/revision/bayestyper/call_candidates_and_genotype.smk  --cores=24
/share/Codes/venv3/lib/python3.5/site-packages/snakemake/workflow.py:14: FutureWarning: read_table is deprecated, use read_csv instead, passing sep='\t'.
  from functools import partial
Building DAG of jobs...
ChildIOException:
File/directory is a child to another output:
/share/Codes/output/revision/bayestyper/manta/HG00514
/share/Codes/output/revision/bayestyper/manta/HG00514/results/variants/candidateSV.vcf.gz

Seems like an error internal to Snakemake. I tried replacing all mkdir command with mkdir -p as suggest here but no such commands are executed by the jobs in the snakefiles. Removing Manta

@jonassibbesen
Copy link
Contributor

Thank you for writing. I am adding @lassemaretty who wrote the Snakemake pipeline. Hopefully he can help.

@Parsoa
Copy link
Author

Parsoa commented May 7, 2020

Any update on this? Thanks.

@blaiseli
Copy link

Same issue for me with the snakemake workflow I'm currently writing. I never had this before, but, on the other hand, I had rarely had rules whose output was a directory(), so I don't know whether this is a recent issue with snakemake or just me not writing my workflow correctly.

@jonassibbesen
Copy link
Contributor

@Parsoa Thank you for your patience. I have reached out to the author of the Snakemake pipeline again. He is really busy, but hopefully I will hear from him soon.

@blaiseli
Copy link

For information, I found that my issue doesn't happen with snakemake version 5.7.4, and happens since at least version 5.8.2. I'm curious to know whether this is the same here.

@lassemaretty
Copy link
Contributor

lassemaretty commented May 14, 2020

Hi blaiseli,

Sorry for the late reply. I am the author of the Snakemake workflow. I am currently on leave and not able to fix the issue right now. I expect to be back in a few weeks and will take a look at your issue as soon as I am back. I am. really sorry for the inconvenience.

Best,

Lasse

@blaiseli
Copy link

@lassemaretty This is not really my issue: my issue was with my own workflow, and I commented here in case it could help understanding the problem, because it looked similar.

For your information, the author of snakemake just made a change that might fix the issue reported in the case of your workflow:
snakemake/snakemake@0c289a6

As I understand it, now it should be OK to have a directory and some files within that directory as output of a single rule, but not OK to have the files as output of a different rule than the one having the directory as output.

@hmkim
Copy link

hmkim commented Aug 17, 2021

With checkpoint and output have the directory() function, I got the same error.

@nicolasgoedert97
Copy link

I found a way to circumvent this error: Just provide your output directory as params instead of output. Then ofc you will need to create the folder if it does not exist. Additionally you will need another output file in that rule instead of the directory.

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

6 participants