Home > Module development > 1.Overview

Overview

 

Visual Gene Developer supports programming languages (VBScript, JScript) and allows users to develop new modules and plug-ins. Basically, you can check a list of modules in the 'Module Library' window and encode programs in the 'Module Editor' window. In this section, we will explain how to develop new modules.

 


o Script file (file extension: vgs)

A 'script file' is a collection of modules and contains at least one module. As default, all script files are located in the sub folder ("/Script") where Visual Gene Developer is installed. Because a script file has a standard text format, you can open any file and review its content with editing software such as NotePad or MS Word. 

 

 

 

o Module Identification Key (=Module Hash Code)

 

When a user makes a new module, Visual Gene Developer automatically generates a 'hash code (or Module Identification Key)' and assigns it to the module like SSN (Social Security Number) in the USA or Resident Registration Number in other countries. Because the hash code is a very unique string code that consists of number and alphabet and created by a special algorithm, every module has a different hash code. We use the hash code to identify a module from the module collections.

Although every module has its own name (what we call 'module name') and our software has some functions that allow a programmer to use module name instead of Module Identification Key, our internal algorithms and exposed classes (class: object of module collection) recognize certain module mainly by Module Identification Key. The most important reason is to prevent duplicate module names. Because some developers may prefer a same module name in spite of different modules, it is not easy to identify a certain module from multiple modules or multiple script files. If we use a unique code like Module Identification Key, we don't need to worry about duplicate names. Additionally we can change module name anytime without causing software error.

 


 

o PropertyBag

 

A PropertyBag is a customized parameter setting panel as shown in the figure. With PropertyBag, end-users can easily change parameters of a module and module developers also can make use of it to adjust internal algorithm parameters.

 

Because we provide a specialized class (class name: PropertyBag), developers not only can read and write parameter values in PropertyBag but also can control and modify PropertyBag in the programming level.  A user can easily design new PropertyBag in the 'PropertyBag Editor' and 'PropertyBag Library' windows and can access to maximum two PropertyBags according to its module type. Like modules, a PropertyBag also has a unique hash code (PropertyBag Identification Key).

 


 

o Module Category

 

 There are 8 different module types. When a user creates a new module, Visual Gene Developer automatically registers the module to a 'Target place' according to its category.

 

 

 Category

Routine type

 Does it return value?

 Target place

PropertyBag

Function

Function

Yes

 'Gene optimization' window

and 'Viewer setting' window

or 'mRNA structure viewer' window

Yes. It has 1 PropertyBag

Sub

Sub

No

'Toolbox' window

No

Gene Component Routine not required No "Construct designer' window

Yes. It has 1 PropertyBag

Sequence optimization

Sub

No

'Configuration of gene optimization' window

Yes. It has 1 PropertyBag

mRNA structure optimization

Sub

No

'Configuration of gene optimization' window

Yes. It has 1 PropertyBag

Manipulation

Sub

No

'Configuration of gene optimization' window

Yes. It has 1 PropertyBag

Constraint

Function

Yes

'Configuration of gene optimization' window

Yes. It has 1 PropertyBag

Search strategy

Sub

No

'Gene optimization' window

Yes. It has 2 PropertyBags

 

 

When you develop a new module, Visual Gene Developer automatically generates a 'hash code (or Module Identification Key)' and assigns it to the module like SSN (Social Security Number) in the USA or Resident Registration Number in other countries. Because the hash code is a very unique string code that consists of number and alphabet and created by special algorithm, every module has different hash code. We use this hash code to identify a module among module collections.

Although every module has its own name (what we call 'module name') and Visual Gene Developer has some functions that allow a programmer to use module name instead of Module Identification Key, our internal algorithms and exposed classes (class: object of module collection) recognize certain module mainly by Module Identification Key. The most important reason is to prevent duplicate module name. Because some developers may prefer the same.

 

 


 

o General procedure

1. Design a PropertyBag in the 'PropertyBag Editor' window

2. Develop a new module in the 'Module Editor' window

3. Attach the PropertyBag to the module in the 'Module Editor' window

4. Test and debug code in the 'Module Editor' window

5. Run the module in the 'Target place' window.