Home > Module development > 5.How to use class

How to use class

 

A class can be defined as a reproducible object that is a collection of modules. Visual Gene Developer has several classes and allows users to make use of them to develop new modules.

Every class may have a function routine, subroutine, and property. Function routine is used mainly for a calculation and returns a result value. In contrast, subroutine doesn't return a value and property works as a variable whose value is readable or writable. In spite of different names, their internal algorithms and usages are very similar. Google websites to get more information!

 


o Rule

 

VBScript

Function routine:         Other variable = Class name.function name (parameter1, parameter2, ...)

Sub routine       :         Call Class name.sub name (parameter1, parameter2, ...)

                                  Class name.sub name parameter1, parameter2, ...

Property (reading):      Other variable = Class name.property name (parameter1, parameter2, ...)

Property (writing):      Class name.property name (parameter1, parameter2, ...) = Other variable

 

 

JScript

Function routine:         Other variable = Class name.function name (parameter1, parameter2, ...);

Sub routine       :         Call Class name.sub name (parameter1, parameter2, ...);

Property (reading):      Other variable = Class name.property name (parameter1, parameter2, ...);

Property (writing):      Class name.property name (parameter1, parameter2, ...) = Other variable;

 

 

Here, parameters can be optional and a user may not distinguish between 'Function routine' and 'Property (reading)'.

 


o Example 1:  Function

 

VBScript

Function Main()
Main=GeneConstruct.TableValue(1,1)
End Function

 

JScript

function Main() {
return GeneConstruct.TableValue(1,1);
}
 

 

'GeneConstruct' is a class, and 'TableValue' is a function. The first parameter is the gene construct index and the second is the column position. 'TableValue' accesses to the gene construct table on the 'Gene optimization' window.

 


o Example 2: Subroutine

 

VBScript

Function Main()
   ReturnValue=mRNApredict.Calculate("GCGGGCGGCGGCTATTGCA",False)
   Call mRNApredict.ShowStructure

End Function

Or

Function Main()
   mRNApredict.Calculate "GCGGGCGGCGGCTATTGCA",False
   mRNApredict.ShowStructure

End Function

 

JScript

function Main() {
  ReturnValue=mRNApredict.Calculate("GCGGGCGGCGGCTATTGCA","False");
  mRNApredict.ShowStructure;
}

 

 

'mRNApredict' is a class name, and both 'Calculate' and 'ShowStructure' are subroutine names. Because 'ShowStructure' doesn't have a parameter, it doesn't have parenthesis. In the case of 'Calculate', there are two parameters: source DNA sequence (string type), fast calculation mode (Boolean type: 'True' or 'False')

 


o Example 3:  Property

 

VBScript

Function Main()
     TargetGeneConstructIndex=GeneConstruct.CurrentConstructIndex
     TargetGeneName=PropBag_Param.Value("Target Gene Component ID")
     PropBag_Param.Value("Modified DNA")="AGTGACTGACACAGTTCACGTGC"

End Function

 

 

JScript

function Main() {
   TargetGeneConstructIndex=GeneConstruct.CurrentConstructIndex;
   TargetGeneName=PropBag_Param.Value("Target Gene Component ID");
   PropBag_Param.Value("Modified DNA")="AGTGACTGACACAGTTCACGTGC";
}

 

Both 'GeneConstruct' and 'PropBag_Param' are classes, and 'Value' is a property. In the case of 'CurrentConstructIndex', it is not clear if it belongs to function routine or property. However, the name of the module suggests that it is a property since the name looks like a single variable.

 

 


o Example 4:  Function

 

VBScript

Function Main()
    Main=GeneService.Calculate_CAI("GCGGGCGGCGGCTATTGGCACACGAGCGGCCGGGAGATCCTGGACGC",True)
End Function

 

JScript

function Main() {
    return GeneService.Calculate_CAI("GCGGGCGGCGGCTATTGGCACACGAGCGGCCGGGAGATCCTGGACGC","True");
}

 

'GeneService' is a class, and 'Calculate_CAI' is a function. It has two parameters: source DNA sequence (type: string) and Bulmer's correction term (Boolean type: 'True' or 'False').