Home > Module development > 3.PropergyBag



A PropertyBag is a parameter setting panel for a user to adjust parameter values. Since Visual Gene Developer has a user-friendly interfaced PropertyBag editor, module developers can easily design customized PropertyBag and attach the designed PropertyBag to the module. Using the specialized class (class name: PropertyBag), you can access to the PropertyBag to read and write parameters and make use of parameter values while developing modules.


o PropertyBag file (file extension: vgb)


A 'PropertyBag file' is a collection of PropertyBags and contains at least one PropertyBag. As a default, all PropertyBag files are located in the subfolder, "/PropertyBag", where Visual Gene Developer is installed. Because the PropertyBag file has a standard text format, you can open any file and review its content and edit it with software such as NotePad or MS Word. 




o PropertyBag Identification Key (=PropertyBag Hash Code)


Each PropertyBag also has a unique Identification Key that Visual Gene Developer generates automatically. The concept and purpose are quite the same as typical modules. Check the previous section.


o PropertyBag Editor window


You can define new parameters in the 'PropertyBag Editor' window


1. To create new PropertyBag, click on the 'New PropertyBag file' button in the 'PropertyBag Library' window

2. Or, click on the 'Edit PropertyBag' button to edit existing PropertyBag

3. There are 4 buttons in the 'PropertyBag Editor' window, you can click on the 'Add parameter' button to add a new parameter

4. Choose one of the parameters

5. You can see the information about the parameter you chose

6. Click on the 'OK' button to close the 'PropertyBag Editor' window

7. Click on the 'Save changes to files' to save all designed PropertyBags to PropertyBag files.



o How to define a parameter

Here is an example.





 Parameter name that represents a given parameter

 Module developers read and write parameter value by this 'Name'

 Variable type

 It has one of types

   - Integer: integer number

   - Single: floating point number

   - String: text


 Default value

 Cell type

 It has one of the types

   - Text: single-line text

   - TextBox: multiple line text

   - ComboBox: drop-down combo box (a user can choose one of the listed items)

 String collection

 It is reserved for ComboBox cell type (Text and TextBox cell type don't use this one)

 It is a multiple-line text

 Each line is considered to be a single item


 It set a parameter to be editable or not.

 It has 'True' or 'False' value

 If  'False', users only can read value

 Height (Line)

 Height of a parameter shown in PropertyBag

The default value is 1 line



o How to attach PropertyBag to module


1. Click on the 'Copy' button in the 'PropertyBag Library' window to copy 'PropertyBag Identification Key' to clipboard

2. Click on the 'Paste' button in the 'Module Editor' window.

3. Immediately, you can see the designed PropertyBag


Information  If you paste incorrect PropertyBag Identification Key, Visual Gene Developer will neglect and will not show it.



o How to Read and Write Parameters


In the above figure, please check the source code. 'PropBag_Param' is a instance of 'PropertyBag' class and means a default PropertyBag for a given module. In the 'Module Editor' window, 'PropBag_Param' is a default PropertyBag (Number 3 in the above figure) and a module developer can read parameter values using 'PropBag_Param'. At the same, a registered module in other windows also can be 'PropBag_Param' as a default PropertyBag. For example, default PropertyBag's name in the 'Configuration of gene optimization' is also 'PropBag_Param'.


Therefore, module developers can use 'PropBag_Param' class to consistently access to default PropertyBag to test a module in the 'Module Editor' window.


o Specialized class: 'PropertyBag'


The class, 'PropertyBag' is a specialized class to access to PropertyBag and its parameter values. There are 3 different instances of PropertyBag such as 'PropBag_Param', 'PropBag_Prc' and 'PropBag_Custom'. 'Instance' means that they are separate templates and copies of 'PropertyBag' but are different objects with different class names. Module developers mainly will use 'PropBag_Param' for module development.

'PropBag_Prc' class is usually optional as a secondary PropertyBag and it is used by the 'Search strategy' function among the module categories (or types) or other target places. Of course, the 'Module Editor' window also has a secondary PropertyBag whose name is 'PropBag_Prc'.



Meanwhile, 'PropBag_Custom' is used to show gene analysis results by Visual Gene Developer software or users

1. When you click on the 'CAI and GC content', you can see the 'Gene analysis' window.

The name of the PropertyBag is 'PropBag_Custom' in the figure and the software accesses the PropertyBag to write the results via a common interface. It means that a user also can access to the PropertyBag to output gene analysis results.