Heads up:
We’re moving the GATK website, docs and forum to a new platform. Read the full story and breakdown of key changes on this blog.
Notice:
If you happen to see a question you know the answer to, please do chime in and help your fellow community members. We encourage our fourm members to be more involved, jump in and help out your fellow researchers with their questions. GATK forum is a community forum and helping each other with using GATK tools and research is the cornerstone of our success as a genomics research community.We appreciate your help!

Test-drive the GATK tools and Best Practices pipelines on Terra


Check out this blog post to learn how you can get started with GATK and try out the pipelines in preconfigured workspaces (with a user-friendly interface!) without having to install anything.
Attention:
We will be out of the office for a Broad Institute event from Dec 10th to Dec 11th 2019. We will be back to monitor the GATK forum on Dec 12th 2019. In the meantime we encourage you to help out other community members with their queries.
Thank you for your patience!

Tagged Files for CombineVariants in Queue?

The 3.2 CombineVariants Queue extension does not seem to pass through the TaggedFile information. I assume the extension generator is not recognizing the particular input type used by CombineVariants…

For example:

this.V = List(new TaggedFile("file1.vcf","file1"), new TaggedFile("file2.vcf","file2"))

in a Scala class that extends CombineVariants will produce:

-V file1.vcf -V file2.vcf

without the tags.

Tagged:

Answers

  • Geraldine_VdAuweraGeraldine_VdAuwera Cambridge, MAMember, Administrator, Broadie admin

    Hmm, as far as I know there's no reason why CombIneGVCFs input would be treated differently, but I'll ask @kshakir to comment.

  • mlindermmlinderm Member

    The problem seems to be that Queue extensions generator does not recognize RodBindingCollection as a "taggable" input. I ended up making the following changes so that RodBindingCollection would be treated like RodBinding. This solves my immediate problem with CombineVariants, but I don't know if breaks other walkers that use RodBindingCollection.

    diff --git a/public/gatk-queue-extensions-generator/src/main/java/org/broadinstitute/gatk/queue/extensions/gatk/ArgumentDefinitionField.java b/public/gatk-queue-extensions-generator/src/main/java/org/broadi
    index a8d5742..d67821b 100644
    --- a/public/gatk-queue-extensions-generator/src/main/java/org/broadinstitute/gatk/queue/extensions/gatk/ArgumentDefinitionField.java 
    +++ b/public/gatk-queue-extensions-generator/src/main/java/org/broadinstitute/gatk/queue/extensions/gatk/ArgumentDefinitionField.java
    @@ -147,7 +147,7 @@ public abstract class ArgumentDefinitionField extends ArgumentField {
         } else if ("input_file".equals(argumentDefinition.fullName) && argumentDefinition.ioType == ArgumentIOType.INPUT) {
             return Arrays.asList(new InputTaggedFileDefinitionField(argumentDefinition), new InputIndexesArgumentField(argumentDefinition, BAMIndex.BAMIndexSuffix, ".bam"));
    
    -        } else if ((RodBinding.class.equals(argumentDefinition.argumentType) || RodBinding.class.equals(argumentDefinition.componentType)) && argumentDefinition.ioType == ArgumentIOType.INPUT) {  
    +        } else if ((RodBinding.class.equals(argumentDefinition.argumentType) || RodBinding.class.equals(argumentDefinition.componentType) || RodBindingCollection.class.equals(argumentDefinition.componentTy
             return Arrays.asList(new InputTaggedFileDefinitionField(argumentDefinition), new InputIndexesArgumentField(argumentDefinition, Tribble.STANDARD_INDEX_EXTENSION));
    
         } else if (argumentDefinition.ioType == ArgumentIOType.INPUT) {
    @@ -416,7 +416,7 @@ public abstract class ArgumentDefinitionField extends ArgumentField {
                 if (originalSuffix == null) {
                     return String.format(
                             ("%1$s ++= %2$s" +
    -                                    ".filter(orig => orig != null)" +
    +                                    ".filter(orig => orig != null && (!orig.getName.endsWith(\".list\")))" +
                                     ".map(orig => new File(orig.getPath + \"%3$s\"))%n"),
                             indexFieldName, originalFieldName, indexSuffix);
                 } else {
    ~
    
  • kshakirkshakir Broadie, Dev ✭✭

    Thanks for letting us know, and working out a potential fix! At this point, can you move this conversation to a pull request on github? I think the important bits of your patch were truncated from the end of your "else if" statement.

    On github we can share richer conversations around code modifications, and the site provides easier tools for me to access the patch for running regression tests. Plus from there I can copy in a couple other developers for their opinions if needed as well.

  • Geraldine_VdAuweraGeraldine_VdAuwera Cambridge, MAMember, Administrator, Broadie admin
Sign In or Register to comment.