1#@UGENE_WORKFLOW
2#Find repeat units in supplied sequence
3
4
5
6workflow find-repeats{
7
8    read-sequence {
9        type:read-sequence;
10        name:"Read Sequence";
11        url-in {
12            dataset:Dataset;
13        }
14    }
15    repeats-search {
16        type:repeats-search;
17        name:"Find Repeats";
18        algorithm:0;
19        exclude-tandems:false;
20        filter-algorithm:0;
21        identity:100;
22        inverted:false;
23        max-distance:5000;
24        min-distance:0;
25        min-length:25;
26        threads:0;
27    }
28    write-sequence {
29        type:write-sequence;
30        name:"Write Sequence";
31        document-format:genbank;
32    }
33
34
35    .actor-bindings {
36        read-sequence.out-sequence->repeats-search.in-sequence
37        repeats-search.out-annotations->write-sequence.in-sequence
38    }
39
40    read-sequence.sequence->repeats-search.in-sequence.sequence
41    read-sequence.annotations->write-sequence.in-sequence.annotations
42    repeats-search.annotations->write-sequence.in-sequence.annotations
43    read-sequence.sequence->write-sequence.in-sequence.sequence
44
45    .meta {
46        parameter-aliases {
47            read-sequence.url-in {
48                alias:in;
49                description:"Input sequence";
50            }
51            repeats-search.algorithm {
52                alias:algo;
53                description:"Control over variations of algorithm (using 'Auto' by default)";
54            }
55            repeats-search.exclude-tandems {
56                alias:exclude-tandems;
57                description:"Exclude tandems areas before find repeat task is run (using 'False' by default)";
58            }
59            repeats-search.filter-algorithm {
60                alias:filter-algo;
61                description:"Filter repeats algorithm (using 'Disjoint repeats' by default)";
62            }
63            repeats-search.identity {
64                alias:identity;
65                description:"Repeats identity (using '100' percents by default)";
66            }
67            repeats-search.inverted {
68                alias:inverted;
69                description:"Search for inverted repeats (using 'False' by default)";
70            }
71            repeats-search.max-distance {
72                alias:max-distance;
73                description:"Maximum distance between repeats (using '5000' bp by default)";
74            }
75            repeats-search.min-distance {
76                alias:min-distance;
77                description:"Minimum distance between repeats (using '0' bp by default)";
78            }
79            repeats-search.min-length {
80                alias:min-length;
81                description:"Minimum length of repeats (using '25' bp by default)";
82            }
83            repeats-search.result-name {
84                alias:name;
85                description:"Name of the result annotations marking found repeats (using 'repeat_unit' by default)";
86            }
87            repeats-search.threads {
88                alias:thread-count;
89                description:"Number of parallel threads used for the task (using 'Auto' by default)";
90            }
91            repeats-search.use-maxdistance {
92                alias:use-maxdistance;
93                description:"Apply max-distance attribute (using 'True' by default)";
94            }
95            repeats-search.use-mindistance {
96                alias:use-mindistance;
97                description:"Apply min-distance attribute (using 'True' by default)";
98            }
99            write-sequence.accumulate {
100                alias:accumulate;
101                description:"Accumulate all incoming data in one file or create separate files for each input. In the latter case, an incremental numerical suffix is added to the file name (using 'True' by default)";
102            }
103            write-sequence.document-format {
104                alias:format;
105                description:"Document format of output sequence (using 'genbank' by default)";
106            }
107            write-sequence.url-out {
108                alias:out;
109                description:"Output file with annotations";
110            }
111        }
112        visual {
113            read-sequence {
114                pos:"-570 -555";
115                style:ext;
116                bg-color-ext:"0 128 128 64";
117                out-sequence.angle:360;
118            }
119            repeats-search {
120                pos:"-405 -555";
121                style:ext;
122                bg-color-ext:"0 128 128 64";
123                in-sequence.angle:180;
124                out-annotations.angle:360;
125            }
126            write-sequence {
127                pos:"-120 -555";
128                style:ext;
129                bg-color-ext:"0 128 128 64";
130                in-sequence.angle:180;
131            }
132            read-sequence.out-sequence->repeats-search.in-sequence {
133                text-pos:"-27.5 -24";
134            }
135            repeats-search.out-annotations->write-sequence.in-sequence {
136                text-pos:"-45 -37";
137            }
138        }
139    }
140}
141
142