hyunhwan-jeong / SalmonTE

SalmonTE is an ultra-Fast and Scalable Quantification Pipeline of Transpose Element (TE) Abundances
GNU General Public License v3.0
80 stars 23 forks source link

Cannot run SalmonTE in Snakemake pipeline #46

Closed ftabaro closed 1 year ago

ftabaro commented 3 years ago

Hello,

I get an error about locking the results dir when running SalmonTE in Snakemake pipeline. I forked the repo and got it to run by disabling SalmonTE directory locking. Should I submit a pull request?

hyunhwan-jeong commented 3 years ago

@ftabaro,

Can you provide more details about the error to clarify what the exact issue is?

You can also send a pull request if you figured out how to resolve it.

Thank you,

Hyun-Hwan Jeong

ftabaro commented 3 years ago

Sure!

So, SalmonTE runs a Snakemake process after starting up. Snakemake creates lock files in the working directory it is running. This is to prevent other Snakemake processes to mess with the input/output files of the first process. In my use case, this feature prevents me to wrap SalmonTE in another Snakemake layer. To disable the locking mechanism, one can pass a command line parameter (--nolock), and that's what I did in my fork.

Now, I am not sure this behavior is desired and I am open for discussion. If you have other suggestions how to use SalmonTE in a Snakemake pipeline, I would be glad to hear.

hyunhwan-jeong commented 3 years ago

@ftabaro, I want to make sure I understand it correctly, do you mean running SalmonTE disrupt other snakemake runs, even the other runs do not touch any files that are locked by SalmonTE?

Hyun-Hwan Jeong

ftabaro commented 3 years ago

The other way. SalmonTE fails to start because it finds the lock of the outer pipeline.

hyunhwan-jeong commented 3 years ago

Got it, but I don't think a file being touched by multiple snakemakes simultaneously would be necessary and safe. Other thoughts?

Thank you,

Hyun-Hwan Jeong

ftabaro commented 3 years ago

One option could be to support Snakemake's --unlock option from SalmonTE top level scripts: e.g. salmonTE quant [...] --no-lock