#@UGENE_WORKFLOW workflow "Repeate sequences"{ read-sequence { type:read-sequence; name:"Read Sequence"; } repeats-search { type:repeats-search; name:"Find Repeats"; min-length:50; } extract-annotated-sequence { type:extract-annotated-sequence; name:"Get Sequences by Annotations"; } grouper { type:grouper; name:Grouper; group-op:by-value; group-slot:extract-annotated-sequence.sequence; } write-sequence { type:write-sequence; name:"Write Sequence"; } .actor-bindings { read-sequence.out-sequence->repeats-search.in-sequence repeats-search.out-annotations->extract-annotated-sequence.in-sequence extract-annotated-sequence.out-sequence->grouper.input-data grouper.output-data->write-sequence.in-sequence } read-sequence.sequence->repeats-search.in-sequence.sequence repeats-search.annotations->extract-annotated-sequence.in-sequence.annotations read-sequence.sequence->extract-annotated-sequence.in-sequence.sequence extract-annotated-sequence.sequence->write-sequence.in-sequence.sequence .meta { visual { read-sequence { description:"

Read Sequence


Reads sequence(s) from unset.

"; tooltip:"Reads sequences and annotations if any from local or remote files."; pos:"-774 -653"; style:ext; bg-color-ext:"0 128 128 64"; out-sequence.angle:360; } repeats-search { description:"

Find Repeats


For each sequence from Read Sequence, find direct repeats.
Detect 100% identical repeats not shorter than 50 bps.
Output the list of found regions annotated as repeat_unit.

"; tooltip:"Finds repeats in each supplied sequence, stores found regions as annotations."; pos:"-569 -651"; style:ext; bg-color-ext:"0 128 128 64"; bounds:"-30 -30 149 105"; in-sequence.angle:180; out-annotations.angle:296.188; } read-sequence.out-sequence->repeats-search.in-sequence { text-pos:"-27.5 -24"; } extract-annotated-sequence { description:"

Get Sequences by Annotations


Extract each annotated sequence region from Read Sequence make it reverse-complement if annotation is located on complement strand.

"; tooltip:"Creates sequences from annotated regions of input sequence"; pos:"-546 -393"; style:ext; bg-color-ext:"0 128 128 64"; in-sequence.angle:46.4203; out-sequence.angle:305.112; } repeats-search.out-annotations->extract-annotated-sequence.in-sequence { text-pos:"-45 -37"; } grouper { description:"

Grouper


Groups all incoming messages by value of Sequence (by Get Sequences by Annotations) slot data.

"; tooltip:"Groups data supplied to the specified slot by the specified property (for example, by value). Additionally, it is possible to merge data from another slots associated with the specified one."; pos:"-445 -155"; style:ext; bg-color-ext:"0 128 128 64"; input-data.angle:180; output-data.angle:360; } extract-annotated-sequence.out-sequence->grouper.input-data { text-pos:"-45 -37"; } write-sequence { description:"

Write Sequence


Save all sequences from Get Sequences by Annotations to unset.

"; tooltip:"Writes all supplied sequences to file(s) in selected format."; pos:"-186 -153"; style:ext; bg-color-ext:"0 128 128 64"; in-sequence.angle:180; } grouper.output-data->write-sequence.in-sequence { text-pos:"-45 -37"; } } } }