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

Option to provide credentials JSON to access CRAMs & fix bug in Whamg #333

Merged
merged 6 commits into from
Apr 13, 2022

Conversation

epiercehoffman
Copy link
Collaborator

Updates

  • Add optional String? service_account_json input to GatherSampleEvidence. If provided, CramToBam will use the credentials JSON to access and localize the CRAM prior to converting to BAM. This is done in a separate task because the disk size cannot be estimated without access to the CRAM, so the localization task should be as short as possible, and then the regular RunCramToBam task can use dynamically-allocated resources. This input was not added to any test JSONs as it is not the default behavior.
  • Fix Whamg bug from gatk-sv-single-sample workflow (v.0.9.1-beta-hotfix) failing at RunWhamgIncludelist subtask #332. The file /sys/fs/cgroup/memory/memory.stat no longer exists, possibly due to a change to GCE VMs. The comment suggests it was only accessed for debugging purposes, so the line was deleted to prevent the error.

Testing

  • Successfully ran GatherSampleEvidence (including CramToBam and Whamg) on one sample with a service_account_json required to access the CRAM file. Also ran on one sample without the service_account_json to make sure that typical processing is unaffected, and CramToBam completed successfully.
  • Validated all WDLs and JSONs with womtool

wdl/CramToBam.wdl Outdated Show resolved Hide resolved
runtime_attr_override = runtime_attr_localize_cram
}
}

if (requester_pays) {
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
if (requester_pays) {
if (requester_pays && !defined(service_account_json)) {

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

If the cram is in a requester pays bucket, I think it would fail before this point because there is no billing project provided to the gsutil cp command in the localization task

wdl/Utils.wdl Outdated

RuntimeAttr default_attr = object {
cpu_cores: 1,
mem_gb: 3.75,
Copy link
Collaborator

Choose a reason for hiding this comment

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

Is 3.75 optimal? Can you use 0.9?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Just tested and LocalizeCram completed successfully with 0.9GB memory on a new sample with a similar runtime, so seems fine to set that as default

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

Successfully merging this pull request may close these issues.

2 participants