Script Documentation: Difference between revisions

From Eterna Wiki

(Blanked the page)
No edit summary
Line 1: Line 1:
 
<p>
<div class="script-section-title">Pervasives</div>
<div class="script-functions">
<div class="script-title">out(text)</div>
<div class="script-description">display text in result textarea</div>
</div>
<div class="script-functions">
<div class="script-title">outln(text)</div>
<div class="script-description">display text in result textarea with newline</div>
</div>
<div class="script-functions">
<div class="script-title">clear()</div>
<div class="script-description">clear result textarea</div>
</div>
<div>
<div class="script-section-title">Library functions</div>
<div class="script-functions">
<div class="script-title">Lib.bases</div>
<div class="script-description">"AGCU"</div>
</div>
<div class="script-functions">
<div class="script-title">Lib.fold(sequence)</div>
<div class="script-description">
<div>return folded structure with sequence</div>
<div>ex) Lib.fold("GGGGCCCC") = "((....))";</div>
</div>
</div>
<div class="script-functions">
<div class="script-title">Lib.energyOfStruct(sequence, structure)</div>
<div class="script-description">
<div>return energy of structure</div>
</div>
</div>
<div class="script-functions">
<div class="script-title">Lib.EternaScript(script id)</div>
<div class="script-description">
<div>return other user's script</div>
<div>ex) var func = Lib.EternaScript(script_id);</div>
<div>ex) func(parameters);</div>
</div>
</div>
<div class="script-functions">
<div class="script-title">Lib.getStructure(puzzle id)</div>
<div class="script-description">
<div>return structure of puzzle</div>
<div>ex) Lib.getStructure(1001759)</div>
</div>
</div>
<div class="script-functions">
<div class="script-title">Lib.replace(sequence, index, target)</div>
<div class="script-description">
<div>return sequence which character at index in sequence replaced to target</div>
<div>ex) Lib.replace("AGCU", 2, "A") = "AGAU";</div>
</div>
</div>
<div class="script-functions">
<div class="script-title">Lib.nextSequence(sequence)</div>
<div class="script-description">
<div>return next sequence of sequence in the order of default bases</div>
<div>ex) Lib.nextSequence("AAAA") = "GAAA";</div>
</div>
</div>
<div class="script-functions">
<div class="script-title">Lib.nextSequenceWithBases(sequence, bases)</div>
<div class="script-description">
<div>return next sequence of sequence in the order of bases</div>
<div>ex) Lib.nextSequenceWithBases("UUUU", "UCGA") = "CUUU";</div>
<div>ex) Lib.nextSequenceWithBases("AUAA", "UCGA") = "UCAA";</div>
</div>
</div>
<div class="script-functions">
<div class="script-title">Lib.random(from, to)</div>
<div class="script-description">return random number between from to</div>
</div>
<div class="script-functions">
<div class="script-title">Lib.randomSequence(size)</div>
<div class="script-description">return random sequence with length of size</div>
</div>
<div class="script-functions">
<div class="script-title">Lib.map(function, sequence)</div>
<div class="script-description">applies function to each sequence bases</div>
</div>
<div class="script-functions">
<div class="script-title">Lib.filter(function, sequence)</div>
<div class="script-description">return sequences only satisfy the function</div>
</div>
<div class="script-functions">
<div class="script-title">Lib.splitDefault(structure)</div>
<div class="script-description">
<div>split structure into a structure array</div>
<div>ex) Lib.splitDefault("((..))") = ["((", "..", "))"];</div>
</div>
</div>
<div class="script-functions">
<div class="script-title">Lib.join(array)</div>
<div class="script-description">
<div>join array with each element to sequence</div>
<div>ex) Lib.join(Lib.split("((..))")) = "((..))";</div>
</div>
</div>
<div class="script-functions">
<div class="script-title">Lib.distance(source structure, destination structure)</div>
<div class="script-description">
<div>return differences between source structure and destination structure</div>
<div>if same then 0 else +1</div>
<div>if different length then just return -1</div>
<div>ex) Lib.distance("((..))", "((()))") = 2</div>
<div>ex) Lib.distance("(((())))", "(())") = -1</div>
</div>
</div>
<div class="script-functions">
<div class="script-title">Lib.distanceCustom(function, source structure, destination structure)</div>
<div class="script-description">
<div>return differences between source structure and destination structure with custom rule</div>
<div>ex) Lib.distanceCustom(function(index){ ... }, source, dest);</div>
</div>
</div>
</div>
<div>
<div class="script-section-title">Class RNA<a href="http://kws.eternadev.org/web/script/">example code</a></div>
<div class="script-functions">
<div class="script-title">getPairmap(structure)</div>
<div class="script-description">
<div>return the array of pair information</div>
<div>ex) getPairmap("((..))") = [5,4, , ,2,1]</div>
</div>
</div>
<div class="script-functions">
<div class="script-title">getStructure</div>
<div class="script-description">
<div>return structure</div>
</div>
</div>
<div class="script-functions">
<div class="script-title">getRootElement</div>
<div class="script-description">
<div>return root RNAElement class of rna object</div>
</div>
</div>
<div class="script-functions">
<div class="script-title">map</div>
<div class="script-description">
<div>applies function to all RNAElement</div>
</div>
</div>
</div>
<div>
<div class="script-section-title">Class RNAElement</div>
<div class="script-functions">
<div class="script-title">getParent()</div>
<div class="script-description">
<div>return the parent RNAElement class</div>
</div>
</div>
<div class="script-functions">
<div class="script-title">getChilds()</div>
<div class="script-description">
<div>return the child RNAElement class array</div>
</div>
</div>
<div class="script-functions">
<div class="script-title">getElements()</div>
<div class="script-description">
<div>return the array of structure and index JSON objects</div>
</div>
</div>
<div class="script-functions">
<div class="script-title">isPaired()</div>
<div class="script-description">
<div>return boolean whether the stack element is paired or not</div>
</div>
</div>
<div class="script-functions">
<div class="script-title">getBaseType()</div>
<div class="script-description">
<div>return RNAElement.Stack or RNAElement.Loop if the element is stack or loop</div>
</div>
</div>
<div class="script-functions">
<div class="script-title">getType()</div>
<div class="script-description">
<div>return RNAElement.Hairpin, RNAElement.Bulge, RNAElement.Internal, RNAElement.Multiloop or RNAElement.Dangling if the element is hairpin, bulge, internal, multiloop or dangling</div>
</div>
</div>
<div class="script-functions">
<div class="script-title">getIndices()</div>
<div class="script-description">
<div>return the array of indices</div>
</div>
</div>
<div class="script-functions">
<div class="script-title">isStack()/isLoop()/isHairpin()/isBulge()/isInternal()/isMultiloop()/isDangling()</div>
<div class="script-description">
<div>return boolean wheter the element is stack, loop, hairpin, bulge, internal, multiloop or dangling</div>
</div>
</div>
<div class="script-functions">
<div class="script-title">getSegmentCount()</div>
<div class="script-description">
<div>return how many structure segments included</div>
<div>if the multiloop consists of 2 branches then getSegmentCount() of multiloop returns 2</div>
</div>
</div>
</div>
</p>

