1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130
  
     | 
    
      #@UGENE_WORKFLOW
#If you have a list of files with sequences and separate files with annotation and you want to merge sequences and annotation, this workflow might help you.
#
#For instance, you have sequence in FASTA format and separate annotation in GFF. You want to merge them and write annotated sequences into Genbank files.
#
#Be default, multiplexer takes sequences and annotation one by one, sticks one annotation to one sequence and passes it to the output. But you may change that behavior in parameters of Multiplexer.
workflow "Merge sequences and annotations"{
    read-annotations {
        type:read-annotations;
        name:"Read Annotations";
        url-in {
            dataset:Dataset;
        }
    }
    read-sequence {
        type:read-sequence;
        name:"Read Sequence";
        url-in {
            dataset:Dataset;
        }
    }
    multiplexer {
        type:multiplexer;
        name:Multiplexer;
    }
    write-sequence {
        type:write-sequence;
        name:"Write Sequence";
        document-format:genbank;
        url-out:merged.gb;
    }
    .actor-bindings {
        read-annotations.out-annotations->multiplexer.input-data-1
        read-sequence.out-sequence->multiplexer.input-data-2
        multiplexer.output-data->write-sequence.in-sequence
    }
    read-annotations.annotations->write-sequence.in-sequence.annotations
    read-sequence.annotations->write-sequence.in-sequence.annotations
    read-sequence.sequence->write-sequence.in-sequence.sequence
    .meta {
        visual {
            multiplexer {
                pos:"-492 -641";
                style:ext;
                bg-color-ext:"0 128 128 64";
                input-data-1.angle:150;
                input-data-2.angle:210;
                output-data.angle:360;
            }
            read-annotations {
                pos:"-684 -711";
                style:ext;
                bg-color-ext:"0 128 128 64";
                bounds:"-30 -30 62.25 80";
                out-annotations.angle:360;
            }
            read-sequence {
                pos:"-681 -558";
                style:ext;
                bg-color-ext:"0 128 128 64";
                out-sequence.angle:360;
            }
            write-sequence {
                pos:"-241 -641";
                style:ext;
                bg-color-ext:"0 128 128 64";
                in-sequence.angle:180;
            }
            multiplexer.output-data->write-sequence.in-sequence {
                text-pos:"-45 -37";
            }
            read-annotations.out-annotations->multiplexer.input-data-1 {
                text-pos:"-33 -24";
            }
            read-sequence.out-sequence->multiplexer.input-data-2 {
                text-pos:"-27.5 -24";
            }
        }
        wizard {
            name:"Merge sequences and annotations Wizard";
            help-page-id:16122735;
            auto-run: true;
            page {
                id:1;
                next:2;
                title:"Input sequence(s)";
                parameters-area {
                    read-sequence.url-in {
                        type:datasets;
                    }
                }
            }
            page {
                id:2;
                next:3;
                title:"Input annotation(s)";
                parameters-area {
                    read-annotations.url-in {
                        type:datasets;
                    }
                }
            }
            page {
                id:3;
                title:"Output data";
                parameters-area {
                    group {
                        title:"Output data";
                        label-size:120;
                        write-sequence.url-out {
                            label:"Result file";
                        }
                        write-sequence.accumulate {
                            label:"Accumulate results";
                        }
                    }
                }
            }
        }
    }
}
 
     |