Sequence
optimization
A module developer can classify a new module to 'Sequence optimization'
when the module is relevant to sequence optimization such as codon
optimization, UTR sequence optimization, or intron sequence
optimization. To develop optimization algorithm, you will have
to use a specialized class (class name: GeneConstruct) to access to a memory
array of gene constructs and gene analysis table. In this section, we
show a short demonstration how to develop 'Sequence optimization'
module. For more details, check 'Class & module' section.
o Gene construct array and cell address
In the below figure, the first column ("#") represents gene constructs and
each column includes information of a gene construct including gene
component.
1. The first row means the first gene construct and each cell ("[Gene] CAI",
"[Gene] Mismatched DNA", ..., or "[Gene] mRNA -> Structure")
represents an individual analysis result of the first gene construct.
Their cell addresses (row, column) are "(1,1)", "(1,2)", "(1,3)", ...,
and "(1,7)", respectively. Please remember that gene construct number
(#) is an essential index if you want to specify a certain gene
construct to read and write sequence data.
2. For example, in case of "49.162", cell address is (4,3) where number
4
means 4th gene construct and number 3 means 3rd column.
3. In case of "40.1961", cell address is (6,5).
The cell address is also important when you access to the table.
o
How to develop module
All modules are developed in the 'Module Editor' window
Step 1: Create module
1. Click on the 'Module Library' in the 'Tool' menu
2. Click on the 'Add new Module' button to create a new module
3. Or, just choose the predefined module: 'Sequence optimization'
4. And then click on the 'Edit Module' button
Step 2: Edit module
1. Choose 'Sequence optimization'
2. Check the example code
3. Click on the 'Test run' button to run the code
Here is a full source code (VBScript version)
Sub Main()
Source_GeneConstruct=GeneConstruct.CurrentConstructIndex
'<---- Read current gene construct
number
ReturnError=GeneConstruct.AddNewConstruct_FromParent(Source_GeneConstruct)
'<---- Generate new construct as
copy
Target_GeneConstruct=GeneConstruct.ConstructCount
'<---- Total number of gene
construct
Target_GeneComponent=2
'<---- The second gene
component
TargetSequence=GeneConstruct.ParameterValue(Target_GeneConstruct,Target_GeneComponent,"Modified
DNA")
'<---- Read sequence
information
OptimizedSequence=OptimizeSeq(TargetSequence)
'<---- Call another function
titled 'OptimizedSeq'
GeneConstruct.ParameterValue(Target_GeneConstruct,Target_GeneComponent,"Modified
DNA")=OptimizedSequence
'<---- Write optimized sequence
ReturnError=GeneConstruct.Update_ConstructTable(Target_GeneConstruct)
'<----
Update table
End Sub
Function OptimizeSeq(SourceSequence)
'Add any algorithm here...
'<---- You can modify SourceSequence
OptimizeSeq=SourceSequence
'<---- Return optimized sequence
End Function
|
Overall function of the code is to copy a source gene
construct to a new gene construct without modification.
Step 3: Test run
1. Choose 6th gene construct
2. Click on the 'Test run' button
3. A new gene construct will be shown in the 11th rows. In other words, the
module copied the 6th gene construct to the 11th gene construct
(4) To register the module to a proper location, check on
'Registration'.
Step 4: Use module
1.Once a module registered, you can see a new module in the 'Algorithm' selection box.
2. After adding 'Sequence optimization (Sample Script.vgs)', click
on the 'Run' button to start optimization.
3. As shown in the Step 3, it will work the same way as 'Test run'
button on 'Module Editor' window
o
Specialize class: GeneConstruct
The class, GeneConstruct, contains many modules to access to the gene construct
memory array and gene analysis table. For more details, check 'Class &
module' section in the left menu.
Here is an example that show how to read cell value of the Gene optimization table
1. Check the 'TableValue' module in the 'Sample Script.vgs' in 'Module
Library' window
2. Review the source code. The 'GeneConstruct.TableValue(7,2)' means reading
cell value at the address of (7,2) where 7 is the 7th gene construct.
3. Click on the 'Test run' button
4. The Message box shows the result.
|