#@UGENE_WORKFLOW # The workflow takes two sets of annotations as input (denoted as A and B). # It intersects the sets and outputs the result annotations. # #There are three options for the output: # - Shared intervals between overlapped annotations from A and B; # - Annotations from A that overlap annotations from B; # - Annotations from A that DO NOT overlap annotations from B. # #It is also possible to tweak the percentage of the minimum overlap between A and B annotations. workflow "Intersect annotations"{ intersect-annotations { type:intersect-annotations; name:"Intersect Annotations"; } read-annotations { type:read-annotations; name:"Read Annotations A"; url-in { dataset:"Dataset 1"; } } read-annotations-1 { type:read-annotations; name:"Read Annotations B"; url-in { dataset:"Dataset 1"; } } write-annotations { type:write-annotations; name:"Write Annotations"; url-out:intersect.gb; } .actor-bindings { intersect-annotations.output-intersect-annotations->write-annotations.in-annotations read-annotations-1.out-annotations->intersect-annotations.input-annotations-b read-annotations.out-annotations->intersect-annotations.input-annotations-a } read-annotations.annotations->intersect-annotations.input-annotations-a.input-annotations-a read-annotations-1.annotations->intersect-annotations.input-annotations-b.input-annotations-b intersect-annotations.output-intersect-annotations->write-annotations.in-annotations.annotations read-annotations-1.annotations->write-annotations.in-annotations.annotations read-annotations.annotations->write-annotations.in-annotations.annotations .meta { parameter-aliases { intersect-annotations.minimum-overlap { alias:min-overlap; } intersect-annotations.report { alias:report; } intersect-annotations.unique { alias:unique; } read-annotations.url-in { alias:in-A; } read-annotations-1.url-in { alias:in-B; } write-annotations.document-format { alias:out-format; } write-annotations.url-out { alias:out-file; } } visual { intersect-annotations { pos:"-477 -583"; style:ext; bg-color-ext:"207 74 41 64"; input-annotations-a.angle:150; input-annotations-b.angle:210; output-intersect-annotations.angle:360; } read-annotations { pos:"-810 -693"; style:ext; bg-color-ext:"0 141 212 64"; bounds:"-30 -30 148.875 87"; out-annotations.angle:360; } read-annotations-1 { pos:"-813 -485"; style:ext; bg-color-ext:"0 141 212 64"; bounds:"-30 -30 157.5 82"; out-annotations.angle:360; } write-annotations { pos:"-122 -583"; style:ext; bg-color-ext:"117 86 175 64"; in-annotations.angle:180; } intersect-annotations.output-intersect-annotations->write-annotations.in-annotations { text-pos:"-45 -62"; } read-annotations-1.out-annotations->intersect-annotations.input-annotations-b { text-pos:"-44.9609 -28"; } read-annotations.out-annotations->intersect-annotations.input-annotations-a { text-pos:"-44.9609 -28"; } } wizard { name:"Intersect Annotations Wizard"; help-page-id:16123490; auto-run: true; page { id:1; title:"Intersect annotations parameters"; parameters-area { group { title:"Input data"; label-size:120; read-annotations.url-in { label:"Annotations A"; } read-annotations-1.url-in { label:"Annotations B"; } } group { title:"Output data"; label-size:120; intersect-annotations.report { label:Report; } write-annotations.url-out { label:"Output file"; } } } } } } }