<activity xmlns="http://taverna.sf.net/2008/xml/t2flow"><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap /><outputMap /><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">
  <script>import org.biojava.bio.seq.DNATools;
import org.biojava.bio.seq.RNATools;
import org.biojava.bio.symbol.SymbolList;

if ((dna_seq == void) || (dna_seq == null)) {
	throw new RuntimeException("The dna_seq must be specified");
}

// make a DNA SymbolList
SymbolList symL = DNATools.createDNA(dna_seq);

// transcribe it to RNA (after BioJava 1.4 this method is
// deprecated)
symL = RNATools.transcribe(symL);

// (after BioJava 1.4 use this method instead)
// symL = DNATools.toRNA(symL);

// just to prove it worked
rna_seq = symL.seqString();
</script>
  <dependencies class="java.util.Collections$SingletonList">
    <element class="string">uk.org.mygrid.resources:biojava:1.4pre1</element>
  </dependencies>
  <inputs>
    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
      <handledReferenceSchemes />
      <translatedElementType>java.lang.String</translatedElementType>
      <allowsLiteralValues>true</allowsLiteralValues>
      <name>dna_seq</name>
      <depth>0</depth>
      <mimeTypes>
        <string>'text/plain'</string>
      </mimeTypes>
    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
  </inputs>
  <outputs>
    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
      <granularDepth>0</granularDepth>
      <name>rna_seq</name>
      <depth>0</depth>
      <mimeTypes>
        <string>'text/plain'</string>
      </mimeTypes>
    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
  </outputs>
</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean></activity>