Revision as of 14:48, 7 May 2013

Pervasives
out(text)
display text in result textarea
outln(text)
display text in result textarea with newline
clear()
clear result textarea
Library functions
Lib.bases
"AGCU"
Lib.fold(sequence)
return folded structure with sequence
ex) Lib.fold("GGGGCCCC") = "((....))";
Lib.energyOfStruct(sequence, structure)
return energy of structure
Lib.EternaScript(script id)
return other user's script
ex) var func = Lib.EternaScript(script_id);
ex) func(parameters);
Lib.getStructure(puzzle id)
return structure of puzzle
ex) Lib.getStructure(1001759)
Lib.replace(sequence, index, target)
return sequence which character at index in sequence replaced to target
ex) Lib.replace("AGCU", 2, "A") = "AGAU";
Lib.nextSequence(sequence)
return next sequence of sequence in the order of default bases
ex) Lib.nextSequence("AAAA") = "GAAA";
Lib.nextSequenceWithBases(sequence, bases)
return next sequence of sequence in the order of bases
ex) Lib.nextSequenceWithBases("UUUU", "UCGA") = "CUUU";
ex) Lib.nextSequenceWithBases("AUAA", "UCGA") = "UCAA";
Lib.random(from, to)
return random number between from to
Lib.randomSequence(size)
return random sequence with length of size
Lib.map(function, sequence)
applies function to each sequence bases
Lib.filter(function, sequence)
return sequences only satisfy the function
Lib.splitDefault(structure)
split structure into a structure array
ex) Lib.splitDefault("((..))") = ["((", "..", "))"];
Lib.join(array)
join array with each element to sequence
ex) Lib.join(Lib.split("((..))")) = "((..))";
Lib.distance(source structure, destination structure)
return differences between source structure and destination structure
if same then 0 else +1
if different length then just return -1
ex) Lib.distance("((..))", "((()))") = 2
ex) Lib.distance("(((())))", "(())") = -1
Lib.distanceCustom(function, source structure, destination structure)
return differences between source structure and destination structure with custom rule
ex) Lib.distanceCustom(function(index){ ... }, source, dest);
Class RNA<a href="http://kws.eternadev.org/web/script/">example code</a>
getPairmap(structure)
return the array of pair information
ex) getPairmap("((..))") = [5,4, , ,2,1]
getStructure
return structure
getRootElement
return root RNAElement class of rna object
map
applies function to all RNAElement
Class RNAElement
getParent()
return the parent RNAElement class
getChilds()
return the child RNAElement class array
getElements()
return the array of structure and index JSON objects
isPaired()
return boolean whether the stack element is paired or not
getBaseType()
return RNAElement.Stack or RNAElement.Loop if the element is stack or loop
getType()
return RNAElement.Hairpin, RNAElement.Bulge, RNAElement.Internal, RNAElement.Multiloop or RNAElement.Dangling if the element is hairpin, bulge, internal, multiloop or dangling
getIndices()
return the array of indices
isStack()/isLoop()/isHairpin()/isBulge()/isInternal()/isMultiloop()/isDangling()
return boolean wheter the element is stack, loop, hairpin, bulge, internal, multiloop or dangling
getSegmentCount()
return how many structure segments included
if the multiloop consists of 2 branches then getSegmentCount() of multiloop returns 2