Skip to content
This repository was archived by the owner on Nov 6, 2020. It is now read-only.

WDL compatibility - #33

Open
edawson wants to merge 10 commits into
dnanexus-archive:masterfrom
edawson:wdl-dev
Open

WDL compatibility#33
edawson wants to merge 10 commits into
dnanexus-archive:masterfrom
edawson:wdl-dev

Conversation

@edawson

@edawson edawson commented Nov 9, 2018

Copy link
Copy Markdown

I wanted to run Parliament2 on the Broad's FireCloud system, so I've wrapped it in a WDL description and made some changes to the Dockerfile and run scripts. I hope these don't break DNAnexus compatibility; unfortunately I don't really have a way to test if everything on this branch still works there.

There are a lot of optimizations that could still be made (e.g. running on preemptible VMs to cut run costs), but going for that seemed a little premature given how fast the code already is running on a single VM. Please let me know if there are any breaking changes and I'll try to fix them!

@slzarate
slzarate requested review from slzarate and yihchii November 9, 2018 21:16
@slzarate

Copy link
Copy Markdown
Contributor

Hi! Thanks so much for contributing to Parliament2! Sorry it's taken so long for me to get around to looking at this. Could you please merge in the master branch? It adds CI testing, so it'll help me get a better idea of the changes you've made.

@edawson

edawson commented Jan 28, 2019

Copy link
Copy Markdown
Author

No worries! I've merged master in, but I haven't yet tested if WDL still works. Can we hold off on merging until that gets done sometime this week?

@slzarate

Copy link
Copy Markdown
Contributor

Sure, take your time.

@slzarate

Copy link
Copy Markdown
Contributor

@edawson Please merge in master again; I have added a patch so that hopefully the tests now work. Thanks

@slzarate

Copy link
Copy Markdown
Contributor

@edawson Sorry about that -- had to do one more bug fix. Hopefully it should work now.

@yihchii yihchii left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR for WDL compatibility, @edawson ! Please check the change requests (mostly questions) within the code lines.
Also, if possible, please help add documentation draft for how to utilize the WDL file to run (on firecloud and/or other environments).

Comment thread Dockerfile
RUN ["chmod", "+x", "parliament2.py"]
RUN ["chmod", "+x", "parliament2.sh"]

ENTRYPOINT ["python","/home/dnanexus/parliament2.py"]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am worried that removing this line will affect how the docker image get run on DNAnexus. @slzarate can you confirm?
@edawson is this line affecting the docker image get run on firecloud?
I was wondering if we can make the Docker image compatible on both DNAnexus and firecloud.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@edawson Please merge master back into this branch (hopefully the testing framework will work this time) so that we can confirm how this line affects the Docker call (if at all). Thanks!

Comment thread parliament2.sh
if [ ! -z ${user_defined_threads} ]
then
threads="${user_defined_threads}"
fi

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

user_defined_threads will always be defined as the default value with 0 as in line 30 of parliament2.py, right?
Should we change line 91-94 to

if [[ "${user_defined_threads}" -ne 0 ]]; then
    threads="${user_defined_threads}"
fi

?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think so - thanks for catching this!

Comment thread params.json
@@ -0,0 +1,8 @@
{
"ParliamentWF.threads": "4",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a reason for threads her set to 4?
parliament2.wdl is pointing to a runtime instance with 32 cores. Can we set the default here to 32?
At line 96 of parliament2.sh the script is reserving 3 threads. If we set default to 4, would this affect to be only one thread being used for running parliament2?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is just an example script that is used for testing locally on my laptop; the runtime:cpu argument is ignored by WDL locally. I agree this is a bad value though - we should probably set it dynamically in the WDL.

I'm not sure how the thread reservation on line 96 (now 90) works exactly - does the core parliament2 script need three threads, or can we reclaim some of those?

@gevro

gevro commented Sep 4, 2019

Copy link
Copy Markdown

Hi, The standard dnanexus/parliament2 docker does not work with firecloud. I'm getting the error: "parliament2.py: error: argument --bam is required". It seems to give this error immediately upon running the docker image.

What is the status on modifying parliament2's main dnanexus docker to work with WDL?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants