1#@UGENE_WORKFLOW
2#Finds Open Reading Frames (ORFs) in each supplied nucleotide sequence, stores found regions as annotations.
3
4
5
6workflow find-orfs{
7
8    read-sequence {
9        type:read-sequence;
10        name:"Read sequence";
11        url-in {
12            dataset:"Dataset 1";
13        }
14    }
15    orf-search {
16        type:orf-search;
17        name:"ORF marker";
18    }
19    write-genbank {
20        type:write-sequence;
21        name:"Write Genbank";
22        document-format:genbank;
23    }
24
25    .actor-bindings {
26        read-sequence.out-sequence->orf-search.in-sequence
27        orf-search.out-annotations->write-genbank.in-sequence
28    }
29
30    read-sequence.sequence->orf-search.in-sequence.sequence
31    orf-search.annotations->write-genbank.in-sequence.annotations
32    read-sequence.annotations->write-genbank.in-sequence.annotations
33    read-sequence.sequence->write-genbank.in-sequence.sequence
34
35    .meta {
36        parameter-aliases {
37            read-sequence.url-in {
38                alias:in;
39                description:"Input sequence";
40            }
41            orf-search.allow-alternative-codons {
42                alias:allow-alternative-codons;
43                description:"Allow ORFs starting with alternative initiation codons (using 'False' by default)";
44            }
45            orf-search.include-stop-codon {
46                alias:include-stop-codon;
47                description:"The result annotation will includes stop codon if this option is set (using 'False' by default)";
48            }
49            orf-search.limit-results {
50                alias:limit-results;
51                description:"The amount of results will be limited id that option is setted (using 'True' by default)";
52            }
53            orf-search.max-result-attribute {
54                alias:max-result;
55                description:"Find results not achieved by specified count (using '100000' by default)";
56            }
57            orf-search.min-length {
58                alias:min-length;
59                description:"Ignore ORFs shorter than the specified length (using '100' bp by default)";
60            }
61            orf-search.require-init-codon {
62                alias:require-init-codon;
63                description:"Specifies that each ORF found must start with the start codon (using 'True' by default)";
64            }
65            orf-search.require-stop-codon {
66                alias:require-stop-codon;
67                description:"Ignore boundary ORFs which last beyound the search region (using 'False' by default)";
68            }
69            orf-search.result-name {
70                alias:name;
71                description:"Name of the result annotations marking found ORFs (using 'ORF' by default)";
72            }
73            orf-search.strand {
74                alias:strand;
75                description:"Strand to search in, can be 'both', 'direct' or 'complement' (using 'both' by default)";
76            }
77            write-genbank.accumulate {
78                alias:accumulate;
79                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)";
80            }
81            write-genbank.url-out {
82                alias:out;
83                description:"Output file with annotations";
84            }
85        }
86        visual {
87            orf-search {
88                pos:"-600 -585";
89                style:ext;
90                bg-color-ext:"0 128 128 64";
91                in-sequence.angle:180;
92                out-annotations.angle:360;
93            }
94            read-sequence {
95                pos:"-765 -585";
96                style:ext;
97                bg-color-ext:"0 128 128 64";
98                out-sequence.angle:360;
99            }
100            write-genbank {
101                pos:"-270 -585";
102                style:ext;
103                bg-color-ext:"0 128 128 64";
104                in-sequence.angle:180;
105            }
106            orf-search.out-annotations->write-genbank.in-sequence {
107                text-pos:"-44.5 -24";
108            }
109            read-sequence.out-sequence->orf-search.in-sequence {
110                text-pos:"-27.5 -24";
111            }
112        }
113    }
114}
115
116