RELEASE 3.2.2

   
   
 
 

Printable manual by:  

Alessandro Pedretti
Giulio Vistoli
 
 
 
 

 

1. Introduction

VEGA ZZ is a complete molecular modelling suite that includes several features to make very easy your research jobs.

VEGA ZZ graphic output
 
Snapshot view highlighting the real time graphic quality of VEGA ZZ package. 

 

3D Graphic Features:

Molecule with background
   

The powerful lighting engine implemented in VEGA ZZ allows realistic views.

Graphic User Interface:

Editing:

Calculation Tools:

Integrated Tools:

External Tools:

Scripting Languages:

Other Features:


2. Installation and activation

To install the VEGA ZZ package, run the setup file (Vega_ZZ_X.X.X.X_Setup.exe) with administrator rights and follow the installation wizard. If you installed a firewall software, you must configure it, granting the network access to VegaZZ.exe and  REBOL.exe.

Staring from 3.1.2 release, both 32 and 64 bit versions of VEGA ZZ are provided in the same package and during the setup procedure, the best version for your operating system is automatically installed. If you choose to install the Live CD creator tool, both versions are installed in order to grant the run of the live version of VEGA on all Windows versions.
After the setup, run VEGA ZZ to begin the activation procedure needed to unlock the software: the activation is totally FREE.

Follow the procedure shown in this window:

 

 Activation window

 

Please remember that the activation key is generated starting from the product key. The product and the activation keys are personal and they work with a specific PC/workstation only. You can't activate more than one PCs with the same activation key because each PC has a different and unique product key. The activation expires after 1 year for non-profit academic users and after 30 days for business companies. After this time it's possible to request another activation key. The two activation types can be selected during the registration procedure. The Authors can change the licensing method in any time on their own decision. The business companies can't access to the collaborative support without purchasing the Support Pack (available requesting it to the Authors): help or new feature requests will be trashed if they are submitted by companies without Support Pack. The Authors spent a lot of time to develop a software that, in some cases, includes better features and performances than several commercial packages. We request a little contribution to companies in order to continue the VEGA ZZ project otherwise destined to end in the near future.

 

2.1 Installation of optional components

The optional components require to pre-install VEGA ZZ on your PC. Some components aren't included because they may be not useful for all users and/or require a separate license agreement.

 

2.1.1 OpenCL acceleration

The HyperDrive library, that is the calculation core of VEGA, can take full advantages of the OpenCL enabled devices (GPU and accelerators). Although your PC has OpenCL device, it may be necessary to enable its support, installing suitable drivers. For more information about the OpenCL installation, click here. The performance boost could be amazing as reported in the following test:

 

System configuration:

AMD Phenom II X4 955 quad core 3.2 GHz,  4 Gb DDR3 Ram, Sapphire/ATI HD5770 1 Gb DDR5 PCIe card

 

Software for the test:

Windows 7 Professional x64, VEGA ZZ 2.4.0, HyperDrive 2.0 for K8 and more CPUs.

 

Type of test:

MEP surface calculation (Type: MEP, Dots, Probe Rad: 0, Density: 10) of the inositol monophosphate dehydrogenase (8598 atoms) which file name is impdh.pdb.bz2 and it's placed in the ...\VEGA ZZ\DemoZZ directory.

 

Test results:

The results are approximated and indicative for the performance boost.

 

Calculation mode

Time

(seconds)

OpenCL GPU ~1
OpenCL CPU (GPU emulation) 11
CPU 4 cores 28
CPU 3 cores 37
CPU 2 cores 56
CPU 1 core 111

 

2.1.2 VEGA ZZ Live CD Creator

VEGA ZZ Live CD Creator is a software developed to create live distributions starting from the VEGA ZZ files installed in your PC. A live distribution is an auto-starting CD or pen drive  that allows to use VEGA ZZ without installation and activation. In this way, you are able to use VEGA ZZ everywhere. To install it, you must choose the Live CD Creator component during the software setup.

 

 

2.1.3 MOPAC 2016 installation

The VEGA ZZ package includes MOPAC 7.01-4 for semi-empirical calculations, but it's possible to use the latest MOPAC 2016 that, if correctly installed, is automatically detected by VEGA ZZ. For copyright reasons, Mopac 2016 isn't included in the package but it can be obtained at http://openmopac.net.
Please follow these steps for a correct installation:

 

2.1.4 NAMD installation

NAMD 2 is a parallel molecular dynamics software designed for high-performance simulation of large biomolecular systems. VEGA ZZ includes a user-friendly graphic interface making easier the use of this powerful package. To install NAMD, follow this procedure:

 

2.2.6 PLANTS installation

PLANTS docking software is not included in VEGA ZZ package and to install it, you must follow these steps:

Now PLANTS is ready to run in VEGA ZZ environment.

 

WARNING:

If you installed the 1.1 version built by Mingw32, it's strongly recommended to patch it by running Patch bin 1.1 script. To do it, select File Run script in the main menu (for more information click here), expand the script tree at Docking, thus at PLANTS level and finally double click Patch bin 1.1.c.

 

 

2.2.5 X-Score installation

X-Score 1.2 or 1.3 for Windows is not included in VEGA ZZ package, but is required to run some scripts such as X-Score.c and Rescore+.c. To intall X-Score, follow these steps:


 

2.2 VEGA ZZ installation on Asus Eee PC

 

2.2.1 Introduction
2.2.2 What's you need
2.2.3 Preparing the Windows XP CD
2.2.4 Windows XP installation
2.2.5 Using a SD card to increase the storage
2.2.6 VEGA ZZ installation
2.2.7 Optimizing the VEGA ZZ configuration
2.2.8 Increasing the Eee PC computational power
2.2.9 More power ...

 

2.2.1 Introduction

With the Eee PC product line, Asus introduced a new notebook concept in which weight and dimensions are minimized to use the PC anywhere. This small PC is perfect to create an ultra-mobile workstation to explain the molecular modelling concepts in the classroom, to realize a new idea anywhere, to control your HPC system trough the wireless connection, etc.
At this time, Eee PC is available only with the powerful Xandros operating system that is unable to run VEGA ZZ. Fortunately, Asus included all drivers to install Windows XP, making possible to run VEGA ZZ. Due to the small SSD (Solid State Disk) storage system, the installation procedure requires attention to reduce the waste of disk space.

 

Eee PC with Windows   Eee PC running VEGA ZZ

 

2.2.2 What's you need

 

2.2.3 Preparing the Windows XP CD

Not all components installed by the standard Windows setup are really required (e.g. the driver database, some services, etc) and thanks to nLite is possible to exclude some of them to reduce the disk space occupied by the operating system.
A complete tutorial to create a slimmed installation CD is available at: http://wiki.eeeuser.com:80/howto:nlitexp

 

2.2.4 Windows XP installation

Before proceeding the Windows setup, backup your data because they will be overwritten.

After the reset, the Windows XP Setup procedure will start.

 

WARNING:
the following step deletes all data previously saved in the SSD and they will lost definitively.

To reserve more disk space, you could disable the Automated System Recovery (ASR):

The system restore service is no more needed and so it can be disabled:

Optionally, to speed-up the boot and increase the amount of free physical memory, the remote assistance and the desktop sharing van be disabled:

Driver installation:

Update the operating system:

These steps reduce the amount of disk space, removing the backup files:

sfc /purgecache

and press return to clear the system backup files.

Some other files can be deleted:

To increase the available disk space, it's possible to reduce the Internet Explorer file cache to 8 Mb and the size of the swap file used as virtual memory.

Change the size of the swap file:

If you expanded the memory of your Eee PC from 512 Mb to 2 Gb, installing a 2 Gb SoDIMM DDR2 667 MHz module, you could consider to disable the virtual memory, selecting No paging file.

 

2.2.5 Using a SD card to increase the storage

A 4-16 Gb SDHC (Secure Digital High Capacity) card is a good choice to increase the storage size, moving some directories on it.

A new SDHC card is pre-formatted with the FAT32 file system that is not very efficient to manage the disk space due to the too big cluster size. For this reason, some disk space is lost writing small files on the SD. To avoid the problem, you could format the card with NTFS file system that generates smaller clusters. Unluckily, Windows XP doesn't allow to format the removable devices with NTFS, but the convert.exe included in the standard Windows distribution can convert any disk from FAT16/32 to NTFS.

convert e: /fs:ntfs

Use the E:\Program Files directory to install the new software, reserving the internal SSD for the system files.
Another good idea to is to move the Outlook Express data files from the user profile directory in C: to E:

 

2.2.6 VEGA ZZ installation

In this section will be explained how to install VEGA ZZ on the Eee PC.

The Eee PC has a Celeron M CPU and the components for the other CPU models can be omitted:

At this step, you need to activate VEGA ZZ, following the procedure explained in the Installation and activation chapter.

 

2.2.7 Optimizing the VEGA ZZ configuration

VEGA ZZ 2.2.0 can detect the Eee PC and automatically enables some window optimizations, but if you are running a previous version, it may be possible that you need to switch from 800x480 to 800x600 screen resolution to manage the large windows.
The Intel GMA 900 graphic card is full working but has a limited OpenGL support:

Intel claims OpenGL 1.4 features, but bugs and missing extensions makes this graphic adapter OpenGL 1.2 compliant only.

For the best view experience:

 

2.2.8 Increasing the Eee PC computational power

The Eee PC is factory downclocked to increase the battery life, but if the stock computational power is not enough for you, it's possible to change the Front Side Bus (FSB) from 70 to 100 MHz. In this way, the CPU goes from 630 to 900 MHz with a 30 % increment of the computational power. This is not a real overclock because the Celeron M was designed by Intel to run with a 100 MHz FSB.

You can change FSB in any time, but I found problems suspending the system when the FSB differs from 70 MHz (system lock).

WARNING:
The Author of this guide accepts no responsibility for hardware/software damages.

 

2.2.9 More power ...

If the Celeron M @ 900 MHz is not enough for your MM calculations, VEGA ZZ can help you to break this barrier thanks to the possibility to run remote jobs (see Configuration of remote hosts).

 

2.2.9.1 What's you need

 

2.2.9.2 Configuration of the Windows host

In this section will be explained how to configure a remote host in order to perform MM calculations submitted by the Eee PC (or any other remote PC).

Now you need to configure the WarpTel service that is an encrypted telnet daemon (for more information, click here).

ipconfig /all

and press return.

It's possible to run WarpTel as Windows service and the procedure to do it is explained in the WarpTel manual.

 

2.2.9.3 Configuration of the Linux host

The configuration of a Linux host is a little bit hard and it's reserved to power users:

AMMP is the calculation module and must be installed:

chmod 755 ammp

Now, you must install the WarpGate daemon that creates the encrypted tunnel between the host and the client. To do it, you must be logged as root.

; Local port  Local conn.  Remote host                 Remote port  Type  Key
; ========================================================================================================================================
  7000            N        localhost                   23            TCP   <Put here the key generated by WarpKeyGen>
ln -s /usr/local/bin/warpgated S98warpgated

 

2.2.9.4 Configuration of the client (Eee PC)

The client configuration is finish and now a test is required.

 

2.2.9.4 Running a remote calculation

To do this step, the Eee PC must be connected to the LAN or to Internet if the host is connected to it. This is the best scenario because in this way you can use anywhere the computational power of the remote host. The Eee PC connection can be done indifferently by Ethernet or wireless adapters.

We successfully tested the Eee PC with a dual AMD Operton 250 @ 2.4 GHz workstation running Windows XP and a eight dual core AMD Opteron 875 @ 2.2 GHz (16 cores) HPC system running 64 bit Linux (CentOS distribution): imagine the amazing power of this last system inside your small Eee PC ...

 


3. Running VEGA ZZ

VEGA ZZ can be started in several ways:

If you need to operate in command line mode without graphical output, you must type VEGA instead of VEGA ZZ in the command prmpt. For the complete command command syntax, click here.

       
Menu bar
Tool bar 2
The main window
    Window title
   
Tool bar 1
Graphic view
Workspace controls
Console

Status bar

In the Window title bar are shown the  version, the communication port number, the active workspace number and the name of the workspace that corresponds to the molecule name. The communication port number is important to identify the VEGA ZZ session to witch send the script commands. You can start more than one VEGA ZZ.
The Menu bar allows the access to the main functions. For more information about the Main menu, click here.
Tool bar 1 and Tool bar 2 are classic tool bars that replicate some main menu commands for a fast-easy access. They can be closed and to reopen them, you must use View Tool bars item in Main menu.
The Workspace controls are useful to manage the multiple workspaces. A workspace is a separated area that can contains molecules, surfaces and trajectories without interferences between the other workspaces.
To add a new workspace, you must open the context menu clicking the Workspace controls box by the right mouse button and selecting New. To change the current workspace, you can click its name in the list or use the Q (previous) and W (next) keys.
To remove a single workspace, you must click it and select Remove in the context menu. If you want remove all workspaces, you must choose Remove all. Remember that the first (0)  workspace can't be removed.
The Graphic view shows the 3D representations of molecules, surfaces, etc and the Console displays text information only (calculation progress, results, etc). In this window you can type directly commands of the menu and extended commands in order to control VEGA ZZ without the GUI. To explore the command history, you can use the cursor arrows and Pg. Up and Pg. Down keys . The Console can be moved from its docking position and can be closed also clicking the button placed at the top-left corner. You can use View Console menu item to show or hide it.
The Status bar shows the current mouse mode (Rotate, Translate and Scale), the object that are subjected to the mouse 3D transformations (All, Molecule, Segment and Residue) and the mouse measurement mode (Atom, Rotation center, DistanceAngle, Torsion and Angle between two planes). For more information about the mouse controls, click here.

 


4. Mouse, keyboard and joystick

 

4.1 Mouse

The mouse can be used to manage the 3D objects trough rotation, translation and scale operations, changing the mouse mode with the context menu and/or the M hotkey (see hotkeys section). To change a 3D property, you must drag the mouse from left to right and vice versa pressing the left mouse button. To apply a Z transformation (rotation or translation), you must drag the mouse holding the middle button or the left button and the shift key at the same time. The mouse wheel, if present, has some functions on the basis of the current mouse mode: it can rotate around Y axis, translate along the Z axis and zoom. To change the mouse settings, see the configuration of the human interface devices (HID).
In the main window, you can select some functions with the context menu, pressing the right mouse button:

 

Item Subitem CmdName Description
Mouse mode

                          

Rotate mMouseRotate

Switch the mouse into the rotation mode.

Translate mMouseTrans

Switch the mouse into the translation mode.

Scale mMouseScale

Switch the mouse into the scaling mode.

Move All mMoveAll

Connect the mouse and the 3D controls to the world

Molecule mMoveMol

Connect the mouse and the 3D controls to a specified molecule or segment or residue. Holding down the Control key, it's possible to switch temporally from the specified object to the world.

Segment mMoveSeg
Residue mMoveRes
Measure Reset picking mPickReset

Restart the atom selection from the beginning.

Remove monitors mPickRemMon

Remove all monitors.

None mPickNone

With these items, you can enable/disable the mouse atom picking in order to change the rotation center and/or to show the atom information and/or perform a measure between 2 (distance), 3 (angle), 4 (torsion) and 6 atoms (angle between two planes). The result of each pick/measure operation is shown in the console window.

Center item allows you to change the rotation center.

Atom mPickAtom
Center mPickCenter
Distance mPickDistance
Angle mPickAngle
Torsion mPickTorsion
Plane angle mPickPlaneAngle
Hydrogen bonds mHbonds

Calculate the H-bond energy and highlight them in the main window.

E/Z geometry mEzGeom Show the E/Z geometry of the double bonds.
Bump check mBumpCheck

Perform the manual bump check. The collisions are shown by stippled lines which color can be changed in the Color settings dialog. The number of collisions is printed in the console and the monitors can be removed through Remove monitors menu item.

RT bump check mBumpCheckRT

Enable/disable (default = enable) the real time bump check when you move molecules, segments and residues. If the computational power of your CPU isn't enough, disable this feature and use the manual bump check (see above).

Joystick enabled   mJoyEnable

Enable/disable the joystick control.

Select    

See the Select item in the main menu.

Display Wireframe mShowWire

Switch the current display mode to Wireframe, Van der Waals dotted, Van der Waals vectorized, Van der Waals solid, CPK with vectors, CPK solid and liquorice.

VdW Dotted mShowVdwDot
VdW mShowVdwWire
VdW Solid mShowVdw
CPK mShowCpkWire
CPK Solid mShowCpk
Liquorice mShowLiquorice
Settings mShowSettings

Show the display settings dialog box.

Window Full screen mFullScreen

Change the window size. Only the sizes compatible with the current screen resolution, are shown in this submenu. When you check Full screen or (or press F12),  the program switches from windowed mode to full screen mode.

320x240 -
640x480 -
800x600 -
1024x768 -
1280x1024 -
1600x1200 -
Center   mCenterView

Center and zoom the current atom selection.

Reset   mResetView

Reset the current view, changing to default the rotations, the translations and the scale factor.

Stop calc.   mStopCalc Stop the current calculation.
Power off the system    

When you check this item and a calculation is finished, the system is automatically switched off. The PC is not switched off immediately, but a count down dialog is shown in which you can press Abort button to terminate the procedure.

Please note that the CmdName column contains the command name, that must be used with SendVegaCmd program to activate the menu functions in batch files (click here for more information).

 

There are other menu items that are sensible to the context and are shown if you click an atom or a bond by the right mouse button, as shown in the following table:

 

Object to change Item Subtem Description
Atom

 

Residue

 

Chain

 

Segment

 

Molecule

Select   Show the object.
Hide   Hide the object.
Label Off Switch off all labels of the object.
Name Show the atom labels by name.
Element Show the atom labels by element.
Number Show the atom labels by atom number.
Type Show the atom labels by atom type (force field).
Charge Show the atom labels by atom charge.
Chirality Show the R/S chirality of the asymmetric atoms.
Fixing val. Show the atom labels by fixing value (constraint).
Residue Show the residue labels with name, number and chain.
Residue name Show the residue name labels.
Residue number Show the residue number labels.
Color By atom Color the object by atom.
By residue Color the object by residue.
By chain Color the object by chain identificator.
By segment Color the object by segment.
By molecule Color the object by molecule
By H-bond Color the object by property to accept or donate H-bonds.
By charge Color the object by atomic charges.
By constraints Color the object by constraint values.
Selection Color the object by selected color (a graphic submenu is shown).
Display Wireframe

Change the display mode of the object to wireframe, CPK dotted, CPK wireframe, CPK solid, ball & stick wireframe, ball & stick solid, stick wireframe, stick solid, trace and tube.

CPK dotted
CPK wire
CPK solid
Ball & stick wire
Ball & stick solid
Stick wire
Stick solid
Tube
Trace
Add Hydrogens Add the hydrogens to the object.
Change   Change the object
Remove   Remove the object.

 

The following table includes the specific options to change a bond.

 

Object to change Item Subtem Description
Bond
Label Off Switch off all labels of the bond.
Length Show the bond length.
Name Show the atom labels by name.
Element Show the atom labels by element.
Number Show the atom labels by atom number.
Type Show the atom labels by atom type (force field).
Charge Show the atom labels by atom charge.
Chirality Show the R/S chirality of the asymmetric atoms.
Fixing val. Show the atom labels by fixing value (constraint).
Color By atom Color the bond by atom.
By residue Color the bond by residue.
By chain Color the bond by chain identificator.
By segment Color the bond by segment.
By molecule Color the bond by molecule
By H-bond Color the bond by property to accept or donate H-bonds.
By charge Color the bond by atomic charges.
By constraints Color the bond by constraint values.
Selection Color the bond by selected color (a graphic submenu is shown).
Change Single Change the bond type to single, double, triple and partial double.
Double
Triple
Partial double
Remove   Remove the bond.

 

4.2 Keyboard

When the main window is active, some commands can be executed directly from the keyboard, like shown in the following table:

Key Description
A

Turn on/off the animation mode.

ESC

Close VEGA.

L

Switch on/off the light.

Q Go to the previous workspace.
R Enable the mouse rotation mode.
S Enable the mouse scale mode.
SPC

Reset view and eventually stop the animation.

T Enable the mouse translatiopn mode.
V

Change the current display mode in Wireframe Van der Waals dotted Van Der Waals vectorized Van der Waals solid CPK with vectors CPK solid Liquorice (see the main menu section).

W Go to the next workspace.
Arrows
Up, Down

Rotate the molecule around the X axis.

Arrows
Left, Right

Rotate the molecule around the Y axis.

Pg. Up
Pg. Down

Rotate the molecule around the Z axis.

F12

Toggle between full screen and windowed modes.

 

4.3 Joystick

To enable the joystick operation, you must check the Joystick enabled menu item present in the the context menu. The keyboard and the mouse are kept full operative. To change the joystick settings, see the configuration of the human interface devices (HID).

 

4.4 Interactive controls

Another way to control the VEGA 3D visualization, is the use of the 3D control window. It can be shown clicking View 3D controls.

3D Controls   

The window contains seven dynamic buttons to control rotation, translation and scale factor. The bottom slider sets the sensitivity of the dynamic buttons. As an example, when you click X Translation button, the direction is due by the clicking point: if you click the left part of the button, the molecule is translated to left and clicking the right part, the it's translated to right. The translation speed is higher clicking the button extremities, but it's lower clicking the button center.
The controls are connected to the selected object (world,  molecule, segment, residue). To transfer temporally the controls to the world, you can hold down the keyboard Control button (Ctrl). In this way, you can switch easily from word to molecule and vice versa.

 


5. The main menu

Main menu

 

By VEGA ZZ main menu, you can access to main functions. The item layout is organized in menu bar and sub-menu as shown in the following tables. The CmdName column contains the command names usable in the scripts to activate directly the menu functions (for more information see the SendVegaCmd program and the extended command section).

 

5.1 File menu

Item

Subitem

Accelerator

CmdName

Description

New

 

Ctrl+N

mNew

Delete all objects (molecules, surfaces, etc). A confirmation request is shown if the molecule has been changed.

Open

 

Ctrl+O

mOpen

Open one or more molecules (multiselection allowed), surfaces and MD trajectories. If a molecule is already present in the current workspace, a dialog is shown in order to select the placing mode (Append, Replace and New workspace).

Merge

 

Ctrl+M

mMerge

Merge the file properties into the molecule in the current workspace. It's possible to select the sections to merge (e.g. coordinates, connectivity, residue names, etc).

Database

Open

 

mDbOpen

Open or create a new database.

Explore

 

mDbExplore

Explore and manage the database contents.

Optical recognition   -

-

Optical structure recognition provided by OSRA plug-in.

Download From PDB - - Download a structure from Protein Data Bank (PDB). This function is provided by PowerNet plug-in.
From PubChem -

-

Download a molecule from PubChem by specifying its name.

From URL - - Download a molecule from a URL.
Optical structure recognition  

-

-

Recognize a structure and convert it to 3D from an image, PDF document or directly from a device (scanner, camera, etc).

Run script  

-

-

Run a script. This function is provided by PowerNet plug-in.

Save As...

 

Ctrl+S

mSave

Save the molecule/assembly. Remember that only the IFF format stores all atom information and this is useful to create snapshots of the current workspace.

Save trajectory

 

-

mSaveTraj

Save the current MD/docking trajectory converting it to the specified format. Cut/skip frame and remove atoms operations can be applied.

Save image

 

-

mSaveImg

Save the OpenGL view into a bitmap or a vector file.

Export to Excel

 

-

mExcel

Export the current molecule to Microsoft Excel.

Print

 

Ctrl+P

mPrint

Perform the hardcopy of the current 3D window representation. VEGA ZZ prints with the maximum resolution allowed by the printer for the best quality.

Demo mode

Run

Ctrl+D

mDemoStart

Start the demo.

Stop

-

mDemoStop

Stop the demo.

Music

-

mDemoMusic

If it's checked, when the demo run, the background music is played.

Titles

-

mDemoTitles

If it's checked, the subtitles are shown during the demo execution.

Last file(s)

 

-

-

It's the list of the last four files opened. Using these items, you can re-open the files directly without the use of the file requester of the Open item.

Exit

 

-

mExit

Close VEGA. If a molecule is loaded, a requester is shown.

 

5.2 Edit menu

Item

Subitem

Accelerator

CmdName

Description

Undo   Ctrl+Z mUndo

Undo the last operation. The default number of undo/redo levels is 20 and can be changed in Preferences dialog window.

Redo   Ctrl+Y mRedo Redo the previous operation.

Add

Atom

-

mAddAtom

Add one or more atom with specific hybridization and bond type.

Hydrogens

-

mAddHydrogens

Add the hydrogens.

Side chains

-

mAddChains

Add the aminoacid side chains. The bump-check is not performed.

Bonds

-

mAddBonds

Add one or more bonds.

Centroid

-

mAddCentr

Add one or more centroid (pseudo-atom).

Fragments

-

mAddFragments

Enable the access to the fragment libraries to build interactively the molecule.

Cluster

-

mAddCluster

Add a solvent cluster.

Ions

-

mAddIons

Add ions to the molecule.

Remove

Molecule

-

mRemoveMol

Remove one or more molecules.

Segment

-

mRemoveSeg

Remove one or more segments.

Residue

-

mRemoveResidue

Remove one or more residues.

Atom

-

mRemoveAtom

Remove interactively one or more atoms.

Invisible atoms

-

mRemoveInvisAtm

Remove all invisible atoms.

Centroids

-

mRemoveCentr

Remove all centroids.

Hydrogens

-

mRemoveHydrog

Remove all hydrogens from the molecule.

Apolar hydrog.

-

mRemoveHydrogApol

Remove the apolar hydrogens from the molecule.

Counterions

-

mRemoveCounterions

Remove the counterions.

Water

-

mRemoveWater

Remove water molecules from the assembly.

Bonds

-

mRemoveBonds

Remove one or more bonds.

All surfaces

-

mSurfRemove

Remove all calculated surfaces.

Graphic objects

-

mRemoveGraphObj

Remove all VEGA GL graphic objects.

Build

Solvent cluster

-

mBuildCluster

Show the dialog to build a solvent cluster.

Peptide - mBuildPeptide Show the peptide builder.
SMILES - mBuildSmiles Show the SMILES editor.
Combi SMILES - mBuildCombiSmiles Show the combinatorial SMILES builder.
IUPAC - mBuildIupac Show the IUPAC name editor.

Change

Atom/residue/chain

-

mEditAtm

Change atom, residue and chain properties. 

Bond type

-

mChangeBonds

Change the bond type.

Swap bonds

-

mSwapBonds

Swap two bonds.

Bond/Angle/torsion

-

mChangeTorsion

Change bond length, bond angle and torsion angle.

Secondary struct.

-

mChangeSecStruct Change the secondary structure of a protein.

Renumber residues

-

mRenumberRes

Renumber the residue sequence. It's possible renumber all atoms or selected only.

Coordinates

Apply transf.

-

mApplyTransf

Apply the transformation matrix to the atomic coordinates.

Invert Z coordinates

-

mInvertZ

Invert the Z coordinates in order to obtain the enantiomer.

Normalize

-

mNormalize

Normalize the coordinates, translating the center of mass to the axis origin.

Conversion to 2D - mConversion2D Convert the atom coordinates from any dimension to 2D.
Conversion to 3D - mConversion3D Convert the atom coordinates from any dimension to 3D.

Constraints

-

mConstraints

Select atom constraints for molecular dynamics simulations.

Molecules

Fix

-

mMolFix

Find molecules in the active/visible atoms.

Merge

-

mMolMerge

Merge together active/visible molecules.

Segments

Fix

-

mSegFix

Find the segments in the active/visible atoms.

Merge

-

mSegMerge

Merge the active/visible segments.

Cut

 

Ctrl+X

mCut

Cut the current 3D view and put it into the clipboard.

Copy

 

Ctrl+C

mCopy

Copy the current 3D view into the clipboard using the VEGA ZZ custom format.

Copy Special

 

-

mCopySpecial

Open a requester in order to select the format used to put the data into the clipboard.

Paste

 

Ctrl+V

mPaste

Paste the data from the clipboard.

 

5.3 View menu

Item

Subitem

Accelerator

CmdName

Description

Select

Molecule

-

mSelectMolecule

Select/unselect one or more molecule.

Segment

-

mSelectSegment

Select/unselect one or more segments

All

-

mSelectAll

Select all atoms.

None

-

mSelectNone

Unselect all atoms.

Invert

-

mSelectInvert

Invert the current selection. In other words, swap the invisible with the visible atoms.

Protein backbone

-

mSelectBackbone

Show the protein backbone.

DNA backbone

-

mSelectBackDNA Show the DNA backbone.

No hydrogens

-

mSelectNoHyd

Hide the hydrogens.

No apolar hydrogens

-

mSelectNoApolHyd Hide the apolar hydrogens.

No water

-

mSelectNoWater

Hide the water molecules.

Sup. atoms

-

mSelectSupAtm

Selection of the superficial atoms that are accessible by the solvent.

Unconstrained atoms

-

mSelectUnconstr Show the unconstrained atoms. For more details, see the constraints section.

Custom

-

mSelectCustom

Open the dialog box for custom selection.

Display

Wireframe

V

mShowWire

Switch the current display mode to wireframe, CPK dotted, CPK wireframe, CPK solid, ball & stick wireframe, ball & stick solid, stick wireframe, stick solid, trace and tube.

CPK dotted

mShowCpkDot

CPK wire

mShowCpkWire

CPK solid

mShowCpk

Ball & stick wire

mShowBallWire

Ball & stick Solid

mShowBall

Stick wire

mShowStickWire

Stick solid

mShowStick

Trace

mShowTrace

Tube

mShowTube

Settings

-

mShowSettings

Show the display settings dialog box.

Color

By atom

-

mColorByAtom

Set the molecule color by atom.

By residue

-

mColorByRes

Color the molecule by residue.

By chain

-

mColorByChain

Color the molecule by chain identificator.

By molecule

-

mColorByMol

Set the molecule color by molecule.

By segment

-

mColorBySeg

Color the molecule by segment.

By H-bond

-

mColorByHBond

Color the atoms by property to accept or donate H-bonds.

By charge

-

mColorByCharge

Color the atoms on the basis of the partial charges.

By constraint

-

mColorByConstr

Color the atoms by constraint value (blue fixed, green free).

By flex bonds

-

-

Color by flexible bonds. Two choices are possible: Normal (mColorByFbNorm) and AutoDock (mColorByFbAutoDock).

Selection

-

mColorSel

Color all displayed atoms with the specified color.

Settings

-

mColorSet

Show the Color settings dialog box.

Label atom

Off

-

mLblOff

No atom labels.

Name

-

mLblAtmName

Show the atom labels by name.

Element

-

mLblAtmElement

Show the atom labels by element.

Number

-

mLblAtmNumber

Show the atom labels by atom number.

Type

-

mLblAtmType

Show the atom labels by atom type (force field).

Charge

-

mLblAtmCharge

Show the atom labels by atom charge.

Chirality

-

mLblAtmChiral Show the R/S chirality of the asymmetric atoms.

Fixing value

-

mLblAtmFixVal

Show the atom labels by fixing value (constraint).

Residue

-

mLblResidue

Show the residue labels with name, number and chain.

Residue name

-

mLblResName

Show the residue name labels.

Residue number

-

mLblResNumber

Show the residue number labels.

Light

 

-

mLight

Open the light control window.

Center  

-

mCenterView Center and zoom the current atom selection.

Reset

                        

-

mResetView

Reset the current view, resetting rotations, translations and scale factor.

Animation

 

A

mAnimation

If it's checked, the animation mode is enabled. You can use the mouse and/or the keyboard to change the animation.

Console

 

-

mConsole

Show/hide the console window.

3D controls

 

-

m3dControls

Show/hide the 3D control window.

Tool bars

Standard

-

mTbStandard

Show/hide the tool bar.

Tools

-

mTbTools

Information

 

-

mMoleculeInfo

Show the information about the molecule.

 

5.4 Calculate menu

Item

Subitem

Accelerator

CmdName

Description

Charge & Pot.

 

-

mCalcCharge

Assign the atomic charges and/or potentials.

Ammp

Minimization

-

mAmmpMin

Open the AMMP dialog window to perform an energy minimization.

Conformational search

-

mAmmpTsrc

Open the AMMP dialog window to perform a conformational search.

NAMD  

-

mNAMD

Open the NAMD dialog window to perform molecular dynamics and energy minimizations.

Mopac

 

-

mCalcMoPac

Open the dialog window for Mopac calculations.

Surface

 

-

mSurface

Calculate, color and manage the surfaces.

Docking Interactions

-

mInteractions Open the dialog for the evaluation of the interactions.

Analysis

 

-

mAnalysis

Open the dialog box to analyze a molecular dynamic trajectory file.

Similarity

 

-

mSimilarity

Show the similarity toolbox.

Isotopic distribution

 

-

mIsotopicDist

Calculate the isotopic distribution of the molecule in the current workspace.

Protein Check

AA chirality

-

mChkAaChirality

Check the alpha carbon chirality. It reports warnings and shows the aminoacids if they are D or pseudo D. Pseudo D are aminoacids with distorted geometry that can be converted to L by energy minimization.

Peptidic bonds

-

mChkPeptBond

Check the geometry of the peptidic bonds. If cis bonds are detected, they are show in the main window.

Bond length

-

mChkBndLen

Check the lengths of all bonds in the molecule. If the length is less or greater than the sum of covalent radii of the two atoms involved in the bond increased or reduced of 20%, the invalid bond is displayed in the graphic environment and a warning message is shown in the console window. To hide the distance violations, open the context menu and select  Measure Remove monitors.

Missing res.

-

mChkMisRes

Search the missing residues in the aminoacid sequence checking the residue numbers.

Ring inter.

-

mChkRingInter

Search the intersections between bonds and rings. It works with non-peptidic molecules also.

AA contacts

-

mChkAaContacts

Show the contacts between aminoacids. For each residue is shown a label of two numbers: the first one is the number of contacts, the second is the average distance between the residues.

ERRAT -

-

Analyzes the statistics of non-bonded interactions between different atom types and plots the value of the error function versus position of a 9-residue sliding window, calculated by a comparison with statistics from highly refined structures (for more information, click here). Function provided by PowerNet plug-in.

ProCheck -

-

Checks the stereochemical quality of a protein structure by analyzing residue-by-residue geometry and overall structure geometry (for more information, click here). Function provided by PowerNet plug-in.

Prove -

-

Calculates the volumes of atoms in macromolecules using an algorithm which treats the atoms like hard spheres and calculates a statistical Z-score deviation for the model from highly resolved (2.0 Å or better) and refined (R-factor of 0.2 or better) PDB-deposited structures (for more information, click here). Function provided by PowerNet plug-in.

VADAR -

-

VADAR (Volume, Area, Dihedral Angle Reporter) is a compilation of more than 15 different algorithms and programs for analyzing and assessing peptide and protein structures from their PDB coordinate data. The results have been validated through extensive comparison to published data and careful visual inspection (for more information, click here). Function provided by PowerNet plug-in.

Verify3D -

-

Determines the compatibility of an atomic model (3D) with its own amino acid sequence (1D) by assigned a structural class based on its location and environment (alpha, beta, loop, polar, non-polar etc) and comparing the results to good structures (for more information, click here). Function provided by PowerNet plug-in.

What check -

-

Derived from a subset of protein verification tools from the WHATIF program (Vriend, 1990), this does extensive checking of many sterochemical parameters of the residues in the model (for more information, click here). Function provided by PowerNet plug-in.

ChemSol     -

Calculate the solvation free energies using Langevin Dipoles (LD) solvation model, in which the solvent is approximated by polarizable dipoles fixed on a cubic grid. Function provided by ChemSol plug-in.

Escher NG   - -

Show the Escher NG dialog window to perform protein-protein docking calculations. Function provided by Escher NG plug-in.

Pockets   - -

Find the pockets inside a macromolecule. Function provided by Pockets plug-in.

Protein pKa   - - Predict the protein pKa by PropKa plug-in.
Ramachandran plot   - -

Show the Ramachandran plot of the protein in the current workspace. Function provided by Ramaplot plug-in.

Stride Table - - Secondary structure analysis provided by Stride plug-in.
Chart - -
Standard run - -

 

5.5 Tools menu

Item

Subitem

Accelerator

CmdName

Description

GraphED

 

-

mGraphEd

Start the graphic editor for data manipulation.

MiniED

 

-

mMiniEd

Start the mini text editor integrated in VEGA ZZ.

WinDD

 

-

mWinDD

Execute WinDD data decompressor software.

VEGA On-line  

-

mVegaOnLine

Open the Web browser accessing to the VEGA On-line service.

Task Manager

 

Ctrl+T

mTaskMan

Open the integrated task manager to manipulate the running tasks (e.g. Mopac, BioDock, etc).

Plug-in configuration

 

-

-

Sub-menu for the plug-in configuration. It could be customized by the plug-ins.

HID configuration

 

-

mConfigHID

Open the dialog window to configure the human interface devices (mouse and joystick).

Host configuration

 

-

mConfigHost

Configure the hosts to run remote calculation jobs.

Preferences

 

-

mPreferences

Edit preferences.

Mass spectrometry tool  

-

-

Start the Mass spectrometry plug-in if it's installed. This plug-in is available for free as optional component.

Database search ChEBI - -

Chemical Entities of Biological Interest (ChEBI) is a freely available dictionary of molecular entities focused on ‘small’ chemical compounds. The term ‘molecular entity’ refers to any constitutionally or isotopically distinct atom, molecule, ion, ion pair, radical, radical ion, complex, conformer, etc., identifiable as a separately distinguishable entity. The molecular entities in question are either products of nature or synthetic products used to intervene in the processes of living organisms (for more information, click here). Function provided by PowerNet plug-in.

DrugBank - -

The DrugBank database is a unique bioinformatics and cheminformatics resource that combines detailed drug (i.e. chemical, pharmacological and pharmaceutical) data with comprehensive drug target (i.e. sequence, structure, and pathway) information. The database contains drug entries including FDA-approved small molecule drugs, FDA-approved biotech (protein/peptide) drugs, nutraceuticals and experimental drugs. Additionally, more than 2,500 non-redundant protein (i.e. drug target) sequences are linked to these FDA approved drug entries. Each DrugCard entry contains more than 100 data fields with half of the information being devoted to drug/chemical data and the other half devoted to drug target or protein data (for more information, click here). Function provided by PowerNet plug-in.

eMolecules - -

eMolecules is the world’s most comprehensive openly accessible search engine for chemical structures. Each day, over 2,000 chemistry professionals visit the web site to find valuable information that helps them do their work more productively. The database contains chemical data from more than 150 suppliers updated weekly and quarterly and references links to many prominent sources of public data for spectra, physical properties and biological data, including NIST WebBook, National Cancer Institute, DrugBank and PubChem (for more information, click here). Function provided by PowerNet plug-in.

Google - -

Google is the most used search engine on the Web. Function provided by PowerNet plug-in.

MMsINC - -

MMsINC is a free web-oriented database of commercially-available compounds for virtual screening and chemoinformatic applications. MMsINC contains over 4 million non-redundant chemical compounds in 3D formats (for more information, click here). Function provided by PowerNet plug-in.

NIST Chemistry - -

The NIST Chemistry WebBook provides users with easy access to chemical and physical property data for chemical species through the internet. The data provided in the site are from collections maintained by the NIST Standard Reference Data Program and outside contributors. Data in the WebBook system are organized by chemical species. The WebBook system allows users to search for chemical species by various means. Once the desired species has been identified, the system will display data for the species (for more information, click here). Function provided by PowerNet plug-in.

PubChem - -

PubChem provides information on the biological activities of small molecules and it's a component of NIH's Molecular Libraries Roadmap Initiative. PubChem includes substance information, compound structures, and BioActivity data in three primary databases: Pcsubstance, Pccompound and PCBioAssay, respectively. Function provided by PowerNet plug-in.

Ptable   - -

Periodic table of elements. It requires an Internet connection and this function is provided by PowerNet plug-in.

Dhrystone test   - -

Test to perform the CPU performance. This plug-in is not installed by default.

 

5.6 Bioinformatics

Item

Subitem

Accelerator

CmdName

Description

Web resources

 

-

mBioResources

Start the web browser to explore the bioinformatics resources on the Web. 

ClustalX   - - Multiple alignment program. Function provided by ClustalX plug-in.
NJPlot   - - Philogenetic tree visualization. Function provided by ClustalX plug-in.
Unrooted   - - Unrooted philogenetic tree visualization. Function provided by ClustalX plug-in.
Predator   - -

Protein secondary structure prediction. Function provided by Predator plug-in.

 

5.7 Help menu

Item

Subitem

Accelerator

CmdName

Description

VEGA ZZ manual

 

F1, Ctrl+H

mHlpContents

Open this help.

Mopac 7 manual

 

-

mHlpMopac

Open the Mopac manual.

Mopac 2012 manual  

-

mHlpMopac2012 Open the on-line Mopac 2009 manual.
NAMD user's guide  

-

mHlpNAMD Open the on-line NAMD user's guide.

Keys

 

-

mHlpKeys

Show a list window of all key with the associated functions.

Last error

 

-

mHlpLastErr

Show the last error message.

Explore data directory  

-

mHlpDataDir Explore the data directory.

VEGA on the Web

 

-

mHlpWeb

Open the VEGA main page on the Web.

Check for updates

 

-

mHlpChkUpdates

Check for new updates and if they are available, the user can decide to download and install them automatically.

About

 

-

mHlpAbout

Show the copyright message.

 

5.8 The console context menu

The menu items shown below are accessible through the context menu of the console window.

 

Item Subitem Accelerator CmdName Description
Undo   Ctrl+Z - Revert to the previous edited text.
Cut   Ctrl+X - Copy the selected text to the clipboard and delete it.
Copy   Ctrl+C - Copy the selected text to the clipboard.
Paste   Ctrl+V - Paste the text from the clipboard.
Delete   Del - Delete the edited text.
Select all   Ctrl+A - Select all text.
Delete all   Ctrl+N - Clear the console buffer.
Save buffer   Ctrl+S - Save the console buffer to a file.
Print buffer   - - Print the console buffer.
Record to file   Ctrl+R - Record the console output to a log file.
Pause recording / Resume recording   Ctrl+P - Pause / resume the recording of the console output.

6.1 Atoms

VEGA ZZ can add, remove and change atoms.

 

6.1.1 Add atom

Selecting Edit Add Atom it's possible to add one or more new atoms:

 

Add atom

 

To add a new atom, choose the Element, the Hybridization and the Bond type, thus click the atom to which to connect it. You can specify where to place the new atom in the atom list choosing After the selected atom, At the residue end, At the molecule end. If you want to select an element not included in the Element box, click Other and put the element name in the Selected field.

 

WARNING:
If the bond type isn't shown in the main window, open the View settings and make it sure that the Multivector item in the Wireframe tab is checked.

 

6.1.2 Remove atom

If you want to remove one or more atoms, you can select the Edit Remove Atoms item in the main menu or click the Remove button of Add/remove atom dialog box.

 

Remove atom

 

Click the atom and it will be removed automatically.

 

6.1.3 Change atom

To change the atom properties, you can select Edit Change Atom/residue/chain menu item.


6.2 Atom/residue/chain properties

This dialog is shown clicking Edit Change Atom/residue/chain and allows to change some atom, residue and chain properties of the selected atom/molecule. For example, consider the following molecule fragment:

 

Molecule fragmet

 

and imagine to click the C6 atom.

 

Atom   

6.2.1 Edit atom

By Atom tab, you can change atom name, element, residue name, residue number, chain indicator, atom type and partial charge of the picked atom. When you change a field, Apply button is enabled and you can click it in order to apply the modifications. Alternatively, you can press the return key to apply the changes.

 

6.2.2 Edit residue

Residue tab allows to change the properties (name and number) of the selected residue and the changes can be applied to all atoms or to the visible atoms only.

   Residue

 

Chain   

6.2.3 Edit chain

Chain tab allows to change the chain indicator of the selected molecule and it can be applied to all atoms or to visible atoms only.

  

6.3 Atom constraints

VEGA ZZ allows to specify constraint constants for each atom in order to fix/constraint them in molecular dynamics simulations (e.g. NAMD). The dialog box is accessible by Edit Coordinates Constraints menu item:

 

Constraint options

 

You can choose Fix/Free mode to fix/free atoms or Value mode for harmonic constraints (see the manual of the molecular dynamics software). In Value field of Parameters box, you can put the harmonic constant that can be from 0 (full free) to 1 (full fix). In Selection box, you can select the atoms to apply the constraints. Visible atoms options should be used with  Atom selection dialog box for complex constraints. Checking Color atoms, the atoms are colored by constraint value (blue = fix, green = free) as shown in the Colors box.

 

Examples:

Fixed backbone    Fixed backbone
Freed a sphere around an atom    Sphere around an atom

 

WARNING:
Remember that two file formats only can store the atom constraints and they are IFF and PDB. VEGA ZZ can read the constraints only from IFF files and it can write them to both formats. In PDB files, the constraints are placed in B column.

 


6.4 Centroids

VEGA ZZ can manage pseudo-atoms whose coordinates are calculated in real time as symmetry center and are named centroids. A centroid can be used to measure distance, angle, torsion, angle between two planes as a normal atom. In molecular dynamics analyses, the centroid position is automatically recalculated for each frame.
To define a new centroid, you must select Edit Add Centroid in main menu:

 

Centroid dialog box

 

Picking the molecule atoms, whose maximum number is six (6), you can add a new centroid. The. Clicking New button,  a new centroid is added and clicking Reset button, the atom selection restarts from the beginning:

Centroid dialog box   Arrow  Centroid

Clicking Keep fixed checkbox, it's possible to fix the centroid coordinates, disabling the automatic update when the coordinates of the other atoms are changed (e.g. during trajectory analysis or torsion edit).
To close the dialog box, click Close and to remove all centroids, select Edit Remove Centroids. The centroids can be removed as normal atoms also. A typical application example could be the measure of the distance between two rings, as shown in the following picture:

 

Example

 


6.5 Bonds

VEGA ZZ can add, change, remove bonds and rebuild the connectivity by a dialog box.

 

6.5.1 Add bond

Selecting Edit Add Bonds in the main menu, it's possible to add one or more new bonds:

 

Add a new bond

 

In Bond type box, you can choose the type of bond to add. Clicking the two atoms to bond you can connect them. A transparent cylinder indicates the selected bond:

Unbonded atom Arrow Add bonds Arrow Bonded atom

Selecting Connectivity of all atoms or Connectivity of selected atoms in the What ? box and clicking Apply button, it's possible rebuild the connectivity of all atoms or of the selected atoms only. The Bond tolerance field allows to change the overlap of the covalent radii. This may be increased if the molecule has stretched bonds or decreased if the atoms are too close and the normal computed connectivity is wrong due to multiple bonds exceeding the atom valence.  Click here to change the default bond tolerance value.

 

6.5.2 Remove bond

If you want remove one or more bonds, you must select Edit Remove Bond in the main menu.

 

Remove bond

 

To remove one bond, you must click the two connected atoms and so it will be deleted. It's possible to remove also the Connectivity of all atoms or the Connectivity of selected atoms only, checking the specific items in the What ? box.

 

6.5.3 Change bond

To change a single bond or to detect the bond types of all atom pairs, you can select Edit Change Bond type menu item:

 

Change bond

 

To change one bond, you must click One bond, select it picking the two atoms, choose the Bond type and than click Apply. To change the bond type to more than one bonds, you must follow the above steps checking  All atoms or Selected atoms only (visible atoms) in the What ? box.

Choosing Fix aromatic rings or Fix aromatic rings (sel. atoms), it's possible to fix the bond order of all/selected aromatic rings from alternate single - double bonds to partial double bonds.
Using the Find the bond types and Find the bond types (sel. atoms), it's possible assign the types of all/selected bonds. Please remember that the bond type information isn't used by VEGA to assign the force field or the atomic charges.

Bonds without bond order Arrow Bonds with bond order

WARNING:
If these two functions don't appear to work (e.g. the visualization doesn't change), open the View settings and make it sure that the Multivector item in the Wireframe tab is checked. The default condition is unchecked.

To assign the bond types, VEGA uses a special ATDL template (BOND.tem) in which is reported the capability of each atom to bond it with a specific bond type. The supported bond types are:

0    Atom non bonded
1 Single bond
2 Double bond
3 Triple bond
4 Partial double bond (aromatic and carboxylic)

If two atoms are connected and they have got the same atom type, the resulting bond type is the same indicated by the atom type:

Atom type 1 Atom type 2 Resulting bond type
1 1 Single
2 2 Double
3 3 Triple
4 4 Partial double

A special check is done to detect the planarity of the resulting torsion in order to avoid the wrong assignment in 1,4 conjugated systems and in biphenilic systems:

\    |  /
 C=C-C=C    - Bond to detect
/  |    \
 2 2 2 2    Atom types
\    |  /                         \    |  /
 C=C=C=C      Planarity check      C=C-C=C
/  |    \                         /  |    \
  Wrong                              Correct

If two atoms are connected and they haven't the same atom type, the resulting bond type is single.

 

6.5.5 Swap bonds

To swap two bonds, for an example to invert the chirality, you can select Edit Change Swap bonds menu item:

 

Swap bonds

 

This function doesn't require to define both bonds clicking on four atoms because the bonds to swap have a common atom (atom C in the window scheme) and so you must click only two atoms (A and B). To repeat the operation, you can click the Swap button.

 


6.6 Bonds, Angles and torsions

VEGA ZZ can change interactively bonds, angles and torsions defined by Selection Tool. To open the dialog, select the Edit Change Bond/Angle/Torsion item in the main menu.

 

Change angle/torsion Arrow Active torsion

 

To select new bonds, angles and torsions, you can open the Selection Tool by clicking Edit button. Alternatively, you can open the selections by drag & drop of a file or by the context menu (Open item). You can also save the selection by Save as... menu item of the context menu. The Bond/Angle/Torsion box shows the selected angles and torsions that can be changed selecting one and pushing the Change button. This is a dynamic button as explained for the 3D Controls dialog box. In Angle value or Torsion value field, it's possible to type the angle or the torsion value.

When you change the bond length, the Default length button and the Move all checkbox are active. Clicking the former, the bond length is automatically set to default value (e.g.  C-H bond is set to 1.14 Å) and checking the latter, when you change the bond length, the whole substructure connected trough the bond is moved instead of the single atom. To revert to the initial value, use the undo function.

 


6.7 Change the secondary structure of a peptide

VEGA ZZ is able to change the secondary structure of a peptide moving the Phi, Psi and Omega torsions. To show the dialog window, you must select Edit Change Secondary struct. in main menu.

 

Change the secondary structure

 

The Structure type box allows to specify the secondary structure type: several pre-defined structure types are already defiend (Alpha helix, Left handed helix, 3.10 helix, Pi helix, Beta strand, Antiparallel beta strand and Parallel beta strand) but you can create custom structures selecting Custom and changing the Phi, Psi and Omega torsion values:

 

Phi, Psi and Omega torsion angles

 

The checkboxes at the left of each torsion name allow to enable/disable which angles are changed to the characteristic secondary structure value, eventually preserving the original torsions. Checking Fix bond angles, the bond angles distorted by the rotation of the torsions are reverted to the canonical value and checking Consider selected atoms only, the torsion modification is applied to the selected/visible atoms only, keeping the other atoms unchanged.
Add the side chains and Add the hydrogens checkboxes are intentionally disabled and are operative when you build a peptide from its primary structure (for more information, see how to build a peptide). Clicking Apply button, the secondary structure of the peptide in the current workspace is changed.

 

WARNING:
the routine changing the torsion angles is working outside the rings. In other words, it's unable to change the secondary structure of cyclic peptides, including peptides with disulfide bridges. To avoid this problem, you could temporally open the ring breaking one bond (e.g. a disulfide bridge or a backbone bond), change the secondary structure and, if it's possible, rebuild the broken bond.

 

The following table shows Phi, Psi and Omega values of the most common secondary structures:

 

Secondary structure Phi Psi Omega
Alpha helix -57.8 -47.0 180.0
Left helix 7.8 47.0 180.0
310 helix -74.0 -4.0 180.0
Pi helix -57.1 -69.7 180.0
Beta strand -135.0 135.0 180.0
Antiparallel beta strand -140.0 135.0 180.0
Parallel beta strand -120.0 115.0 180.0

6.8 Add fragments

VEGA ZZ can edit and build molecules adding new fragments.  This feature is based on the integrated database engine that allows the use of standard fragment libraries and the creation of personalized too.
Selecting the Edit Add Fragments menu item, the following wizard is shown:

 

Select database and fragment

 

As first step, you must select the Group library and the Fragment. The library is automatically opened clicking on the group name. If Inherit residue name option is checked, the added fragment inherits the residue name, the residue number and the chain ID from the main molecule. Checking Inc. residue number, the residue number is automatically incremented starting from the specified number every time that a new fragment is added. That's useful to build a biopolymer.

 

Click Next

 

When you click on the fragment name, its 3D structure is shown in the main window. Select Where to place the fragment in the atom list (After the selected atom, At the residue end and At the molecule end).  Press Next button to continue.

 

Pick a fragment hydrogen

 

Now you must click the fragment hydrogen in the main window that will be merged with another one of the molecule to make the bond. Press Next to continue.

 

Pick a fragment hydrogen

 

Selecting the molecule hydrogen and clicking Next button, the bond will be completed.

 

Set the torsion

 

At the end, you can adjust the torsion angle between the molecule and the fragment clicking the torsion buttons. Click Finish to place definitively the fragment. Now the tool is ready to bind another fragment to the molecule.
Please remember that when the workspace is empty (no molecule loaded), only the first wizard step is operative and Previous button, when active, allows to go to the previous wizard step.

The fragment libraries are zip files placed in the Data/Fragments folder and they are created by Database Explorer. You can use this tool to change/expand the standard database. The preferred file format to use in these libraries is IFF, because it can contain the largest number of information.


6.9 Add hydrogens

In order to add hydrogens to a molecule or to change the ionization state, you can use the following dialog box that can be shown by Edit Add Hydrogens menu item:

 

Add hydrogens

 

6.9.1 Dialog options

In Actions box, you can choose to add the hydrogens and/or to ionize the molecule in the current workspace. You must remember that if you want to ionize, the molecule must have the hydrogens and the algorithm add/remove the hydrogens according to the predicted pKa values and the specified pH.

In Molecule type box, you can select the molecule type (Generic organic, Protein, Nucleic acid), in Position of hydrogens, you can select where the hydrogens will be placed in the molecule file (After each heavy atom or at Residue end) and in Options, you can also choose the nomenclature type used for the hydrogen atoms (normal progressive number or IUPAC nomenclature), the possibility to process the selected atoms only (Consider selected atoms only) and algorithm used to add the hydrogens. More in detail, if you check Use the bond order to assign the atom types, instead of the bond geometry, the bond order is not used to detect the atom hybridization. This feature is useful when the molecule has uncertain geometry (e.g. 2D instead of 3D structure) and the bond order is correctly assigned. When you enable the ionization feature by checking Ionize the molecule, you can also specify the pH of the solution (Ionization pH) in which the molecule is virtually present as solute and the tolerance (Ionization tol., in pH units) used to establish which protonation state is largely present. To this end, the Henderson-Hasselbalch equation is used: if you specify 1 as ionization tolerance, it means that, at the specified pH value, the concentration of the ionized form must be at least 10 times higher than the non-ionized one to consider the molecule as ionized.
Finally, you must click Add to add the hydrogens and/or to ionize the molecule.

 

6.9.2 About the method to add the hydrogens

To add the hydrogens, the recognition of atom types and valences is needed. The powerful ATDL geometry-independent engine can't be used because the atom valences are incomplete due to the missing hydrogens and so the implemented method is based on the original code included in Babel 1.6 (© 1992-96, W. Patrick Walters, Matthew T. Stahl) that detects the atom valences considering the atomic distances and the bond angles. Unluckily, this is the method limit, because some structures don't have a canonical geometry and so the valence detection can be wrong. VEGA introduces an algorithm that fixes the atom type and the valence detection when the user specify the type of the molecule. You must remember that this check is disabled selecting Generic organic molecule type.
The method can be summarized in the following steps:

 

6.9.3 About the method to ionize the molecule

To predict the ionization state of a molecule, the knowledge of the pKa values of each moiety included in its structure is needed. At this time, it was implemented a fast method based on the recognition of acid and basic groups whose pKa values are known. The Handerson-Hasselbach equation is used to evaluate the ratio between the acid/base pairs at the specified pH value and the group is considered ionized only if the this ratio is grater than the ionization tolerance defined by the user. The algorithms is so summarized:

All these steps are repeated until there are no hydrogens to add/remove.

 


6.10 Add a solvent cluster

Choosing Edit Add Cluster in the main menu, you can solvate a molecule with any type of solvent. The list of solvent is dynamically created, reading the ...\VEGA ZZ\Data\Clusters directory and can be refreshed closing and reopening the dialog window. Click here for more information about  the cluster file format.

 

Cluster calculation

 

You can select the type of solvent by the combo-box, but it's also possible to specify an external cluster file clicking the Open button.  The shape type (Box, Sphere and Layer) influences the meaning of Sides fields. If Type is Box, you can put the solvent box dimensions in Ångström. If Same is checked, the box will be cubic. If Type is Sphere, you can put the Radius of the cluster sphere in Ångström. If Type is Layer, you can specify the thickness of the solvent in Ångström. Overlap parameter indicates the maximum overlapping of the solvent-solute Van der Waals spheres. In Cluster position you can choose where the cluster is placed at the center of the box including the solute (Box center) or at the barycentre of the solute (Geometry center ). When you select Custom, you can specify the coordinates of the cluster centre. This feature is useful when you have to solvate with an asymmetric cluster (e.g. phospholipidic bilayer) and you want to place the solute in the middle. Checking Show the shape, a preview of the solvent shape is shown making easier the cluster setup. Clicking Calculate button, the cluster dimensions are automatically calculated on the basis of the solute size. This function isn't available if the shape type is set to Layer.
Click Ok to calculate the cluster.

Water box    Water box (side = 20 Å)
Water sphere (radius = 10 Å) Water sphere
Water layer Water layer (thickness = 4 Å)
  

6.11 Add ions

The capability to add the ions is based on the source code (SODIUM by Alexander Balaeff), developed by the Theoretical Biophysics Group in the Beckman Institute for Advanced Science and Technology at the University of Illinois at Urbana-Champaign.

 

6.11.1 Usage

Selecting Edit Add Ions in the main menu, you can add one or more counter ions to the active molecule:

 

Add ions

 

You can indicate the number of ions (Ions to add), the Ion element, the Box thickness surrounding the macromolecule,  the Grid step to build the grid used to place the ions, the Atom-ion closest  distance and the Ion/ion closest distance in order to reduce the electrostatic repulsion. More in details, the Box thickness parameter is the thickness of the grid margin, surrounding the macromolecule (in Ångstroms): as an example, imagine a molecule with a cubic shape of 20x20x20 Å. A 10 Å Box thickness means that the ions will be placed in a theoretical box of 40x40x40 Å defining a 10 Å margin around the molecule. If you select Custom as ion type, you can specify other non-predefined ions typing the Element and the Charge in the two fields placed at top right corner of the window. If the molecule charge is a multiple of the ion charge, you can press the Neutralize button to calculate the number of ions needed to neutralize the system.
Click Add button to calculate the position of all ions: be patient, because the calculation is time expensive. The calculation progress is shown by a graphic bar.

 

WARNING:
If the molecule doesn't have atomic charges, you can't add the ions because isn't possible calculate the electrostatic interactions. In this case, VEGA shows a requester to add the atomic charges.

 

6.11.2 About the method

This program places the required number of ions around a system of electric charges, e.g., the atoms of a molecule. The ions are placed in the nodes of a cubic grid, in which the electrostatic energy achieves the smallest values. The energy is re-computed after placement of each ion. A simple Coulombic formula  is used for the energy:

 

Energy(R) = Sum(i_atoms,ions) Q_i / |R-R_i|

 

All the constants are dropped out from this formula, resulting in some weird energy units; that doesn't matter for the purpose of energy comparison.

To speed the program up, the atoms of the macromolecule are re-located to the grid nodes, closest to their original locations. The resulting error is believed to be minor, compared to that resulting from the one-by-one ions placement, or from using the simplified energy function.



6.12 Remove dialogs

VEGA ZZ can remove groups of atoms considering molecule, segment, residue hierarchy.  To remove other groups of atoms,  you can combine the custom selection (View Select Custom) and Edit Remove Invisible atoms menu item.

 

6.12.1 Remove molecule(s)

The Remove molecule/s dialog is accessible trough the Edit Remove Molecule menu item:

 

Remove molecule(s)

 

You can delete one or more molecule by multiple selections in the list and clicking Remove button. The selection is highlighted in the main window coloring in red the selected and in white the unselected atoms. You can also select the molecule clicking it in the main window. By checking Center & zoom, when you remove a molecule, the view is automatically centred and zoomed on the remaining atoms.

This window allows also to Select/Unselect and to Move molecules.

 

6.12.2 Remove segment(s)

This dialog can be shown choosing Edit Remove Segment menu item:

 

Remove segment(s)

 

It works in the same manner of the previous one and allows you also to Select/Unselect and to Move molecules. 

 

6.12.3 Remove residue(s)

To remove one or more residues, one can select Edit Remove Residue main menu item:

 

Remove residue(s)

 

This dialog works in a little bit different mode: when you pick a residue atom in the main window,  the residue is removed immediately.

 


6.13 Build DNA/RNA

By this tool, you can build a nucleic acid (DNA/RNA) from its primary structure in single or double strand form. To show the dialog window, you must select Edit Build DNA/RNA in the main menu.

 

Build DNA/RNA

 

In the big editing box, you can type the nucleotide sequence or copy & paste it from another application (the characters not corresponding to a nucleotideare automatically removed), using the single character codes. Alternatively, the input can be performed by the four buttons (one for each nucleotide) at the window bottom. In the Type box, you can specify the type of helix you want to build:

In the Strand box, you can indicate if to build a single (5'  3' or 3'  5') or double (Both) strand, while checking Add hydrogens, the hydrogens are automatically added to the model.

The Build button starts the building of the DNA/RNA.

 

6.13.1 Copyright

The code implemented in VEGA ZZ is based on Fd_helix program, which is copyrighted by David A. Case. The References for the fiber-diffraction data are:


6.14 Build a peptide

This tool allows to build a peptide from its primary structure, defining the secondary structure type. To show it, you must select Edit Build Peptide in the main menu. The build procedure consists in two phases: 1) construction of the linear peptide; 2) change of the secondary structure.

 

Build a peptide

 

In the big editing box, it's possible to type the aminoacid sequence or copy & paste it from another application, using the single character codes. Alternatively, the input can be performed by the twenty buttons (one for each aminoacid) at the window bottom. The Structure type box allows to specify the secondary structure type: several pre-defined structure types are already present (Alpha helix, Left handed helix, 3.10 helix, Pi helix, Beta strand, Antiparallel beta strand and Parallel beta strand), but the user can create custom structures selecting Custom and changing the Phi, Psi and Omega torsion values:

 

Phi, Psi and Omega torsion angles

 

The checkboxes at the left of each torsion name allow to enable/disable which angles are changed to the typical secondary structure value, eventually keeping the values of the linear peptide generated in the first building phase.
By default, the tool builds the backbone without hydrogens only, but checking Add the side chains and Add the hydrogens, the user can complete the peptide structure. Clicking Build, the structure is generated in the current workspace if it's empty or in a new one if it contains a molecule.
Fix bond angles and the Consider selected atoms only checkboxes are intentionally inactive and they are operative changing the secondary structure of a 3D peptide.

 


6.15 Build a solvent cluster

By this dialog box, that can be shown selecting  Edit Build Cluster menu item, it 's possible to build a solvent cluster useful for the solute solvation (for more information, click here). In order to create a new solvent cluster usable by VEGA ZZ, you should follow these steps:

  1. Generate the cluster with this tool.
  2. Optimize it by MM/MD software (e.g. NAMD, Gromacs, etc).
  3. Convert the optimized structure in PDB Fat format enabling bzip2 compression.
  4. Rename the file, removing the file extension and capitalizing the name.
  5. Copy the file to Data\Cluster directory.

 

6.15.1 The graphic interface

The following dialog box allows to build a cubic solvent cluster, specifying the dimensions of the box containing a single solvent  molecule (Cell size) and the number of cell copies in X, Y, and Z directions (Cell copies).

 

Cluster builder   Arrow  Single acetone molecule

Ordered acetone cluster

Clicking Auto, the cell size is assigned automatically by the monomer dimensions, considering the covalent radii of each atom. Clicking Build, the cluster is generated. The parameters shown above allow to create an ordered cluster.
If you want to obtain a disordered system, you must check Enable in Random rot. group-box, specifying the X, Y and Z  ranges used to generate the random rotation of each monomer placed in the cluster.

 

Rantom rotation enabled

This is an application example: a chloroform cluster is built using random rotation with 360º rotation ranges (the same value for all three axis).

  Arrow  Chloroform monomer

Chloroform cluster

Chloroform cluster (zoomed)

If the cell size is too small, the bumping probability between close monomers is high. It's possible to reduce this problem, checking Minimize bumps in the Optimization group-box. The position and the rotation of each monomer placed in the cluster is minimized using the fast Hooke-Jeeves algorithm. You can indicate number of minimization Steps and the RMS. The Overlap field contains the value of the maximum atom overlapping between two near molecules. Enabling Remove molecules, the bumping molecules that can't be optimized, are automatically removed from the cluster.

Clicking View 3D cell, a transparent box is shown in order to highlight the cell dimension. The magenta cross indicates the molecule symmetry center. You can change the molecule orientation in the cell using the move molecule function that can be enabled selecting Move Molecule item in the popup menu.

 

Cell view

 


6.16 Build a molecule with SMILES

 

6.16.1 SMILES builder

VEGA ZZ can build molecules from their SMILES strings, selecting Edit Build SMILES in the main menu. The 1D structure of the SMILES string is converted to 3D clicking the Build button. You can select Current workspace or New workspace as Destination of the 3D structure.

 

SMILES Editor

 

When you edit the SMILES string, the 2D preview is automatically updated showing the changes.

If the current workspace is not empty, the Get button allows you to convert the 3D structure to a SMILES string. The same operation is possible by selecting Edit Copy special in the main menu and by choosing SMILES, but the resulting string is copied to the clipboard instead of the SMILES window.

 

 

6.16.2 Combinatorial SMILES builder

If you need to build a large number of molecules sharing the same scaffold, you can use the combinatorial SMILES builder, whose dialog window can be opened by selecting Edit Build Combi SMILES in the main menu. As in the standard SMILES builder, you can put directly the scaffold structure in the SMILES scaffold field or you can obtain it from the current workspace by clicking Get button. For example, imagine to build a set of derivatives of the benzoic acid:

 

Combinatorial SMILES editor

 

To insert the variable positions in which the residues will be added, you must move the cursor in the SMILES string and click R button as shown below:

 

Scaffold with variable parts

 

The next step is to add one or more SMILES databases to each variable position (R1 and R2 in this case). You can use a custom fragment database built by you (for more information about the SMILES database format, click here) by double clicking on each position row, by the context menu (Open item) and by drag & drop of the files over the position in the table. Alternatively, you can add the built-in databases by using the context menu. To each position, you can add more than one database and if a position doesn't have any database, it is simply ignored.

 

SMILES Databases added to each position

 

You can change the preview by moving the horizontal slider, by typing the compound number or by clicking the up and down buttons. The context menu of the table allows you to remove the fragments of a single position (Remove) or of all positions (Remove all). By the context menu of Scaffold and Preview boxes, you can copy the SMILES strings to the clipboard and print  the structures.

In the bottom right box, you can change the name prefix that will be used for each compound (Compound name field) and some parameters as the type of build. If you check Systematic build, all possible fragment combination are considered, otherwise each fragment is considered only one time. In the case shown above, unchecking Systematic build, only 9 molecules are built that is the smallest number of fragment for a specific position. When you build a large number of derivatives, it may be possible to obtain non-unique molecules for symmetry reasons or due to duplicated fragments in different databases. To avoid this problem, you can check Remove redundant molecules.

The resulting compounds are saved in a SMILES database when you click Build button and if you want canonical SMILES strings, you can check Canonical SMILES.

 

Notes:

When you obtained the molecules by this tool, it may be needed to convert the resulting SMILES database to another format or to convert the molecules to 3D. You can do these operations in easy way by opening the SMILES database in the database explorer and copying the molecules to an empty database in the format that you need activating the 3D conversion in the Options tab.

 


6.17 Build a molecule from its IUPAC name

VEGA ZZ can build molecules from their IUPAC name thanks to OPSIN software included in the package, selecting Edit Build IUPAC in the main menu. The  structure is built and converted to 3D by clicking the Build button. You can select Current workspace or New workspace as Destination of the 3D structure.

 

IUPAC Editor

 

 


6.18 Save the molecule

VEGA ZZ uses customized file requesters, allowing to select some options:

 

Save dialog

 

To show this dialog box, you must select File Save main menu item or click the disk picture of the Tool bar 1. You can choose the File name and the file format (Save as), but you can also select the Compression mode (None, BZip2, GZip and Z Compress) and the possibility to save the Connectivity and the atom Constraints for the molecular dynamics. Two file formats only are able to store constraint data and they are PDB (in the B column for NAMD) and IFF/RIFF. The Big endian and 64 bit checkboxes are specific for IFF/RIFF format. The former allows to write in big endian format (it's the real IFF written by old VEGA releases) and the latter switches the saver in 64 bit mode in order to write files larger than 4 Gb.
Selecting AMMP and X-Plor PSF  file formats, it's possible to enable the force field parameter check (Force field parm. combo box), in order to fix the missing parameters if they aren't included in the parameter files. If one or more parameters aren't included, the missing parameter table is shown.
The supported file formats are: PDB 2.2 (*.pdb), PDB (*.pdb), PDB non std (*.pdb), PDB Atdl (*.pdb;*.pdba), PDB Fat (*.pdb;*.pdbf), PDBQ (*.pdb), PQR, (*.pqr), PQR XML (*.xml), Insight (*.car), Old Insight (*.car), Alchemy (*.alc;*.mol), AMMP (*.amp), AutoDock 4 PDBQT (*.pdbqt), AutoDock Vina PDBQT (*.pdbqt), ChemSol (*.cs), CIF (*.cif), mmCIF (*.cif), CML 2.0 (*.cml), CML (*.cml), CPMD XYZ (*.xyz), CRD (*.crd), CRT (*.crt), Cssr (*.cssr;*.csr), Fasta (*.fas), Gamess (*.inp), Gaussian cartesian (*.gjf), Gromacs/Gromos (*.gro), Gromacs/Gromos nm (*.gro), IFF/RIFF (*.iff), InChI (*.inchi; *.inc), InChI + Aux (*.inchi; *.inc), InChIKey (*.ikey), Indigo layered code (*.indigo), Info XML (*.xml),  MDL Mol (*.mol), Mol2 (*.ml2;*.mol;*.mol2), Mopac (*.dat;*.arc), Mopac cartesian (*.dat;*.arc), Quanta MSF (*.msf), QMC (*.qmc), SMILES (*.smi), X-Plor PSF (*.psf), XYZ (*.xyz).

 

Notes:
IFF files are compatible with old VEGA releases (pre-2.0.6 and pre-1.5.6) saving them in 32 bit big endian format (Big endian checked and 64 bit unchecked).

 


6.19 Merge with another file

VEGA ZZ can merge the molecule in the current workspace with one or more parts of another molecule. Choosing File Merge menu item, you can select the file to merge (source) with the molecule already in memory (target). In the dialog box, you can choose the fields included in the source molecule that will be read to be merged with the target:

 

What merge ?

 

The source and the target molecules must be compatible, otherwise an error message is shown (they must have the same number of atoms). It's possible to merge source and target molecules with a different number of atoms, selecting an atom subset of the target and checking Consider selected atom only. Obviously, the subset target must have the same number of atom of the source.
All and None buttons are useful to check/uncheck all fields at once. Merge button performs the merge.
Not all merge fields could be enabled, because not all file formats contains all information. The following table shows the fields that can be merged for each source file format:

 

Format Elements Atom names Atom types Atom charges Residue names Residue numbers Chain IDs Segments Molecule IDs Coordinates Connectivity Constraints
Alchemy Dot Dot   Dot           Dot Dot  
AMMP Dot Dot   Dot Dot         Dot Dot  
AutoDock 4 PDBQT Dot Dot Dot Dot Dot Dot Dot     Dot    
CAR (old/new) Dot Dot Dot Dot Dot Dot   Dot   Dot    
Chem3D Dot Dot Dot             Dot Dot  
ChemDraw CDX Dot                 Dot Dot  
ChemSol Dot Dot   Dot           Dot    
CIF/mmCIF Dot Dot     Dot Dot Dot Dot   Dot Dot*  
CML 1.0/2.0 Dot Dot               Dot Dot  
CPMD XYZ Dot                 Dot    
CRD Dot Dot   Dot Dot Dot       Dot    
CRT Dot Dot               Dot Dot  
CSSR Dot Dot   Dot           Dot Dot  
Fasta Dot Dot     Dot Dot       Dot Dot  
EMPIRE Dot     Dot           Dot    
GAMESS Dot     Dot           Dot    
Guassian input Dot     Dot           Dot    
Gaussian output Dot     Dot           Dot    
Gromos/Gromacs Dot Dot     Dot Dot       Dot    
HyperChem Dot Dot Dot Dot Dot Dot   Dot   Dot    
IFF/RIFF 32/64 bit Dot Dot Dot Dot Dot Dot Dot Dot Dot Dot Dot Dot
LiGen binary/text pocket Dot Dot Dot   Dot         Dot    
MDL Molfile Dot Dot               Dot Dot  
MDL Extended Molfile Dot Dot               Dot Dot  
Mol2 Dot Dot Dot Dot Dot Dot Dot     Dot Dot  
Mopac cartesian Dot     Dot           Dot    
Mopac internal Dot     Dot           Dot    
Mopac Gaussian Z-matrix Dot                 Dot    
MSF (Quanta) Dot Dot   Dot Dot Dot       Dot    
NAMD binary                   Dot    
PDB Dot Dot     Dot Dot Dot Dot   Dot Dot*  
PDB 2.2 Dot Dot     Dot Dot Dot Dot   Dot Dot*  
PDBA Dot Dot Dot Dot Dot Dot Dot Dot   Dot Dot*  
PDBF Dot Dot Dot Dot Dot Dot Dot Dot   Dot Dot*  
PDBL Dot Dot     Dot Dot       Dot    
PDBQ / Vina Dot Dot     Dot Dot Dot Dot   Dot Dot*  
PQR Dot Dot     Dot Dot Dot Dot   Dot Dot*  
PQR XML Dot Dot   Dot Dot Dot       Dot    
QMC Dot Dot   Dot           Dot Dot  
Spillo RBS Dot Dot     Dot Dot Dot     Dot    
TINKER XYZ Dot Dot Dot             Dot Dot  
X-Plor PSF Dot Dot Dot Dot Dot Dot         Dot  
XYZ Dot                 Dot    

* The connectivity can be merged only if it's present in the file.

 

WARNING:

  1. Isn't possible to merge molecules with a different number of atoms. If you want force the merge and the target atoms are more than source atoms, you can select a target atom subset and check Consider selected atom only.

  2. If source and target have the same number of atoms, but differences in the element position are detected, a warning message is shown, allowing to choose to continue or to abort the merge.


6.20 Save the trajectory

VEGA ZZ allows to save/merge a MD trajectory file selecting the frames and changing the output format (trajectory or video stream). It supports both trajectory and video file formats. To show the following dialog window, you must select File Save Trajectory in the main menu:

 

Save trajectory file requester

 

By this file requester, you can choose the file name, the output format, the starting (Start) and the ending (End) trajectory frames and the number of skipped frames (Skip). The Active only option allows to save the active/visible atoms only (see the atom selection). You must remember that if you activate this option, the resulting trajectory isn't compatible with the molecule file used to open the starting one. By this way, you must remove the invisible atoms (Edit Remove Invisible atoms) and save the reference molecule file with the number of atoms compatible with the new trajectory (File Save as ...).
The Swap endian option is available for the CHARMM/NAMD DCD and IFF/RIFF formats only and it changes the byte order (big or little endian) in the resulting binary file, because this format is machine-dependent and it requires a conversion to be readable by specific CPU architectures. VEGA and VEGA ZZ don't require this conversion because they are able to detect the endian of the DCD and IFF/RIFF files and to check the hardware numeric format, applying the endian change if it's required. IFF/RIFF files are written in 64 bit mode in order to avoid the 4 Gb size limit.
The FP precision slider is active only if the Gromacs XTC file format is selected and it can be used to change the floating point precision to store the numbers in the output file (XDRF comtression). The floating point precision is expressed in decimal numbers after the point: e.g. a FP precision of 3 means that the coordinates expressed in Ångström (and not in nanometres) are stored with a precision of 0.001. Remember that higher precisions induce lower compression ratios and consequently larger files.

When you select a file name of an existing trajectory and click the Save button, a window is shown in order to choose the preferred operation:

 

Save  trajectory

 

Clicking Overwrite button, the pre-existent file will be overwritten, clicking Append button, the trajectory will be added to the end to the pre-existent file and clicking Cancel the save process will be aborted. The Append option isn't available when you select a video format.

The following table reports the file trajectory formats written by VEGA ZZ: the first column is the format name, the second one is the file extension, the third one is the type (T = trajectory, V = video),  the fourth indicates if the file is compressed:

Format name Extension Type Compression Notes
CHARMM/NAMD DCD dcd T No Binary file format.
IFF/RIFF iff T No 64 bit binary file format.
Mol2 multi model ml2 T No Text format.
PDB multi model pdb T No Text file format.
Gromacs TRR trr T No Binary file format.
Gromacs XTC xtc T Yes Lossy compression.
AVI video stream avi V Yes It can use several encoding modes.
MPEG-1 video stream mpeg V Yes MPEG-1 encoder.
DVD VOB (Video Object) vob V Yes MPEG-2 encoder.

When you select a video file format, another window is shown  to choose the suitable video encoding options (for more information, click here).

 


6.21 The clipboard

By Windows clipboard, it's possible to perform cut, copy and paste operations between different VEGA ZZ sessions and/or VEGA ZZ and other applications. VEGA ZZ has an enhanced implementation of the clipboard that allows manage some object types:

 

6.21.1 Files

You can copy files directly from Explorer into VEGA ZZ without the use of the File Open menu item.

 

Explorer Paste
Arrow
VEGA ZZ

 

6.21.2 Text

You can copy raw text from any application into VEGA and from VEGA to another application.

 

Copy text from VEGA:

 

VEGA ZZ Copy
Arrow
Copy special Paste
Arrow
Notepad

 

 

Copy text and paste to VEGA:

 

Notepad Paste
Arrow
VEGA ZZ

 

You can also copy text including an URL or a .url file and paste to VEGA ZZ that download automatically the molecule for you.

 

 

6.21.3 Bitmap

You can copy bitmap graphic from VEGA ZZ to your preferred paint software.

VEGA ZZ Copy
Arrow
Copy special Paste
Arrow
Paint

 

6.21.4 Molecule objects

You can cut, copy and paste molecule objects between two or more VEGA sessions. Only the visible atoms are cut or copied to the clipboard, preserving all attributes.

VEGA ZZ Paste
Arrow
VEGA ZZ

 


7.1 Atom selection

You can hide and/or show atoms using the menu items in View Select in order to change the properties of the visible atoms only (e.g. color, measure, etc). If the predefined selections are insufficient, it's possible to create a custom selection, that can be made by atom specification, by range, by proximity and slice. This dialog box can be opened selecting the View Select  Custom item in the main menu.
All four operating modes share some input fields. You can create a totally new selection or you can update a pre-existing selection, clicking the Normal or Additive item in the Selection box. The box placed at right window corner contains the control buttons: All selects all atoms, None deselects all atoms, Invert inverts the selection, + and - adds/removes the atoms using the selected criteria. The Hydrognens, Backbone and Water buttons are for fast selections: the first one selects all hydrogens, the second one selects the backbone atoms and the third one selects the water molecules. Checking Invert, the meaning of the above buttons is inverted (e.g. clicking Hydrogens, all hydrogen atoms are unselected). The Display box contains controls useful to change the visualization in selective way: you can change the visualization mode (Don't change, Wireframe, CPK dotted, CPK wireframe, CPK solid, Ball & stick wireframe, Ball & stick solid, Stick wireframe, Stick solid, Tube and Trace) and the color of groups of atoms. This last option is enabled only if Change color is checked. For more information, see the Display modes section.

 

7.1.1 Selection by atom(s)

Select by atom nameWhen the Atoms tab is selected, it's possible show (+ button) or hide (- button) one or more atoms, using the Selection field in which the selection must be in the following format:

 

AtomName : ResidueName : ResidueNumber : Chain : MoleculeNumber  

 

The maximum length of each sub-field is four characters, but the Chain sub-field requires only one. The selection can contain wildcards (* and ?) and all sub-fields are optional from left to right. The omitted sub-fields are equivalent to *. Clicking the items in Atom, Residue, Number, Chain and Mol. columns, the Selection field is automatically completed.
To un/select a single atom, you can pick it clicking the structure in the main window or selecting Atom Select / Hide in the context menu or typing the atom number in the Selection field.

  

Examples:

12     un/select the the atom # 12
C* un/select all carbons
*:ARG un/select all arginines
H*:TYR un/select the hydrogens of all tyrosines
*:*:146 un/select the residue 146 (in all molecules)
*:*:2? un/select the residue range from 20 to 29.
*:A*:*:B un/select all residues beginning with "A" as name present in the B chain
*:*:*:*:1 un/select all atoms of the first molecule
*:*:*:C:2 un/select the C chain of the second molecule

The Reset button cleans the Selection field.

  

7.1.2 Selection by range

Select by rangeThis operating mode is useful to select more than one atom in sequence. You can specify the starting and the ending atom/residue number, completing the Range fields or clicking the structure in the main window. The + and - buttons have the same function explained above.

  

7.1.3 Using the proximity tool

Proximity toolThis selection mode is useful to un/select the atoms or residues (see What box) around an atom, residue, chain and molecule (see Around box). You must specify the radius (see Radius field) of the sphere/spheroid and its object center in the Selection field.  Using the + and - buttons, you can select or unselect the atoms or the residues contained in the spheroid.

 

7.1.4 Slice selection

Slice selectionWith the Slice tab, you can un/select atoms, residues, chains and molecules inside a user-defined slice: you can specify the selection Mode (Atom, Residue, Chain and Molecule),  the cut Plane (XY, YZ, ZX), the slice Thickness in Å  and the slice Position.  The + and - buttons have the same function as in the other selection modes.

 

7.2 Display modes

You can change the display mode of the active/visible atoms by View Display item of the main menu or Display item of the context menu or the atom selection dialog box. You can switch between wireframe, CPK dotted, CPK wireframe, CPK solid, ball & stick wireframe, ball & stick solid, stick wireframe, stick solid, trace and tube visualizations.

Wireframe Wireframe
CPK dotted CPK dotted
CPK wireframe CPK wireframe
CPK solid CPK solid
Ball & stick wireframe Ball & stick wireframe
Ball & stick solid Ball & Stick solid
Stick wireframe Stick wireframe
Stick solid Stick solid
Tube Tube
Trace Trace
   

You can change some visualization parameters with the View Settings dialog. Click here for more information.

 


7.3 View settings

You can open the display settings dialog by View Display Settings item of the main menu or the Display Settings item of the context menu. Press the Done button to close the dialog.

 

7.3.1 General settings

The general settings are accessible in the bottom panel of the window. There are five tabs: Main, Axis, Fonts, Stereo and Refresh.

Main settings    

7.3.1.1 Main settings

The Antialiasing combo box controls the hardware multisample anti-aliasing, if it's supported by the graphic card. The selectable values are in the 2 to 16x range (usually 2 to 6x) depending on the card features. Higher values allow to obtain better graphic quality. The Vector Antialiasing checkbox enables the hardware aliasing reduction for the lines only. Not all graphic accelerators have a full implementation of this function.

 

Anti-alias disabled Anti-alias enabled
Anti-aliasing
disabled
Anti-aliasing
enabled


The Depth cueing checkbox enable the OpenGL fogging function in order to simulate the color variation of the objects more distant from the view point.

 

Depth cueing disabled Depth cueing enabled
Depth cueing disabled Depth cueing enabled

The Z clip slider allows to change the clipping value along the Z axis.

Z clip = 170 Z clip = 64
Z clip = 170 Z clip = 64

The Smart move checkbox allows to improve the 3D graphic feedback of big molecules switching the visualization in wire frame mode (the fastest available) when the user rotate/translate the molecule. This operation is done automatically if the molecule exceeds the specified number of atoms (Atoms field).
Default button reverts all parameters to the original (default) state/value.

   

Font settings    

7.3.1.2 Axis settings

By Axis tab, it's possible to manage the Cartesian axis. They can be customized in several ways: you can change the Position (top left, top center, top right, center left, centered, center right, bottom left, bottom center and bottom right), the Style (solid and vector), the Scale %, the Width, the Resolution (available with the solid style only) and the colors of the axis and the labels.

   

Font settings    

7.3.1.3 Font settings

In this tab, you can change font parameters  used in the 3D visualization.  The font Type could be Bitmap (standard quality), True Type  (best quality) and Stroke (fastest visualization). Bitmap and True Type fonts can be changed in the Font field but Stroke font can't be modified. Bitmap fonts have fixed sizes (see Size field), while True Type and Stroke fonts have variable sizes (see Scale slider). The Resolution slider is active for True type fonts only: it allows to change the detail level (from 0 to 100%), but you must remember that high details reduce the rendering speed. When the WireGL rendering is enabled, the Stroke font type is the only available.

  

Stereo settings    

7.3.1.4 Stereo settings

A very interesting feature implemented in VEGA ZZ is the stereoscopic view. Different stereo modes are available:

  • Active glasses

    This method offers a good experience of view but requires special hardware: a graphic card operating in stereo mode (cheap cards don't support it), a monitor supporting refresh rates greater than 100 Hz and shutter glasses (e.g. CrystalEyes by RealD Inc., NVIDIA 3D Vision).

  • Anaglyph

    It is the cheapest way to have a stereoscopic view because requires inexpensive anaglyph glasses (they are glasses with polarized lens). The stereo experience is poor because this visualization method shows the scene only in gray scale or with a reduced set of color. The Anaglyph filter option allows to change the lens color in order to make VEGA ZZ compatible with a specific type of glasses.

  • Side-by-side (SBS)

    It gives the best stereoscopic experience in particular if you are using head sets such as Oculus Rift and HTC vive. It is also named full side-by-side and can used with the modern 3D TV.

  • Cross-eye

    The rendering method is the same of SBS, but the left and right frames are swapped.

  • Half side-by-side (HSBS)
    The rendering method is the same of SBS, but a single frame is intended for both eyes at the same time with two halves on the left and right, and the entire frame for the left eye and right eye respectively scaled down horizontally to fit the left-half and right-half of the frame. In other words, the horizontal resolution is divided by two and the pixel aspect ratio is set to 1:2.
  • Top and bottom (TAB)
    This method is similar to SBS, but instead to store left- and right-eye views a whole horizontally, the two frames are assembled vertically (top and bottom).
  • Half top and bottom (HTAB)
    It is similar to TAB, but the vertical resolution is halved and the pixel aspect ratio is set to 2:1.

 

 When you switch to this stereo mode, you can adjust the Eye offset and the Shift adjust to optimize the stereo effect.

 
Stereo picture
Red-cyan stereo picture (Eye offset 0,1).

WARNING:
The Matrox FSAA 16x (implemented in the P-Series graphic cards) introduces artefacts in anaglyph stereo mode. For best results, disable it in the PowerDesk HF control panel. To save the pictures, use the offline software rendering enabling the 4 or 16x anti-aliasing for best results.

 

Checking 10 bit pixel format, 10 bits for each color channel are used instead of 8, obtaining a smoother view (230 = 1.073.741.824 vs. 224 = 16.777.216 colors). When you enable this feature, a requester is shown asking you to restart VEGA ZZ. If after the restart, 10 bit pixel format is unchecked, it means that your graphic card doesn't support the 10 bit color mode. A limited number of professional graphic cards supports this pixel format (e.g. AMD/ATI FireGL and NVIDIA Quadro) and, in some cases, must be enabled in the control panel. Moreover, a specific monitor is also required (e.g. HP DreamColor, Eizo ColorEdge series).

   

Refresh settings    

7.3.1.5 Refresh settings

This tab allows to set refresh parameters useful to obtain smooth animations and fast graphic interface feedbacks. Checking Fast refresh, the main window refresh is done in a very fast mode: a copy of the scene is kept in the back buffer and when a repaint is requested, the scene is copied from the back to the front buffer without redrawing it. This procedure noticeably improve the main window refresh, but not all graphic cards support it. If you enable it and you have main window corruptions and artefacts when you translate the windows, your graphic card isn't compatible with the fast refresh mode. It's well know that this refresh mode is compatible with Matrox Graphics cards and with Microsoft and MESA 3D generic OpenGL drivers.
The Animation frame rate (fps) field allows to change the maximum frame rate used during the animations: higher values correspond to smoother animations. Please remember that you can't override the graphic card refresh rate because VEGA ZZ is synchronized to it. As an example, if the graphic card refresh rate is set to 85 Hz, you can't obtain an animation frame rate greater than 85 frame per second.
Animation timing sets the base speed used in the animations.

   

Wireframe    

7.3.2 Wireframe settings

The Smooth mode beautifies the vector visualization:

Smooth disabled Smooth enabled
Disabled Enabled

The Multivector mode allows to view the molecule bond types (single, partial double, double and  triple):

Multivector disabled Multivector enabled
Disabled Enabled

The Thickness slider changes the line thickness (from 1 to 5).

 

CPK    

7.3.3 CPK settings

You can adjust the sphere resolution (high best view more rendering time) and the dot size for dotted Van der Waals visualization.

 

CPK    

7.3.4 Ball & stick settings

You can adjust the sphere and the cylinder resolution. You can change also the sphere scale and the cylinder radius.

 

Stick    

7.3.5 Stick settings

For this display mode, you can change the resolution and the cylinder radius.

 

Tube    

7.3.6 Tube settings

For the tube visualization, you can change the interpolation type (cubic or biquadratic), the spline resolution, the cylinder resolution and the cylinder radius.

 

Trace   

7.3.7 Trace settings

For the trace visualization, you can change the cylinder resolution and the cylinder radius.

 


7.4 Molecule colors

The color of visualized atoms can be changed selecting the items in View Color menu (click here for more information). The coloring methods are:

Color by atom
Color by atom
(white = hydrogen, green = carbon, red = oxygen, blue = nitrogen, yellow = sulfur, cyan = fluorine, magenta = chlorine or unknown atom, orange = bromine, violet = iodine).
  
Color by residue
Color by residue
  
Color by chain
Color by chain
  
Color by segment
A different color is selected for each segment (e.g. protein, water, ligand) in the molecule or assembly.
Color by segment
  
Color by molecule
   Color by molecule
Color by H-Bond
It colors the H-bond acceptor (blue) and donor (magenta) atoms.   
  
Color by H-bond
Color by charge
   Color by charge
The color ramp indicates the more negative (blue) and the more positive (red).
Color by constraint 
It colors the molecule by constraint: blue fixed, green freed.
  
Color by constraint

 

If you want to change the color schemes, you must use Color settings dialog. Using the View Color Selection menu item, it's possible to choose the color of the visible atoms from the color table, as shown below:

 

Color table

 

To apply the color changes, you must click Ok button or double click the color box.

 


7.5 Color settings

Thanks to this dialog box that can be visualized selecting View Color Settings, it's possible to change some interesting color parameters for a nice view.

   

7.5.1 Background settings

Background settings

Clicking the Background color box, you can change the background color. As a possible application of this feature, you can change the background color from black to white in order to make an hard copy of the screen. Changing Logo gadget, you can superimpose the VEGA ZZ logo on the screen, placing at Top left, Top center, Top right, Center left, Centered, Center right, Bottom left, Bottom center and Bottom right of the workspace.
The SkyVision system allows you to apply 3D landscapes or complex color gradients to the scene. More in detail, it places the scene at the center of a cube (skybox) with faces textured with the landscape as in a 3D video game. To generate the ambient, you must provide to VEGA ZZ one of these inputs:

  • Six pictures in JPEG format (one for each face)
    The resolution of the images must have at least the size of 128x128, but too large images (more than 2048x2048) aren't recommended because require a lot of graphic memory and reduce the rendering performances. The six image files must be named according the following rule:  given landscape as skybox name, the six faces must be named: landscape_back.jpg, landscape_bottom.jpg, landscape_front.jpg, landscape_left.jpg, landscape_right.jpg and landscape_top.jpg.
  • One equirectangular 360° picture in JPEG format
    This kind of picture can be taken with panoramic cameras (e.g. LG 105R, Insta 360, Samsung Gear, etc.) and can be used as skybox and 3D equirectangular pictures (top/bottom). It is automatically detected when the picture has the 1:2 aspect ratio.
  • One equirectangular 360° 3D picture in JPEG format
    As above, but it includes 3D data in top/bottom format. It is automatically detected when the picture has the 1:1 aspect ratio. You can appreciate the amazing 3D effect only if VEGA ZZ is rendering in stereo mode. For best results, you can use a 3D headset, selecting OpenVR as stereo mode in the View settings window.
  • One color gradient file in CSV format
    Color gradients are stored as a simple CSV file in which the color of each cube vertex is stored in RGB format. Each color component can assume a value from 0 to 255.
    Here is an example of CSV file:
Vertex;Red;Green;Blue
1;0;0;128
2;0;0;128
3;0;0;128
4;0;0;128
5;0;0;0
6;0;0;0
7;0;0;0
8;0;0;0

The first line is the header, followed by 8 optional lines in which the vertex ID and the color components are present. The could be not necessary ordered in ascending order of vertex and the file can be edited by a text editor or a spreadsheet program

 

All these files The landscape can be adjusted in the scene changing the position (X offset and Y offset) and the orientation (X rotation, Y rotation and Z rotation). When you click the dot buttons, the parameters are reverted to default.

   

7.5.2 Atom settings

Atom settingsIn this tab, you can change the color scheme used when you select View Color By atom in the main menu. It's also possible to change the color of the generic atom labels and of the unknown potential labels (see Labels box). Clicking Default, all colors are reverted to default.

   

7.5.3 Residue settings

Residue settingsIn Residues tab, you can change the color scheme used when you select View Color By residue in the main menu. Clicking Default, the color scheme is reverted to default.

    

7.5.4 Monitor settings

Monitor settingsIn Monitor tab, you can set the color and the transparency (0 = full transparent, 255 = full opaque) of the monitors shown when you measure angles, bumps, distances, torsions and angles between two planes.  Clicking Default, the colors and the transparencies are reverted to default.

  

 

7.5.5 Other settings

H-bonds settingsIn this tab, you can change the color of the H-bond acceptors, H-bond donors and non H-bond involved atoms. Moreover, you can change the color of flexible and rigid bonds.

 


7.6 Light settings

This dialog box can be shown by selecting View Light in the main menu and allows the light source management.

 

Lighting

 

VEGA ZZ light engine supports up to four directional light sources and one ambient light. The number of the directional light could be reduced to one if the graphic card OpenGL driver doesn't support more than one light source. Each light source, selectable by Sources box, can be independently enabled or disabled (see Enabled checkmark in Position box) and moved in the scene clicking the small buttons in the corners of the blue box. To move inside the blue box position layers, you must click the layer outside the small buttons and to show all layers, you must click Reset button button. For each light source, in the Light colors box, you can change the diffusion and the specularity colors. You can also switch on/off the ambient light and change its color (see Ambient light box).
In Lighting window, you can change Material properties as the specularity (from 0 to 100), the shininess (from 0 to 100) and the vector reflection (enabled/disabled).
To revert to pre-defined lighting parameters, you can click Default button.
The lighting engine could be disabled unchecking the Lighting enabled item at top-left window position.

 


7.7 Molecule information

VEGA ZZ can calculate many information about the molecule in the current workspace: total number of atoms, number of heavy atoms, number of residues, number of contained molecules, number of water molecules, molecular weight, coordinates of geometric center, coordinates of mass center, approximate dimensions, total charge (calculated using the atomic charges), dipole, surface area, surface diameter, volume, volume diameter, ovality, Crippen's logP (A.K. Ghose, A. Pritchett , G.M. Crippen, "Atomic Physicochemical parameters for three dimensional structure directed quantitative structure-activity relationships III: Modelling Hydrophobic Interactions", J. Comput. Chem., Vol. 9, 80-90 (1988)) and lipole, Broto's logP (P. Broto, G. Moreau, C. Vandycke , "Molecular Structure: perception, autocorrelation descriptor and SAR studies", Eur. J. Med. Chem.,  Vol. 19, 71-78 (1984)) and lipole, Virtual logP, polypeptidic charge, amino acidic or nucleotidic composition.

 

Information about the molecule

 

Selecting View Information from the main menu, the VEGA ZZ shows a dialog box in which it's possible to set the probe radius for surface calculations and the maximum number of allowed atoms for time-expensive calculations (e.g. volume, surfaces, Virtual logP, etc). To perform all calculations, you must click Calculate button or select Calculate item from File menu.

 

7.7.1 The menu bar

The menu bar functions are summarized in the following table:

 

Menu Item Accelerator Description
File
Save as ... Ctrl+S

Save the calculated properties in a text file

Print Ctrl+P Print the results.
Calculate Ctrl+A Perform the calculation.
Close - Close the window.
Edit Copy Ctrl+C Copy the highlighted results to clipboard.
Copy all - Copy all results to clipboard.

 

WARNING:

Any change to the probe radius field has effects on surface calculations only and not on the volume.

 


7.8 Hydrogen bonds

VEGA ZZ can evaluate the hydrogen bond energy by CHARMM force field implemented in HyperDrive library. The hydrogen bonds are highlighted in the main window in order to analyze them. The hydrogen bonds dialog is shown selecting Measure Hydrogen bonds in the context menu (press right button on the 3D visualization area):

Hydrogen bonds    

In the Donors/Acceptors boxes, you can select which atoms will be considered in the evaluation of the H-bonds. The Parameters box includes the force field parameters: Cutoff, Threshold, Attractive exponent, Repulsive exponent, HA angle cosine exponent and AA angle cosine exponent. For more information about these parameters, see the CHARMM force field documentation.
Checking the Selected atom only field, the active/visible atom will be considered only and checking Save the results, all H-bond are stored in a CSV or DIF file.
Label box allows to choose which labels are shown for each h-bond detected by the algorithm.
Default button resets all parameters to the default condition, and Show button starts the evaluation of H-bonds.

 

 


7.9 Save the image

VEGA ZZ allows to save the current molecule as 2D, 3D, 360° panorama and cubic panorama sketches to bitmap and vector-based files. This function is useful to insert images in documents (e.g. Microsoft Word, HTML pages, etc). To show the following dialog window, you must select File Save image in main menu or click the camera picture of the Tool bar 1:

 

Save image requester

 

The following table shows the file formats supported by VEGA ZZ: the first column is the format name, the second one is the file extension, the third one is the type (V2 = vector-based 2D, V3 = vector-based 3D and B = bitmap) the fourth one is the image type (2D = 2D sketch, 3D = 3D view, 360° = 360° equirectangular and cube panorama) and the last one indicates if the effects are applicable:

Format name Extension Type Image type Effects
Bitmap bmp B 2D/3D/360° Yes
GIF gif B 3D No
Encapsulated PostScript eps V2 3D No
Enhanced Metafile emf V2 2D No
JPEG jpg B 2D/3D/360° Yes
LaTex tex V2 3D No
PCX pcx B 2D/3D/360° Yes
PDF pdf V2 2D/3D No
Portable Network Graphics (PNG) png B 2D/3D/360° Yes
PostScript ps V2 3D No
POV-Ray pov V3 3D No
Pnm pnm B 2D/3D/360° Yes
Raw Data raw B 2D/3D/360° Yes
Silicon Graphics sgi B 2D/3D/360° Yes
STL stl V3 3D No
STL binary stb V3 3D No
SVG svg V2 2D/3D No
Targa tga B 2D/3D/360° Yes
TIFF tif B 2D/3D/360° Yes
VRML 2.0 wrl V3 3D No
VRML 2.0 gzipped wrz V3 3D No

The Rendering modes and the Effects are available for the 3D bitmap formats only. The Snapshot mode does an exact copy of the current view with the same resolution. If you want to obtain an image differing from the size of the current view, you must use Hardware or the Software modes. In both cases, you can choose a pre-defined  or a custom resolution. The Hardware rendering is performed directly by the GPU (Graphic Processing Unit)  installed in the graphic card and uses its memory. The resulting rendering is better than the software-based, because it applies the enhanced hardware anti-aliasing and the texture filtering (if they are available). You must remember that the this feature is available in high-performance graphic cards with a strong OpenGL support (e.g. ATI, NVIDIA and Matrox). If your display adapter doesn't support this rendering mode, an error message is shown.  Another problem afflicting this mode, is the memory installed on the graphic card that influences the maximum rendering resolution. For this reason, if you try to render a bitmap larger than the graphic memory, an error message is shown. Graphic cards with at least 128 Mb of RAM are recommended for this operating mode. The Software rendering mode works with all graphic cards, because it uses the system memory instead of the hardware features. In this way, it's possible to render very large images, but the quality isn't so good, even if often it's comparable to that of a cheap graphic card. The real limit of the Software rendering is inside the Microsoft OpenGL driver: it supports one light source only and so it's impossible to render all four light sources that VEGA ZZ can manage. To improve the Software rendering, you could activate the AntiAlias option reducing the jagged edges. The algorithm oversamples the image (4x or 16x) increasing its size to 2x or 4x, performing a more precise rendering. Finally, it resizes the image to the user-defined dimension applying  a smoothing pixel algorithm. The 16x AntiAlias generates better images but it requires a lot of memory.
 

 

If the output format is a true-color bitmap file, it's possible to apply some Effects:

No effects   Picture without effects
Gaussian blur Gaussian blur
Emboss Emboss
Gray scale Gray scale
Gray scale + emboss Gray scale + emboss
  

Notes about the vector file formats:
The conversion of an OpenGL scene to a 2D vector scene is very complex and requires some computational time. Not all OpenGL objects can be rendered and so is possible that some details are missing in the rendered file (e.g. transparencies, smooth vectors). Please remember that VEGA ZZ doesn't require the expensive Adobe Acrobat to create the PDF file. Click here to see an example of a PDF file.
The conversion to the VRML format is provided by the Gl2Vrml library that reconstructs the three-dimensional scene decoding the OpenGL feedback buffer and this operation is very fast thanks to the code optimization (SSE, 3DNow! and parallel code). To show the VRML world, a VRML viewer is required (e.g. ParallelGraphics Cortona VRML Client or Cosmo Player).

 

Download a VRML 2.0 plug-in to show the 3D object

VRML 2.0 output example

 

The POV-Ray output is provided in order to render the scene with the Persistence of Vision Ray Tracer. You must remember this implementation is experimental and the polygons outside the OpenGL view port are cut-out from the final scene creating uncompleted objects.

 

Rendered image

POV-Ray rendering example

 


7.10 Video encoding

VEGA ZZ can encode video streams that the user can include in PowerPoint presentations, HTML documents, Video CD/Super Video CD/DVD medias, on-line video streaming applications, etc. At this time, it's possible to convert MD trajectories to high quality videos choosing the Save trajectory item in the File menu. When the video format is selected, the codec option window is shown:

 

Codec configuration

 

A codec is a software component with the capability to encode and decode audio/video streams. In the Codec list, you can select the codec that will be used to encode the video stream. Each codec has specific application fields and you should select the more suitable one. As an example, if you want to perform video editing, the best choice is a codec with low compression ratio for the best quality and full frame encoding (e.g. Huffyuv, DV, M-JPEG, Lagarith). In this specific application field, you can't use MPEG-1, MPEG-2, DivX, XviD (MPEG-4) because not all frames are full encoded but some of them are compressed by difference from the previous one. The  video editing requires "single frame" precision cut,  that isn't possible when you use MPEG encoding methods.
In the Video codec information box, the properties of the selected codec are shown: the FOURCC code is a four character string used by  Windows Multimedia System to recognize and manage the codec and it's the same used in the AVI file header, Driver name is the DLL file name encapsulating the codec, Delta frame indicates if the codec supports delta frames and Format restrictions reports limits and warnings about  the codec.
The Quality slider allows to change the compression quality (high quality = low compression ratio) or the bitrate for MPEG-1 and MPEG-2 (VOB) compression. The bitrate must be correctly selected if you want obtain standard medias: e.g. if you want to create a Video CD (VCD), you must select MPEG-1 compression and 1150 as bitrate to obtain a full compliant media.
About button shows the codec copyright message and Configure button opens the codec control panel, if it's available. To configure the codec, you must consult its documentation.
In Rendering mode box, you can select the rendering method (for more information, see the Save image section).
In Resolution box, you can select the frame size only if the Hardware or the Software rendering modes are selected. It's also possible to enter custom resolutions. In the following table, the standard frame sizes are shown:

Width Height Aspect ratio Video Standard Name Application
160 120 4/3 PC QQVGA  
176 120 4/3 NTSC CIF  
176 144 4/3 PAL QCIF  
320 200 4/3 PC
Amiga
CGA/MCGA
NTSC Lo-Res/Euro36 Lo-Res
 
320 240 4/3 PC QVGA  
320 256 4/3 Amiga PAL Lo-Res  
320 400 4/3 Amiga NTSC Lo-Res Interlaced
DblNTSC Lo-Res
Euro36 Lo-Res Interlaced
 
320 512 4/3 Amiga PAL Lo-Res Interlaced
DblPAL Lo-Res
 
320 800 4/3 Amiga DblNTSC Lo-Res Interlaced  
320 1024 4/3 Amiga DblPAL Lo-Res Interlaced  
352 240 4/3 NTSC CIF, SIF, 240i, 240p Video CD, LDTV
352 283 4/3 Amiga PAL Lo-Res Overscan  
352 288 4/3 PAL CIF, SIF, 288i, 288p Video CD, LDTV
352 480 4/3 NTSC 2CIF  
352 576 4/3 PAL 2CIF  
368 290 4/3 Amiga PAL Lo-Res Max Overscan  
400 300 4/3 Amiga Super72  
400 600 4/3 Amiga Super72 Interlaced  
480 480 4/3 NTSC - Super Video CD (SVCD)
480 576 4/3 PAL - Super Video CD (SVCD)
640 200 4/3 PC
Amiga
CGA
NTSC Hi-Res
 
640 256 4/3 Amiga PAL Hi-Res  
640 350 4/3 PC EGA  
640 400 4/3 PC
Amiga
VGA70
NTSC Hi-Res Interlaced
 
640 480 4/3 PC
Amiga
VGA
Multiscan
 
640 800 4/3 Amiga Euro72 Interlaced
DblNTSC Interlaced
 
640 960 4/3 Amiga Multiscan Interlaced  
640 1024 4/3 Amiga DblPAL Interlaced  
704 480 4/3 NTSC 4CIF, 480i, 480p SDTV
704 576 4/3 PAL 4CIF  
720 348 4/3 PC Hercules Graphic mode
720 350 4/3 PC Hercules Text mode
720 480 4/3 NTSC DV, TV, SDTV DV Camera, DVD
720 576 4/3 PAL DV, TV, SDTV DV Camera, DVD
736 566 4/3 Amiga PAL Hi-Res Interlaced Max Overscan  
800 300 4/3 Amiga Super72  
800 480 16/10 PC - Eee PC laptop LCD
800 600 4/3 PC
Amiga
SVGA
Super72 Interlaced
 
1008 1024 4/3 Amiga A2024  
1024 576 16/9 PAL - D1 PAL Widescreen
1024 768 4/3 PC XGA  
1024 1024 4/3 Amiga A2024 Require the A2024 monitor
1280 200 4/3 Amiga NTSC Super Hi-Res  
1280 256 4/3 Amiga PAL Super Hi-Res  
1280 400 4/3 Amiga NTSC Super Hi-Res Interlaced  
1280 512 4/3 Amiga PAL Super Hi-Res Interlaced  
1280 720 16/9 PC
HDTV 720
WXGA
720i, 720p
High Definition TV, HDV
1280 768 16/9.6 5/3 PC WXGA  
1280 800 16/10 PC WXGA  
1280 960 4/3 PC SXGA  
1280 1024 4/3 PC SXGA  
1360 768 16/9 PC WXGA LCD TV
1366 768 16/9 PC WXGA LCD TC
1400 1050 4/3 PC SXGA+ Laptop LCD
1440 900 16/10 PC WSXGA, WXGA+  
1440 1080 16/9 HDTV 1080 1080p, 1080i HDV
1440 1152 16/9 HDTV 1152 1152i DVB
1536 1152 4/3 HDTV 1152 1152p High Definition TV
1600 1200 4/3 PC UXGA  
1680 1050 16/9 PC WSXGA+ Laptop LCD
1920 1080 16/9 HDTV 1080 1080p, 1080i High Definition TV
1920 1035 16/9 HDTV 1035 1035i DVB
1920 1200 16/10 PC WUXGA  
2048 1536 4/3 PC QXGA  
2560 1600 16/10 PC WQXGA  
2560 2048 5/4 PC QSXGA  
3200 2048 25/16 PC WQSXGA  
3200 2400 4/3 PC QUXGA  
3840 2400 16/10 PC WQUXGA  
4096 3074 4/3 PC HXGA  
5120 3200 16/10 PC WHXGA  
5120 4096 5/4 PC HSXGA  
6400 4096 25/16 PC WHSXGA  
6400 4800 4/3 PC HUXGA  
7680 4800 16/10 PC WHUXGA  
1354 732 1.85 1.5K 35mm Academy Offset
Standard 1.85
Digital Film
1354 760 16/9 1.5K 35mm Academy Offset
Standard 1.78
Digital Film
1354 816 1.66 1.5K 35mm Academy Offset
Standard 1.66
Digital Film
1354 988 1.37 1.5K 35mm Academy Offset Digital Film
1354 1148 2.36 1.5K 35mm Academy Offset
Cinemascope/Panavision
Digital Film
1536 642 2.40 1.5K 35mm full screen
Super 35/Super Techniscope
Digital Film
1536 674 2.28 1.5K 65mm 5 Perf Digital Film
1536 700 2.20 1.5K 35mm full screen
70mm 2.2:1 AR
Digital Film
1536 830 1.85 1.5K 35mm Academy Offset
Standard 1.85
Digital Film
1536 830 1.85 1.5K 35mm full screen
Super 1.85
Digital Film
1536 862 16/9 1.5K 35mm Academy Offset
Standard 1.78
Digital Film
1536 924 1.66 1.5K 35mm Academy Offset
Standard 1.66
Digital Film
1536 1026 1.50 1.5K 35mm Vistavision Digital Film
1536 1100 1.40 1.5K 65mm 8 Perf
IWERKS
Digital Film
1536 1120 1.37 1.5K 35mm Academy Offset Digital Film
1536 1148 4/3 1.5K 65mm 15 Perf
IMAX/OMNIMAX
Digital Film
1536 1152 4/3 1.5K 35mm full screen Digital Film
1536 1302 2.36 1.5K 35mm Academy Offset
Cinemascope/Panavision
Digital Film
1806 976 1.85 2K 35mm Academy Offset
Standard 1.85
Digital Film
1806 1014 16/9 2K 35mm Academy Offset
Standard 1.78
Digital Film
1806 1086 1.66 2K 35mm Academy Offset
Standard 1.66
Digital Film
1806 1316 1.37 2K 35mm Academy Offset Digital Film
1806 1530 2.36 2K 35mm Academy Offset
Cinemascope/Panavision
Digital Film
2048 854 2.40 2K 35mm full screen
Super 35/Super Techniscope
Digital Film
2048 898 2.28 2K 65mm 5 Perf Digital Film
2048 932 2.20 2K 35mm full screen
70mm 2.2:1 AR
Digital Film
2048 1106 1.85 2K 35mm Academy Offset
Standard 1.85
Digital Film
2048 1108 1.85 2K 35mm full screen
Super 1.85
Digital Film
2048 1150 16/9 2K 35mm Academy Offset
Standard 1.78
Digital Film
2048 1232 1.66 2K 35mm Academy Offset
Standard 1.66
Digital Film
2048 1366 1.50 2K 35mm Vistavision Digital Film
2048 1468 1.40 2K 65mm 8 Perf
IWERKS
Digital Film
2048 1494 1.37 2K 35mm Academy Offset Digital Film
2048 1530 4/3 2K 65mm 15 Perf
IMAX/OMNIMAX
Digital Film
2048 1536 4/3 2K 35mm full screen Digital Film
2048 1736 2.36 2K 35mm Academy Offset
Cinemascope/Panavision
Digital Film
2708 1464 1.85 3K 35mm Academy Offset
Standard 1.85
Digital Film
2708 1520 16/9 3K 35mm Academy Offset
Standard 1.78
Digital Film
2708 1632 1.66 3K 35mm Academy Offset
Standard 1.66
Digital Film
2708 1976 1.37 3K 35mm Academy Offset Digital Film
2708 2296 2.36 3K 35mm Academy Offset
Cinemascope/Panavision
Digital Film
3072 1284 2.40 3K 35mm full screen
Super 35/Super Techniscope
Digital Film
3072 1348 2.28 3K 65mm 5 Perf Digital Film
3072 1400 2.20 3K 35mm full screen
70mm 2.2:1 AR
Digital Film
3072 1660 1.85 3K 35mm Academy Offset
Standard 1.85
Digital Film
3072 1660 1.85 3K 35mm full screen
Super 1.85
Digital Film
3072 1724 16/9 3K 35mm Academy Offset
Standard 1.78
Digital Film
3072 1848 1.66 3K 35mm Academy Offset
Standard 1.66
Digital Film
3072 2052 1.50 3K 35mm Vistavision Digital Film
3072 2200 1.40 3K 65mm 8 Perf
IWERKS
Digital Film
3072 2240 1.37 3K 35mm Academy Offset Digital Film
3072 2296 4/3 3K 65mm 15 Perf
IMAX/OMNIMAX
Digital Film
3072 2304 4/3 3K 35mm full screen Digital Film
3072 2604 2.36 3K 35mm Academy Offset
Cinemascope/Panavision
Digital Film
3612 1952 1.85 4K 35mm Academy Offset
Standard 1.85
Digital Film
3612 2028 16/9 4K 35mm Academy Offset
Standard 1.78
Digital Film
3612 2172 1.66 4K 35mm Academy Offset
Standard 1.66
Digital Film
3612 2632 1.37 4K 35mm Academy Offset Digital Film
3612 3060 2.36 4K 35mm Academy Offset
Cinemascope/Panavision
Digital Film
4096 1708 2.40 4K 35mm full screen
Super 35/Super Techniscope
Digital Film
4096 1796 2.28 4K 65mm 5 Perf Digital Film
4096 1864 1.85 4K 35mm full screen
70mm 2.2:1 AR
Digital Film
4096 2212 1.85 4K 35mm Academy Offset
Standard 1.85
Digital Film
4096 2216 1.85 4K 35mm full screen
Super 1.85
Digital Film
4096 2300 16/9 4K 35mm Academy Offset
Standard 1.78
Digital Film
4096 2464 1.66 4K 35mm Academy Offset
Standard 1.66
Digital Film
4096 2936 1.40 4K 65mm 8 Perf
IWERKS
Digital Film
4096 2988 1.37 4K 35mm Academy Offset Digital Film
4096 2732 1.50 4K 35mm Vistavision Digital Film
4096 3060 4/3 4K 65mm 15 Perf
IMAX/OMNIMAX
Digital Film
4096 3072 4/3 4K 35mm full screen Digital Film
4096 3472 2.36 4K 35mm Academy Offset
Cinemascope/Panavision
Digital Film

 

2CIF Double CIF.
4CIF Quad CIF.
CGA Color Graphic Adapter.
CIF Common Intermediate Format.
DV Digital Video. The standard for consumer digital video recording.
EDTV Enhanced-definition television (SDTV with progressive non-interlaced frames).
EGA   Enhanced Graphic Adapter.
HDTV High-definition television.
HDV High Definition Video. It's the evolution of the DV standard.
HXGA   Hexadecatuple eXtended Graphic Array.
HSXGA   Hexadecatuple Super eXtended Graphic Array.
HUXGA   Hexadecatuple Ultra eXtended Graphic Array.
MCGA   Multicolor Graphic Adapter.
NTSC    National Television System Committee, the TV standard of USA, Japan, etc
PAL Phase-Alternating Line, Phase Alternation by Line or Phase Alternation Line. It's the European TV standard.
PC Personal Computer.
QCIF Quarter CIF.
QQVGA Quarter Quarter VGA.
QSXGA   Quad Super eXtended Graphic Array.
QUXGA   Quad Ultra eXtended GRaphic Array.
QVGA Quarter VGA.
QXGA   Quad eXtended Graphic Array.
SDTV Standard-definition television (e.g. NTSC, PAL, SECAM).
SIF Source Input Format.
SVGA Super VGA, Super Video Graphic Array.
SXGA Super XGA, Super eXtended Graphic Array.
UXGA Ultra XGA, Ultra eXtended Graphic Array.
VGA Video Graphic Array.
WHXGA   Wide HXGA, Wide Hexadecatuple XGA, Wide Hexadecatuple eXtended Graphic Array.
WHSXGA   Wide HSXGA, Wide Hexadecatuple Super XGA, Wide Hexadecatuple Super eXtended Graphic Array.
WHUXGA   Wide HUXGA, Wide Hexadecatuple Ultra XGA, Wide Hexadecatuple Ultra eXtended Graphic Array.
WQSXGA   Wide QSXGA, Wide Quad Super XGA, Wide Quad Super eXtended Graphic Array.
WQUXGA   Wide QUXGA, Wide Quad Ultra XGA, Wide Quad Ultra eXtended Graphic Array.
WQXGA   Wide QXGA, Wide Quad XGA, Wide Quad eXtended Graphic Array.
WSXGA   Wide SXGA, Wide Super XGA, Wide Super eXtended Graphic Array
WUXGA   Wide UXGA, Wide Ultra XGA, Wide Ultra eXtended Graphic Array.
WXGA   Wide XGA.
XGA eXtended Graphic Array.

The AntiAlias option is active only if the Software rendering mode is selected and enabling it, the jagged edges are smoothed. The algorithm performs a super-sampling (4x or 16x) increasing the image size to 2x or 4x making the rendering more precise. Finally, it resizes the image to the user-defined dimension applying a smoothing pixel algorithm. The 16x AntiAlias generates better images but it requires a lot of memory.
In Frame rate box, you can select the number of frames that will be displayed for each second. If you want to obtain files t compatible with video standards, you must select the correct frame rate as shown in the following table:

Frame rate (fps) Standard Description
23.97602 720p24, 1080p24 HDTV
24 720p24, 1080p24 HDTV
25 576i50, 576p25
720i50, 720p25
1080i50, 1080p25
PAL, SECAM
HDTV
HDTV
29.97003 480i60, 480p30
720i60, 720p30
1080i60, 1080p30
NTSC, equivalent to 30 / 1.001 fps
HDTV
HDTV
30 720i60, 720p30
1080i60, 1080p30
HDTV
HDTV
50 720p50 HDTV
59.94006 480p60
720p60, 1080p60
EDTV, equivalent to 60 / 1.001 fps
HDTV
60 480p60
720p60, 1080p60
EDTV
HDTV

About the standards: the first number is the number of scan lines (vertical resolution), the character could be i (interlaced scan) or p (progressive scan) and the last number is the field rate and not the frame rate. The interlaced scan requires two fields to build one frame and so the frame rate is half field rate (e.g. 720i50). The progressive scan requires one field to build one frame and so the frame rate is equal to the field rate.

 

The 4/3 aspect ratio switch forces the width and height frame ratio to 4/3. This is useful for the Super Video CD (SVCD) resolutions (e.g 480x576 and 480x480) that don't have the 4/3 aspect ratio.

Ok button starts the encoding and Cancel button abort it.

 

7.10.1 MPEG-1 & MPEG-2 settings

When you select MPEG-1 video stream or DVD VOB (MPEG-2) as output file, the Configure button is active and clicking it, the MPEG settings are shown:

 

MPEG settings

 

In Bitrate box, you can activate the Variable bitrate encoding (preferred to the constant bitrate encoding for the better quality and the better compression ratio), the High quality mode, the automatic maximum bitrate selection (Auto max bitrate, not all DVD players support the high-bitrates selected by the algorithm. For better compatibility, it shouldn't activated) and the maximum bitrate in kilobits per second (Max bitrate, this field is disabled if Auto max bitrate is checked). The GOP (Group Op Pictures) box contains parameters about the GOP structure. The MPEG encoding is based on special frames called I-frames, B-frames and P-frames (for more information about the MPEG standards, see http://www.chiariglione.org/mpeg). The periodic pattern of frames resulting from the combination of I, B and P frames is called GOP (e.g. IBBPBBPBBPBB). The GOP size is the GOP length. The standard values are 12, 15 (PAL) and 18 (NTSC). The Max B-frames filed allows to specify the maximum number of contiguous B-frames (e.g. 1 IBPBPBPBPBPB, 2 IBBPBBPBBPBB) and it must be a number from 0 to 4. Checking Force closed GOP, the GOP structure will be terminated with a P-frame, reducing the GOP size subtracting the Max B-frames value. This option is useful if you want edit the stream using external software. In  Aspect ratio box, it's possible to choose the pixel width/height ratio that will be used playing the stream. The Advanced settings are only for expert users: they allow to enable the Trellis quantization, the Extreme & slow settings, the Interlaced encoding (MPEG-2 only), the field order in the interlaced scan (Top field first) and the automatic Scene detection. In the Profiles box, you can select pre-defined settings in order to simplify the encoder configuration (Default, Digital Versatile Disk (DVD) NTSC, Digital Versatile Disk (DVD) PAL, Super Video CD (SVCD) NTSC, Super Video CD (SVCD) PAL, Video CD (VCD) NTSC and Video CD (VCD) PAL). Not all options are accessible at the same time, because DVD and SVCD require MPEG-2 encoding and VCD requires the MPEG-1. The profile selection changes the settings in Codec configuration dialog also (e.g. Resolution, Frame rate and 4/3 aspect ratio), but remember that the resolution is not changed if the Snapshot rendering mode is selected.

 

WARNINGS:
At this time, VEGA ZZ isn't able to produce MPEG-1 files VCD full compliant, because the encoding algorithm doesn't use a real constant bitrate (CBR) inserting fluctuations in the bitrate value. This is not a real problem for the modern DVD players.

 

7.10.2 Video formats

The following table show the most common video format that you can use to realize full compliant medias:

Format VCD SVCD DVD HDDVD
HDTV
(WMVHD)
AVI
DivX
XviD
WMV
MOV
QuickTime
RM
RealMedia
AVI
DV
AVI
DV50
Resolution
NTSC/PAL
352x240
352x288
480x480
480x576
720x480²
720x576²
1440x1080²
1280x720²
640x480² 640x480² 320x240² 720x480
720x576
720x480
720x576
Frame per second NTSC/PAL 29,97003
25
29,97003
25
29,97003
25
60/30
50/25
12-30 12-30 12-30 29,97003
25
29,97003
25
Video
Compression
MPEG1 MPEG2 MPEG2, MPEG1 MPEG2
WMV9
MPEG4 Sorenson, Cinepak, MPEG4 ... RM DV DV
Video bitrate 1150 Kbps ~2000 Kbps ~5000 Kbps ~20 Mbps
(~8 Mbps)
~1000 Kbps ~1000 Kbps ~350 Kbps 25 Mbps 50 Mbps
Video codec Built-in Built-in Built-in Built-in
WMV9 
DivX 5
XviD
WMV
N/A¹ N/A¹ Matrox DV/DVCPro Matrox DVCPro50
Audio
Compression
MP1 MP1 MP1, MP2, AC3, DTS, PCM MP1, MP2, AC3, DTS, PCM MP3, WMA, OGG, AAC, AC3, DTS QDesign Music, MP3 ... RM DV DV
Audio bitrate 224 Kbps ~224 Kbps ~448 Kbps ~448 Kbps ~128 Kbps ~128 Kbps ~64 Kbps ~1500 Kbps ~1500 Kbps
Size/min 10
MB/min
10-20
MB/min
30-70
MB/min
~150
MB/min
(~60 MB/min)
4-10
MB/min
4-20
MB/min
2-5
MB/min
216
MB/min
432
MB/min
Min/74 min CD
(650 Mb)
74 35-60 10-20 ~4
(~10)
60-180 30-180 120-300 3 1.5
Hours/DVD
(4.7 Gb)
N/A N/A 1-2
(2-5ª)
~0.5
(~1)
7-18 3-18 14-35 20 min 10 min
Hours/DL-DVD (9 Gb) N/A N/A 2-4
(5-9ª)
~55 min
(~2)
13-30 6-30 25-65 37 min 18 min
DVD Player Compatibility Great Good Excellent None Few None None None None
Computer CPU Usage Low High Very High Super high Very high High Low High High
Quality Good Great* Excellent* Superb* Great* Great* Decent* Excellent Broadcast

 

Kbps   Thousand bits per second.
Mbps Million bits per second.
¹ Not directly supported by VEGA ZZ.
² Approximate resolution: it can be higher or lower.
~ Approximate bit rate: it can be higher or lower.
ª DVD with lower video quality, similar to VCD/SVCD video quality.
* The video quality depends on the bit rate and the video resolution: higher bit rate and higher resolution generally mean better video quality, but bigger file size.

  

7.10.3 How to obtain the codecs

The recommended codecs are all free and available as shown in the following table:

Codec Description
Radius Cinepac Included in Microsoft Windows.
DivX® MPEG-4 codec. The free edition is available at: www.divx.com.
Huffyuv Ultra high-quality lossless codec. Please remember to enable the 32 bit support in the control panel.
http://neuron2.net/www.math.berkeley.edu/benrg/huffyuv.html.
Indeo® Video 5.10 Included in Microsoft Windows.
Lagarith Ultra high-quality lossless codec.
http://lags.leetcode.net/codec.html.
libavcodec This is a library for MPEG-1 & 2 encoding. For more information, see http://www.ffmpeg.org.
Matrox DV/DVCAM DV/DVCAM codec (25 Mbit). It supports 720x576 and 720x480 resolutions only. It's included in the Matrox DigiSuite software-only codec pack, available after registration at:
Matrox DVCPRO DVCPRO codec (25 Mbit). It supports 720x576 and 720x480 resolutions only. It's included in the Matrox DigiSuite software-only codec pack, available after registration at:
Matrox MPEG-2 I-frame MPEG-2 codec with I-frame encoder for video editing. It supports 720x576 and 720x480 resolutions only. It's included in the Matrox DigiSuite software-only codec pack, available after registration at:
Matrox M-JPEG codec High quality Motion JPEG codec. It supports 352x288, 352x240, 720x576 and 720x480 resolutions only. It's included in the Matrox DigiSuite software-only codec pack, available after registration at:
Microsoft Video 1 Included in Microsoft Windows.
Microsoft Windows Media Video 9 VCM High quality codec especially designed for HDTV applications.
http://www.microsoft.com/windows/windowsmedia/9series/codecs/vcm.aspx.
XviD MPEG-4 codec.
http://www.xvidmovies.com/codec/.

The YUV only codecs aren't supported by VEGA ZZ because it uses the 32 bit RGBA color space.

  

7.10.4 Recommended tools

 


8.1 Charges & potential

By this dialog, it's possible to assign atom types and atomic charges. To open it, select Charge & Pot. in the Calculate menu.

 

Charges & Potential

 

Check and select the Force field type if you want fix the atom types for molecular mechanics calculations. To assign the atomic charges, you must check Charges and select the method. Some methods are available to assign the atomic charges:

Method Description
Ammp-Mom It's based on the bond polarization and it's performed by the AMMP package. When you select this method, you must specify the total charge (Charge field) and the number of steps (Steps field) for the charge optimization. This method isn't recommended for large molecules because it's very expensive in term of time.
Formal Assign formal charges only.
Gasteiger It's the Gasteiger-Marsili method, it's universal and it uses typed atomic charges that are smoothed on polar atoms.
CHARMM22_CHAR It uses the pre-computed atomic charges included in the CHARMM 22 force field. It's less flexible because it uses a fragment/residue database containing the pre-computed charges. If a residue/fragment is not included in the database, the atomic charges can't be assigned.
OPLS_CHAR It uses the pre-computed atomic charges included in the OPLS force field and it has got the same limits of the previous one.

If you want to fix atom types and charges to selected atoms only, you must check Consider selected atoms only. Press Fix to calculate the atom types and/or the charges. Clicking the button Edit,  it's possible to modify the parameters of the selected template/data file through the MiniEd:

 

Edit the template file

 

Please remember to save the changes in order to activate the modifications. The Force Field combo box is populated scanning the ...\VEGA\Data directory every time that the dialog is opened. If a new template is added (click here for more information) and VEGA ZZ is running, you must close and reopen the dialog to refresh the list.

 


8.2 AMMP calculation

AMMP is a modern full-featured molecular mechanics, dynamics and modelling program. It can manipulate both small molecules and macromolecules including proteins, nucleic acids and other polymers. In addition to standard features, like numerically stable molecular dynamics, fast multipole method for including all atoms in the calculation of long range potentials and robust structural optimizers, it has a flexible choice of potentials and a simple yet powerful ability to manipulate molecules and analyze individual energy terms. One major advantage over many other programs is that it is easy to introduce non-standard polymer linkages, unusual ligands or non-standard residues. Adding missing hydrogen atoms and completing partial structures, which are difficult for many programs, are straightforward in AMMP. For more information, see the AMMP manual.

Selecting an item in the Calculate Ammp menu, the AMMP dialog windows is shown. At this time, it's possible to do energy minimization and conformational search only, but other calculation modes are accessible trough the AMMP direct commands (see the AMMP manual).
Please remember that before to perform an AMMP calculation, the atom charges must be assigned (for more information, click here). The atom types don't need to be assigned, because they are automatically recognized every time that a calculation starts. If you find problems in the automatic assignment, you can proceed to fix them assigning the atom types using the Calculate Charge & Pot. menu item (SP4 force field) or the manual function (Edit Change Atom/Residue/Chain).

 

WARNING:

the SP4 force field is atom-oriented: it means that the force constants are computed starting from the atoms parameters and they aren't in angle, bond, torsion and improper tables. To compute that constants, the bond order is required. Optimizations of molecules with wrong bond types (single, partial double, double and triple) could carry out to bad structures. If you need to fix the bond types, select Edit Change Bonds in the menu bar, choose Find the bond types and finally click the Apply button (for more details, click here).
The bond types are automatically checked before starting the minimization. If a problem is found, a warning dialog window is shown by which it's possible to ignore the problem or to abort the procedure highlighting the atoms with the possible wrong bond order.

 

8.2.1 Energy minimization

To perform an energy minimization, select Minimization in Calculate Ammp menu.

 

Minimization

 

 In the Minimization tab, you can change the main minimization parameters and the minimization algorithm: Single point, Steepest descent, Trust, Conjugate gradients, Quasi-Newton, Truncated Newton, Genetic algorithm, Polytope simplex and Rigid-body. The Graphic update field sets the number of iterations after which the VEGA ZZ 3D view is refreshed (nupdat variable).
When you start the minimization clicking the Run button, the calculation steps and the error messages are shown in VEGA ZZ console. If you want to stop the interactive run, you must click with the right mouse button on the workspace area and select Stop calculation. In the same way, it's possible to shutdown the system when the calculation is finished, checking Power off the system.
Is it possible to save the Trajectory, the Output messages generated by AMMP and shown in the console, the Energy for each trajectory frame and the Velocities (this option isn't yet available), enabling the each field clicking the checkbox. To change the file names and the file formats, click the disk button Disk button.

 

Output files

 

If you are changing the trajectory file name, the Save trajectory file requester is shown, in which you can select the trajectory file format (for more information click here). To copy the file name to all fields, click the small button Copy file name button at the left of the disk button. To revert to the default parameters, click the Default button.

 

WARNING:

the fields of output files are automatically filled using the file path of the last loaded molecule and the name of the current workspace. If you change the current workspace, the file names are updated and manual changes are lost.

 

8.2.2 AMMP conformational search

To perform a conformational search, select Conformational search in Calculate Ammp menu.

 

Conformational search

 

In Search parameters, you can select the search method (Method combo-box): Systematic, Random and Boltzmann jump.
As first step, you must select the torsion (dihedral) angles that will be considered during the conformational search. To do it, press the Edit torsions button: the Selection tool dialog window will be shown. You can also load the selection by drag & drop of a file or by context menu (Open menu item). By this tool, you can choose all or flexible or user defined torsions and the list is automatically updated in the conformational search windows also. For each torsion, the name (Torsion), the starting value in degrees (Base), the number of rotation steps for the systematic search (Steps) and the range in degrees in which the random rotations are computed (Window) or ending rotation value (End) when you perform the systematic search. The checkbox at the beginning of each line allows to consider or not the torsion in the calculation. With the context menu, you can un/check all torsions (Check all, Uncheck all), un/check the highlighted/selected torsions (Check selected, Uncheck selected) and un/select all torsions (Select all, Unselect all). Highlighting one or more torsions in the list, you can change the parameters (Base, Steps and Window) in the Torsion parameters box. Not all parameter fields are enabled at the same time and that's related to the type of the search that you selected (see Method combo-box).
Checking Minimize all conformations, a conjugate gradients minimization is performed for each generated conformation. You can set the number of minimization steps (Steps) and toler value (Toler). Generally it's strongly recommended to enable this option.
Choosing the random search method, the Steps field in the Search parameters box is enabled, in which you can specify the number of random conformations that will be generated. In the Apply to box, you can decide to apply the random rotation to the starting conformation (none checked), to the previous generated conformation (Previous checked) and to the previous minimized conformation (Previous and Minimized checked). If Minimize all conformations is not checked, the meaning of this last option is the same of Previous checked only.
Choosing the Boltzmann jump method, the Steps, Temp. and RMSD fields are enabled: Steps allows to specify the number of conformations that will be generated, Temp. is the temperature in Kelvin and RMSD is the torsion root mean square difference (in degrees) used in the Boltzmann jump perturbation phase to generate a significant different conformation compared to the previous one.
Clicking the Run button, the conformational search begins and at the end the lowest energy structure is kept in the workspace.

Some operations, shown in the next table, can be done by the context menu that can be displayed by clicking with the right mouse button on the torsion list:

 

Item Subitem SubSubItem Description
Open - - Open a torsion selection (for more information, see the Selection tool).
Save as ... - - Save the torsions to a file.
Fill Base & end ± 5° Systematic:

complete automatically Base and End fields of each highlighted torsion with the range obtained from the current torsion angle adding and subtracting the selected value.

 

Random and Boltzmann jump:

complete automatically Base and Window fields of each highlighted torsion respectively with the current torsion angle and the double of selected value.

 

 

± 10°
± 20°
± 30°
± 45°
± 60°
± 90°
± 120°
± 80°
Base with torsion value - Complete automatically the Base field of each highlighted torsion with the current torsion value.
Current values - Set Base, Steps and Window/End fields of each highlighted torsion with the values in the Torsion parameters box.
Default - Set Base, Steps and Window/End fields of each highlighted torsion with the default values (respectively 0.00, 6, 360.00).
Check all - - Check/enable all torsions.
Check selected - - Check/enable the selected torsions.
Uncheck all - - Uncheck/disable all torsions.
Uncheck selected - - Uncheck/disable the selected torsions.
Select all - - Select all torsions.
Unselect all - - Unselect all torsions.

 

WARNING:

it's strongly recommended to set the Graphic update to 1, otherwise not all conformations are saved in the output file, but only one every N conformations, where N is the graphic update value.

 

8.2.2.1 Conformational search example

Imagine to perform a conformational search of a small molecule using the Boltzmann jump method:

 

8.2.3 AMMP console

In the Console tab, it's possible to control AMMP sending direct commands.

 

Console

 

This function is useful to perform operations not implemented in the graphic user interface or to get/set the system variables. The output is always redirected to VEGA ZZ console.
The commands must be typed in the bottom box and confirmed clicking Send or pressing the return key. The top box is the command history containing the latest typed commands. They can be repeated double clicking the line.

 

8.2.4 Calculation parameters

The Parameters tab allows to change the Dielectric constant (dielect variable), the Long range cutoff (cutoff variable), the Short range cutoff (mxcut variable), the Update full electrostatic threshold (mxdq variable), the Lambda value for homotopic force field terms (lambda variable) and Random number seed (seed variable). This value is used to initialize the pseudo-random number generator.

 

Parameters

 

In Constraints box, it's possible to enable the use of the constraints defined by the Atom constraints function: None makes all atoms free without constraints,  Atom fixing keep the atoms totally fixed (see ACTIVE and INACTIVE commands) and Tethering allows little movements around the starting position of the atoms depending on force constants (see TETHER command).
To revert to default parameters, click the Default button.

 

8.2.5 Potential terms

In Potential tab, it's possible to change the potential terms used for the energy evaluation.

 

Potential

 

For more details, see the AMMP's USE command. In the Force field box, you can change the force field type used by AMMP: SP4 (the standard AMMP force field) and CHARMM 22. The Template button allows to change the ATDL template used for the atom type recognition, the Parameters button allows to change the potential parameters. To revert to default parameters, click the Default button.

 

8.2.5.1 Non-SP4 force fields

The parameter files of these force fields must be in the standard CHARMM/NAMD format. They must placed in the VEGA ZZ\Data and in the VEGA ZZ\Data\Parameters directories and they must have the .inp extension. For the automatic atom type assignment, for each .inp file must exist a .tem file containing the ATDL tremplate (e.g. CHARMM22_PROT.inp and CHARMM22_PROT.tem). The parameter files interpreter included in the HyperDrive library has the pre-processor feature to include more files:

*
* CHARMM 22 parameters file for VEGA ZZ
*
INCLUDE "Parameters/par_all22_lipid.inp"
INCLUDE "Parameters/par_all22_na.inp"
INCLUDE "Parameters/par_all22_prot.inp"
INCLUDE "Parameters/par_all22_vega.inp"
INCLUDE "Parameters/par_all22_user.inp"

WARNING:

no error message is shown if the included file doesn't exist. In the VEGA ZZ\Data\Parameters directory, custom parameter files can be placed: *_vega.inp are created by the VEGA team to expand the standard parameters and *_user.inp can be generated by users when the parameters are missing in the standard files.
When a non-SP4 force field is selected, is it possible that one or more parameters are missing and so the missing parameter table is shown in order to allow to the user to add the missing parameter.

 

8.2.6 Hosts

AMMP can be executed on local and remote hosts according to the VEGA ZZ calculation host concept (for more information, click here).

 

Hosts

 

If you select a local host, the calculation is executed using the local hardware, otherwise is executed on a remote host. Host pools allows to filter the host list and the default pools are: All hosts, Local hosts and Remote hosts. Other polls can be defined by the user for massive parallel calculations not yet implemented.
Selecting Localhost the calculation is immediately executed in interactive mode (if you close VEGA ZZ, the job is stopped); selecting Localhost background, the calculation is started in background and it can't be controlled by VEGA ZZ (if you close VEGA ZZ, the job continues without stopping itself); selecting Localhost save file, the calculation is not started and the input file is created to run the job later.
Please note the duplicated hosts: they are child hosts and they are assigned one for each physical or virtual CPU (for more information, click here).
The Edit button allows to open the host configuration window.


8.3 NAMD calculation

NAMD is a parallel molecular dynamics code designed for high-performance simulation of large biomolecular systems. NAMD scales to hundreds of processors on high-end parallel platforms, as well as tens of processors on low-cost commodity clusters, and also runs on individual desktop and laptop computers. NAMD works with AMBER and CHARMM potential functions, parameters, and file formats (from J. of Compt. Chem. Vol. 26 (16), 1781-1802, 2005).
VEGA ZZ integrates in its environment the powerful capabilities of NAMD to perform molecular dynamics and energy minimizations in interactive mode. The graphic user interface allows to access to NAMD configuration in easy way and the 3D view permits to show the structural changes during the simulation by IMD interface (Interactive Molecular Dynamics). Through the included pre-settings, the users with a very basic knowledge of the MD theory can perform simulations and analyze the results as explained in the Trajectory analysis section.
Nevertheless, it's strongly recommended to consult the NAMD User Guide available at Theoretical and Computational Biophysics Group to understand better the MD concepts and the meaning of the parameter fields accessible by the graphic interface.
Selecting Calculate NAMD in the main menu or clicking the icon in the left toolbar, NAMD dialog window is shown.
Some information included in this manual section, are from NAMD User Guide.

 

8.3.1 Before to run a NAMD simulation

Before to start a NAMD calculation, the molecule that you want to undergo to the simulation must be prepared:

WARNING:
not all atom types are supported by NAMD: you can use CHARMM22_LIG (includes parameters for small molecules, proteins and nucleic acids), CHARMM22_LIPID (for lipids only), CHARMM22_NA (for nucleic acids only), CHARMM22_PROT (for proteins only) and OPLS. The CHARMM force field can be used only if you have the Accelrys' parm.prm file in the ...\VEGA ZZ\Data\Parameters directory that can't be included in the package for copyright reasons.

No special files are required to run the simulation (e.g. PDB and PSF files) because all needed ones are created by the interface.

 

8.3.2 NAMD interface basics

The interface is designed to remember the input fields/commands used in the standard NAMD input files: moving the mouse pointer over a field label a hint with the name of the NAMD command is shown.
Context menus are accessible making faster the page navigation:

 

Page popup menu

 

Clicking the right mouse button outside the page bars, the settings menu is shown:

 

Settings context menu

 

This menu allows to load (Load settings) or save (Save settings) the settings in standard NAMD configuration file format. Checking the Ignore file names, the commands having a file name as argument are ignored (this is useful to keep the file names in the dialog window). Selecting Default settings, all parameters are reverted to the default values.

 

8.3.3 Run modes and Interactive Molecular Dynamics (IMD)

The box at the top of NAMD dialog window allows to change the run mode and the IMD parameters:

 

Basic functions and Interactive Molecular Dynamics

 

The Run mode group set  how NAMD is started when the you click Run button:

In Interactive molecular dynamics box, checking Update graphics (correspondent to the IMDon NAMD command), you can enable the visualization of the structure changes in the 3D environment during the simulation. Frequency (IMDfreq) sets the graphic update frequency (e.g. 20 means that the graphic is updated every 20 simulation steps), TCP/IP port (IMDport) sets the communication port number between NAMD and VEGA ZZ. If the port is already in use by another application, its value is automatically increased until a free port is found. Checking Ignore forces (IMDignore), NAMD ignores the forces sent by the client application (VMD) for the steered molecular dynamics and checking Wait connection (IMDwait), NAMD stops itself in initialization phase until the connection with the client application is completed (VMD or VEGA ZZ).

 

8.3.4 Basic simulation parameters

In Calculation type box, you can choose to perform Conjugate gradients minimization, Velocity quenching minimization (not recommended) and Molecular dynamics.

 

8.3.4.1 Timestep parameters

 

8.3.4.2 Multiple timestep parameters

 

8.3.5 Input

In this page, you can set the input file name and the force field for the simulation.

 

Input

 

8.3.6 Output

This page allows to control the output parameters and the output file names.

 

Output

 

8.3.6.1 Output file parameters

 

8.3.7 Simulation space partitioning

Simulation space partitioning

 

8.3.8 Dynamics

Dynamics

 

8.3.9 PME - Particle Mesh Ewald

PME stands for Particle Mesh Ewald and is an efficient full electrostatics method for use with periodic boundary conditions. None of the parameters should affect energy conservation, although they may affect the accuracy of the results and momentum conservation.

 

PME - Particle Mesh Ewald

 

8.3.10 BC - Boundary Conditions

BC - Boundary Conditions

 

8.3.10.1 Spherical

NAMD provides spherical harmonic boundary conditions. These boundary conditions can consist of a single potential or a combination of two potentials. The following parameters are used to define these boundary conditions.

 

8.3.10.2 Cylindrical

NAMD provides cylindrical harmonic boundary conditions. These boundary conditions can consist of a single potential or a combination of two potentials. The following parameters are used to define these boundary conditions.

 

Cylindrical

 

8.3.10.3 Periodic

NAMD provides periodic boundary conditions in 1, 2 or 3 dimensions. The following parameters are used to define these boundary conditions.

 

Periodic

 

8.3.11 Constraints

Before to proceed with a constrained simulation, the constraint constants must be applied to the molecule. For more information, see the Atom constraints section.

 

Constraints

 

8.3.11.1 Harmonic constraints parameters

The following describes the parameters for the harmonic constraints feature of NAMD. Actually, this feature should be referred to as harmonic restraints rather than constraints, but for historical reasons the terminology of harmonic constraints has been carried over from X-PLOR. This feature allows a harmonic restraining force to be applied to any set of atoms in the simulation.

 

8.3.11.2 Fixed atoms parameters

Atoms may be held fixed during a simulation.

 

8.3.12 Temperature

Temperature

 

8.3.12.1 Langevin

NAMD is capable of performing Langevin dynamics, where additional damping and random forces are introduced to the system. This capability is based on that implemented in X-PLOR which is detailed in the X-PLOR User's Manual, although a different integrator is used.

 

8.3.12.2 Rescaling

NAMD allows equilibration of a system by means of temperature rescaling. Using this method, all of the velocities in the system are periodically rescaled so that the entire system is set to the desired temperature. The following parameters specify how often and to what temperature this rescaling is performed.

 

8.3.12.3 Coupling

NAMD is capable of performing temperature coupling, in which forces are added or reduced to simulate the coupling of the system to a heat bath of a specified temperature. This capability is based on that implemented in X-PLOR which is detailed in the X-PLOR User's Manual [7].

 

8.3.14.4 Reassignment

NAMD allows equilibration of a system by means of temperature reassignment. Using this method, all of the velocities in the system are periodically reassigned so that the entire system is set to the desired temperature. The following parameters specify how often and to what temperature this reassignment is performed.

 

8.3.13 Minimization

Minimization

 

8.3.13.1 Conjugate gradients parameters

The default minimizer uses a sophisticated conjugate gradient and line search algorithm with much better performance than the older velocity quenching method. The method of conjugate gradients is used to select successive search directions (starting with the initial gradient) which eliminate repeated minimization along the same directions. Along each direction, a minimum is first bracketed (rigorously bounded) and then converged upon by either a golden section search, or, when possible, a quadratically convergent method using gradient information.

 

8.3.13.2 Velocity quenching parameters

You can perform energy minimization using a simple quenching scheme. While this algorithm is not the most rapidly convergent, it is sufficient for most applications. There are only two parameters for minimization: one to activate minimization and another to specify the maximum movement of any atom.

 

8.3.14 Other

Other

 

In Other parameters box, you can put parameters not managed by graphic interface and TCL scripts. The Configurations box includes the gadgets to control the pre-settings: to configure NAMD, several commands can be involved and thus it could be useful to save the configuration more then one time. As explained in NAMD interface basics section, you can Load, Save and revert to Default configuration, pressing the buttons in the Configurations box or using the context menu. The Ignore file name checkbox has the same function of the homonymous item in the context menu: if it's checked, the fields containing file names aren't updated when the configuration is loaded, in order to preserve the names of the current molecule.
In the Presettings box, are shown the NAMD configuration files saved in the ...\VEGA ZZ\Data\NAMD directory with the .namd extension. They can be managed by the context menu displayed when you click with the right mouse button on a presetting in the list.

 

Menu item Description
Load Load the preset into the graphic interface
Save Save the preset to a new file.
Update Update the current preset with the new changes.
Edit Edit the preset in text mode (see the Mini Text Editor).
Rename Rename the preset.
Delete Delete the preset. A warning message is shown before proceeding.
Refresh list

Refresh the preset list. This function is useful if you added manually al preset file in the ...\VEGA ZZ\Data\NAMD directory and you want see it in the list without restarting VEGA ZZ.

 

8.3.15 Starting the simulation

Clicking Run button, the simulation starts: the PDB file is created with constraints parameters if required, the PSF topology file is built and the NAMD command file as generated by the data fitted in the graphic interface fields. All files are saved in the directory in which the current molecule is loaded or saved.
Before to run NAMD, VEGA ZZ performs an extra check to verify if all parameters are included in the force field data (the files are placed in ...\VEGA ZZ\Data\Parameters directory). It may be possible, especially for the small molecules, that certain parameters (bonds, angles, torsions, impropers) are missing and the Missing parameter table is shown. Thanks to this table, you can put the required parameters.

 


8.4 Mopac calculation

Through this dialog window, you can run Mopac semi-empirical calculations. Press Run button to start the calculation using the Mopac executables included in the standard VEGA ZZ package. If you want to use another Mopac version, you must replace the included executables placed in the VEGA ZZ installation directory (usually ...\VEGA ZZ\Bin\Win32). The Input field is automatically filled by VEGA ZZ with the full file name of the input file that will be created to run Mopac. In the same directory, Mopac will generate the output files that will be automatically removed if Remove output files is checked. If you want to place the output in another directory, you can change the Input field by clicking the disk button or by typing manually the file name with full path.
Mopac runs in background and VEGA ZZ remains fully functional. When the calculation ends without errors, the optimized structure is automatically loaded. To abort a calculation, you can use the Task Manager or select Stop calculation in the context menu shown by clicking on the workspace.
Checking Update the 3D view, available only if Mopac2007/2009/2012 is installed, the molecule structure is automatically updated during the calculation and the progress is shown in the console (step number, energy and gradient).
Checking Normalize the coordinates, the molecule is translated at the origin of Cartesian axis when the calculation is finished. Finally, Default button allows to revert to pre-defined settings.

Checking Use atom constraints, available only if Mopac2007/2009/2012 is installed, you can fix some atoms that aren't moved during the optimization. To apply the atom constraints, you can use the Constraint options dialog box.

 

Mopac calculation

 

8.4.1  Parameter fields

By these fields, you can specify the type of calculation (AM1, MINDO/3, MNDO, PM3; MNDOD, PM6, RM1 if Mopac2007 is installed, MOZYME, MOZYME RAPID, if Mopac2009 is installed and PM7, PM7-TS, if Mopac2012 is installed), the total charge (if the pre-calculated charge is wrong) and the extra keywords (Other field). The default parameter is AM1 and the total charge that is calculated using the atomic partial charges if they are already assigned, otherwise is calculated by recognition of charge groups. It can be possible that the molecule could have wrong or incomplete atomic charges and so a wrong value is shown. To force the group-based total charge calculation, you can click  Calc. button.
When Mopac2007/2009/2012 is installed, it's automatically recognized and the graphic interface adapts itself to the new features (e.g. PM6, RM1 etc). Mopac2007 or greater isn't included in the VEGA ZZ package and it can be installed following these steps.

 

8.4.2 Switches

They are the main switches for Mopac calculation. To understand what they mean, please read the Mopac Manual.

Switch Description
Precise Increase the criteria for terminating all optimizations by a factor, normally 100.
GEO-OK Override some safety checks (e.g. in the structure geometry).
MMOK Use the molecular mechanics correction for the amidic bonds (CONH). It can be automatically switched on if an amidic bond is detected.
1SCF Do a single point energy calculation.

 

8.4.3 Limits

VEGA ZZ includes two versions of Mopac 7.01-4: Mopac_50_100.exe (max 50 heavy atoms and max 100 hydrogens) and Mopac_100_200.exe  (max 100 heavy atoms and max 200 hydrogens). The two executables are selected automatically by VEGA ZZ  for a balanced use of the hardware resources. No more than 300 atoms (100 heavy atoms + 200 hydrogens) can be used by VEGA ZZ in Mopac calculations. These limits can be superseded installing Mopac2007 or greater (for more information, click here).

 


8.5 Surface calculation

VEGA ZZ can calculate and display some types of molecular surface. It's possible to display some local molecular properties like hydropathicity, lypophilicity, volume, molecular charges, etc.
VEGA ZZ uses two methods to generate the surfaces. For dotted  surfaces, it uses the fast double cubic lattice method implemented in the NSC approach (F. Eisenhaber, P. Lijnzaad, P. Argos, C. Sander, and M. Scharf, J. Comput. Chem, Vol. 16 N3, 273-284, 1995). For solid and mesh surfaces, it uses a method named marching cubes implemented in the source code provided by Paul Bourke (for more information, click here) and it's based on the surface facet approximation to an isosurface through a scalar field sampled on a rectangular 3D grid.
The surface properties (DEEP, ILM,  MEP, MLP and PSA) are calculated for each dot with the appropriate algorithm.

The DEEP algorithm is very simple: for each dot is calculated its distance from the geometric center of the molecule. This property is useful to color the surface by gradient in order to highlight the deep pockets and the cavities of the molecule.  

The ILM method is based on the principle that at equilibrium the solvent molecules will be more probably found near the hydrophilic regions of the solute, while they will be repelled by the more hydrophobic moieties. The method allows the calculation of a global hydropathicity index (ILM) and this property can be also projected on the molecular surface, giving rise to a very detailed local hydropathicity mapping. The computational steps required for the ILM calculation are:

 

1) solvation of the molecule using a water cluster (see the solvent cluster section);
2) molecular dynamics (T= 300K, time step = 1 fs). The simulation length is must be tuned on the basis of the system complexity;
3) ILM calculation.

 

The equation used to calculate the ILM property is:

 

 ILM equation

 

where: dij is the distance between the the solute atom i and the mass center of the water molecule j, na is the number of the solute atoms and ns is the number of water molecules (A. Pedretti, A.M. Villa, L. Villa, G. Vistoli, Internet Journal of Chemistry, Vol. 45 (7), Art. 13, 2000).

The Molecular Electrostatic Potential (MEP) surface is calculated projecting the atomic charges on the molecule surface. The value of each i surface dot is calculated by the following equation:

 

MEP equation

Where:
Vi   =  projected value on the i surface dot.
Qj   =  partial charge of the j atom.
dij   =  distance between the i dot and j atom.

The Molecular Lipophilicity Potential (MLP) is calculated projecting the Broto-Moreau lipophilicity atomic constants on the molecular surface (P. Gaillard, P.A. Carrupt, B. Testa,  A. Boudon, J. C.A.M.D., Vol. 8, 83, 1994).

The Polar Surface Area (PSA) is calculated considering polar and apolar atom surfaces. Apolar atoms are C and H bonded to C. Polar atoms are O, S, N, P and H not bonded to C. These properties are projected on the surfaces using two color codes: blue (apolar surface) and red (polar surface).

 

8.5.1 Surface management

NewTo manage surfaces, you must select Calculate Surface Calculate in main menu. VEGA ZZ can manage more than one surface with independent properties and visualization parameters. The first box at top is the list of surfaces in the current workspace. There are no limits of surface dimensions, number of dots and number of surfaces. By the context menu, you can perform basic operations  as show/hide, rename and remove the surfaces. If you want to apply any change to more than one surface, a multiple selection is required and it must be done holding down shift or control (Ctrl) keys when you click the list. The six buttons below the surface list allow to remove a single surface (Remove) or all surfaces (Remove all), to show or hide all surfaces at once (Show all and Hide all), to load or save surface files (Load and Save). The surfaces file format writable by VEGA ZZ are: Comma Separated Values (*.csv), IFF (*.iff), Insight (*.srf), Quanta (*.srf) and Raw binary (*.raw). You must remember that to load a surface, you could use also File Open main menu item and when you save the molecule in IFF format, all surfaces are saved in the same fie too.
Another way to switch between show/hide status is to double click the surface in the list. 
Drag & dropping the items in the list, you change not only the surface order but also the rendering sequence. If you have two transparent surfaces of the same molecule, one inside the other, the inner one must rendered at first time and thus it must be in the first position of the list in order to respect the OpenGL priorities. 

 

8.5.1 Surface calculation

In New tab of Surface management window, there are the controls to calculate a new surface. In the top-right box, you can choose the shape type (Dots, Mesh and Solid), the Type of surface (see the following table), the probe radius (Probe Rad. field) and the surface dot density (Density field). This last field could be replaced by Mesh size, if you select Mesh or Solid surface shape. The probe radius can't be changed for all surface property types. 

Type Description Probe Rad.
VdW Van der Waals
Surface accessible to solvent
Yes
DEEP Deep surface Yes
MEP Molecular Electrostatic Potential No
MLP Molecular Lypophilic Potential No
ILM Hydropathicity profile
(a water cluster is needed)
No
PSA Polar Surface Area Yes

Checking Consider selected atoms only, it's possible calculate the surface of visible atoms only. After the surface calculation, in the console, you can read the area in Ų and the range of values assigned to each point. If you want to color the surface by property using a color gradient, you must check the Color by gradient option (see the surface gradient section).

 

Dotted surface    Dotted surface
Mesh surface Mesh surface
Solid surface Solid surface
Multiple solid sufaces MEP solid surface

 

8.5.2 Surface color

ColorThe Color tab of Surface management window allows to change surface color. The surface can be colored by Atom, Residue, Chain, Segment, Molecule and Surface number, using the same color codes applied to atoms. Selecting Custom as color method, you can choose the color for the surface. Click Apply button to change the surface color.

   

Color by atom    Color by atom
Color by residue Color by residue
Color by chain Color by chain
Color by segment Color by segment

 

8.5.3 Surface transparency

TransparencyIn Transparency tab ,you can enable/disable the surface transparency and its intensity (0 = full transparent, 255 = full opaque). The default value is 128. The Use OpenGL list checkbox enables the use of OpenGL list for faster surface rendering, but the feed-back speed go down (e.g. changing the color, the transparency, etc). This rendering mode isn't required if you have an high-end OpenGL graphic card. If your graphic card is OpenGL 1.5 compliant, this label is changed to Use vertex buffer and it's automatically enabled at the first VEGA ZZ run. This rendering mode stores the surface in the high speed memory of the graphic card increasing dramatically the rendering speed (at least 2 time faster).
By the Dot size slider you can change the dot size of a dotted surface. When you select values greater than four, the dots are converted to small spheres.

 

Transparent surface    Transparent surface
Dotted surface with small spheres Dotted surface with small spheres

 

8.5.4 Surface gradient

GradientWhen you calculate a surface property (DEEP, ILM, MEP, MLP and PSA), you can color each dot by a color ramp (gradient) in which the first color and the last colors are the boundaries of the property range.  In Gradient tab, you can set the number of color nodes defining the gradient (from 2 to 6). They can be changed by color mixer, clicking the small boxes above the gradient bar. The color nodes can be shifted to left or right clicking < and > buttons. Activating the context menu (use the right mouse button on the gradient bar), you cant perform the same operation selecting Shift left and Shift right. Invert inverts the order of the color nodes from left right to right left. The Preset submenu contains the preset color gradients saved in ...\VEGA ZZ\Config\glgrad file (click here for more information about the file format).
Auto range checkbox indicates to VEGA ZZ to assign the boundaries of the property range to the extremities of the color gradient. If you want surfaces with comparable color ramps, you must disable this function and specify manually the property range that must be equal for all surfaces. In this way, dots with same colors of different surfaces have the same property value. Fill range button helps you to define manually the property range filling the range with the highest and the lowest property values. This is the same operation performed when Auto range is checked but in this way you can adjust the range. Apply button applies the gradient to the surfaces selected in the list. The gradient is automatically used if Color by gradient is checked in New tab when you calculate a new surface (see the surface calculation section).

 

8.5.5 Default settings

SettingsIn Settings tab, you can change the default settings used when you calculate a new surface. You can preset the surface color, the use of the OpenGL lists or the vertex buffer (see above), the surface transparency, the transparency value and the surface dot size. To revert to the pre-defined parameters, you must click Default.

 


8.6 Trajectory analysis

VEGA ZZ can analyze trajectory files of MD simulations, displaying the results by a 2D/3D/4D graphical representation. To analyze a MD trajectory, as first step, you must open the starting molecule structure, selecting the File Open item of the main menu. Furthermore, you must open the analysis dialog, by clicking on Calculate Analysis and on Open button to select the trajectory file or dragging the file over the trajectory analysis window and dropping it. At this time, the Accelrys archive, AutoDock 4 DLG, AutoDock Vina PDBQT multi-model, BioDock 3.0, CHARMM/NAMD .dcd (little and big endian), CIF multi-model, ESCHER NG, Gromacs TRR. Gromacs XTC, IFF/RIFF, MDL Mol multi-model, Tripos Mol2 multi-model, PDB multi-model and Quanta conformational search .csr formats are accepted and the file size limit is 16 Exabytes (17.179.869.184 Gb, for more information see the FAQ section).

 

You can open a trajectory file in several ways:

  1. As a normal molecule by clicking File Open menu item, double clicking in Explorer and performing drag & drop, but it's possible only if the trajectory format includes the molecule data (e.g. ARC, CIF, IFF, PDB, MDL and Mol2) or the correspondent molecule file is in the same path and has the same name of the trajectory (e.g. AutoDock DLG, BioDock, CSR, DCD, GRAMM, ESCHER, Mol2 multimodel, PDB multimodel, TRR and XTC).
  2. You can open the molecule file and thus in a second time the trajectory file by the trajectory analysis window. This second method allows you to open trajectories with a name (prefix) different from that of the molecule file.
  3. You can open other molecular objects but only AFTER that you opened the trajectory.


Trajectory
file
Tarjectory analysis Operations
Information
about the
simulation
Output file

Buttons
 

  

 

 
8.6.1 Selection

In Selection tab, you can select a specific conformation, putting the frame number or pressing First, Last and Lowest buttons (lowest means: the lowest energy conformation), or dragging the horizontal slider. The Energy Graph button opens the Graph editor showing the potential energy trace. If Show frame is checked, the frame number and the total number of frames are shown in the workspace.


8.6.2 Calculation

Selecting this tab, you can calculate some properties for each conformation stored in the trajectory. You can show the results in the Graph editor or you can save them to an output file (Show Plot checkbox).

 

Calculation tab

 

Checking Exclude invisible atoms, you can exclude the unselected (invisible) atoms from the calculations. The invisible atoms are totally ignored and the visible atoms are considered as a whole molecule. This option is useful when you want to calculate the solute area in a solvent cluster: unselecting the solvent, its contribute in the surface calculation is totally ignored.
Checking Consider selected atoms only, you can calculate properties considering the visible atoms only. In the case of the surface area, the unselected (invisible) atoms are considered to compute the overlap of the Van der Waals spheres, but not in the area evaluation. In other words, the area obtained enabling this option is lower than the Exclude invisible atoms because the contribution of the overlapped zones is subtracted. The Consider selected atoms only is useful when you want calculate the surface of a protein domain or a substructure in a generic molecule.
The calculable properties are: dipole moment, gyration radius, molecular lypophilicity (MLP), molecular lypophilicity index (ILM, water cluster required), lipole (Broto & Moreau), lipole (Ghoose & Crippen), ovality, polar surface area (PSA), root mean square deviation (RMSD, RMSD with H, RMSD alignment, RMSD alignment with H, RMSD with symmetry correction and RMSD with symmetry correction with hydrogens), surface area, surface diameter, volume and volume diameter (for more information, click here). For the surface properties, you can specify the probe radius (e.g. for the solvent accessible surface) and the dot density; for the volume properties you can put only the dot density. Higher values of dot density, give more precise results, but require more CPU time. Check Show plot to show the results in Graph editor.
The Advanced button is enabled when you select the RMSD calculation. Clicking it, a dialog window is shown in which it's possible to change the RMSD options:

 

RMSD advanced options

 

In this window, you can select the reference structure (set of coordinates) used in RMSD calculations. It can be a specific trajectory frame (default 1), the previous frame and a molecule file. Please remember that this file must be compatible with the molecule used for the molecular dynamics simulation and, in other words, it must be the same molecule. Previous frame RMSD type is useful to measure the RMSD between subsequent frames and implicitly the velocity of the molecule movements (remember that the time step is constant during the simulation).


8.6.3 Measure

In this tab, you can measure some geometric properties as distance, angle, torsion (dihedral angle) and angle between two planes (plane angle).

 

Measure tab

 

In the list box, you must choose the geometric property that must defined by Selection Tool clicking Edit. To perform the calculation, you must press Ok button.


8.6.4 Cluster analysis

Selecting Cluster tab, it's possible to perform the cluster analysis of the conformations on the basis of coordinates or torsions.

 

Cluster analysis

 

Three cluster methods are available: Torsion, Torsion RMS and Coordinates. The first two methods require to select torsions by Selection Tool, clicking the Edit torsion button. The torsions are listed by name (Torsion column) and torsion steps (Steps column) and they can be included or excluded checking or unchecking them. The context menu allow to un/check all torsions (Check all, Uncheck all), to un/check all selected torsions (Check selected, Uncheck selected) and to un/select all torsions (Select all, Unselect all). If the clustering method is Torsion, it's possible to change the steps in which the 360° angle is subdivided (e.g. 6 means clusters of 0, 60, 120, 180, 240, 300 degrees for each torsion angle), selecting one or more torsions in the list and changing the value in the Steps field.
If the clustering method is Torsion RMSD or Coordinates, RMSD field is enabled, but the meaning is much different: for the former, RMSD is the root mean square deviation in degrees between torsion values of two conformations, and for the latter, it's the root mean square deviation in Å between atom coordinates of two conformations.
Checking Save energy, a .ene file in CSV format is saved using the clustered trajectory as base name. The format of the CSV file is:

CLUSTER_NUMBER; ENERGY; CLUTERED_CONFORMATIONS; TORSTEP_1; TORSTEP_2; TORSETP_N

 

where:

CLUSTER_NUMBER Cluster number (ID) from 1 to N, where N is the total number of clusters.
ENERGY Energy of the best conformer in the cluster.
CLUTERED_CONFORMATIONS Number of conformations classified in the cluster.
TORSTEP_1
TORSTEP_2
...
TORSTEP_N
Torsion step defining the cluster. If the torsion steps are 6, and the step of the first torsion is 0, it means that the conformation in the cluster have the first torsion in the range form 0 to 60 degrees (e.g. 3 in the 180 to 240 range). These fields are available for the Torsion method only.

Checking Active atom only, the active (visible) atoms only are considered in the cluster analysis and checking Sort by energy, the resulting clusters are sorted by energy (from the lowest to the higher).
Clicking Ok, Save trajectory file requester is shown in which it's possible to change the name and the format of the clustered trajectory.

 

WARNING:
It's impossible to perform the cluster analysis if each conformation has a unknown energy. It means that you must have a file containing the energies (e.g. the .ene file generated by the AMMP conformational search, the NAMD output file, etc). Quanta/CHARMM .csr format is the only one that contains the energies of each conformation.
If the energies are inaccessible, the Ok button is disabled. 

 

8.6.5 Animation

This tab controls the molecule animation based on the trajectory file.

 

Animation tab

 

You can Start and Stop the animation, change the animation Speed, Skip Frames, activate the animation Loop, set the Start and the End of the animation. Press the Undo button to jump at the beginning or at the end of the trajectory.


8.7 Molecular similarity

In order to analyze the similarity between molecules, VEGA ZZ can superimpose them and calculate the RMS (Root Mean Square) value. This function is available choosing Calculate Similarity in the main menu.

 

Molecular similarity

 

To superimpose two molecules, you must click at least three atom pairs. Remember that the source molecule is moved on the target molecule and the source is defined at first atom click. If you want swap the source with the target, you must click Swap button. To remove a single pair, you must select it in the list and than click the Remove button. To restart the selection of the atom pairs, you must click the New button. To perform the superimposition of the two molecules, you must click the Superimpose button and to revert the source molecule to the starting position after the superimposition, use the undo function.
When you perform the superimposition, the RMS value is reported in the VEGA ZZ console.

 

 

8.7.1 The context menu

Clicking the right mouse button on the selection list, the context menu is shown. New, Remove and Swap have the same functions of the correspondent buttons and Selection sub-menu allows to do automatic selections without to click the atom pairs. Use All pairs to select all possible atom pairs. This feature is useful to compare conformers each other, because they are the same molecule. Similar pairs allows to select atom pairs that have atom name similar to highlighted pair. This is useful to select the backbone of a protein.

Checking Active only, you can automatically select the atom pairs of active/visible atoms only and you can also define the search direction along the atom list by checking Ascending, Descending and Both in Direction sub-menu.

 



8.8 Selection Tool

By this dialog box, you can select atoms, bonds, distances, angles, torsions and angles between two planes to perform a calculation. In Selection Tool,  you can compile the atom list using the atom name, residue name, residue number format or the simple atom number.
As first step, choose the selection type (Distance, Bond, Angle, Torsion, Plane Angle, Multiple). The Multiple selection is needed if you want select one or more atoms without a geometric relation and it will be useful in the next VEGA ZZ releases.

 

Selection tool

 

At this step, press Add and automatically a default name will be shown. If you want rename it, just type in Name field.

 

New distance

 

Select the first atom clicking it in the main window.

 

Selection tool

 

To add the next atoms, repeat the atom selection.

 

Selection tool

 

To remove an atom, click the atom in the list and press Remove in the right box. To change the order of atoms in the list, use the Up and Down buttons. To remove a whole selection, press Remove in the left box (Selections box) and to remove all selections at once, click New button.
The Open and Save buttons can be used to load and save the selections to a .sel file. For more information about this file format, click here.

 

Context menu

 

The context and Edit menus allow to add automatically torsions:

Menu item Submenu Description
Add torsions All Add all possible torsions.
AutoDock Add the torsions needed by AutoDock to perform the "in situ" conformational search.
Flexible

Add the flexible torsions only. This feature is very useful to perform a conformational search.

Add protein torsions Omega Add omega torsions.
Phi Add phi torsions.
Psi Add psi torsions.

To remove all selections, select Remove all in the Edit menu.

 


8.9 Evaluation of the interactions (docking score analysis)

In order to analyze the docking results, you can calculate the interaction energy between a ligand and a biomacromolecule, evaluating the contributes of each residue that can be shown in the graphic environment. This function is available by choosing Calculate Interactions from the main menu.
To calculate one or more docking scores, you must select the ligand, typing its molecule number in the Ligand field or clicking on the ligand in the main window.

 

Evaluation of the interactions

 

The Dielectric (dielectric constant) parameter is used in the electrostatic energy evaluation only (Electrostatic and Electrostatic distance dependent) and the Cutoff  field defines the maximum distance between an atom pair over which the contribution is discarded.  You can select more than one or scoring functions as shown in the following table:

Scoring function Description
CHARMM R6-R12 R6-R12 non-bond interaction evaluated by CHARMM 22 force field provided by Accelrys. To perform this calculation, the parm.prm file must be copied in the ...\VEGA ZZ\Data\Parameters directory. This file is not included in the package for copyright reasons.
CHARMM 22 R6-R12 R6-R12 non-bond interaction evaluated by CHARMM 22 force field.
CHARMM 36 R6-R12 R6-R12 non-bond interaction evaluated by CHARMM 36 force field.
CONTACTS The scores are evaluated by counting the number of ligand/receptor contacts and by normalizing it by the number of heavy atoms and the mass of the ligand. Moreover, if the receptor is a protein, it generates an interaction fingerprint with a size of 20 bits (one bit for each amino acid type) and a contact map in which the number of contacts per amino acid type is reported. To determine if there is a contact between a pair of atoms, the distance between the two centres is calculated and if it is less than 2.5 Å, then there is a contact. This threshold value can be changed in the Preferences window.
CVFF R6-R12 R6-R12 non-bond interaction evaluated by CVFF force field.
Electrostatic Electrostatic interaction.
Electrostatic distance dependent Distance-dependent electrostatic interaction.
MLPInS Hydrophobic interaction calculated using the Broto's and Moreau's atomic constants.
MLPInS square distance Hydrophobic interaction in which the distance between interacting atom pairs is considered as square value.
MLPInS cubic distance Hydrophobic interaction in which the distance between interacting atom pairs is considered as cube value.
MLPInS Fermi's equation Hydrophobic interaction in which the distance is evaluated by the Fermi's equation.

For more information about MLPInS, click here.

 

Checking Best residues, the residues with a partial interaction energy greater than Threshold (%) of the total energy are shown in graphic window.  If more than one scoring function is selected, it will be impossible to show the best interacting residues in the main window. Checking Worse residues, the residues with the worse energy contribution are shown. Checking Consider selected atoms only, the active (visible) atoms are considered only in the calculation and checking Copy the results to clipboard, the evaluated energies are copied to clipboard. This feature is useful to paste the results to a spreadsheet (e.g. Microsoft Excel) to elaborate them.
Your can modify the visualization choosing the colouring method (Ligand by atom, By molecule, By residue and By residue energy) and which residues to show (LigandBest residues, Worse residues and Water molecules).

An output example is shown below:

Interactions   Cyan = best residues
  Red = worst residues
  Green = ligand

 

WARNING:
To evaluate the interaction energy, you must follow these rules:


9.1 Open/create a database

By this file requester, you can open a pre-existing database and/or create a new database that can be managed by Database explorer tool in order to put, get, update, rename and delete the molecules.
To open the dialog, you must select File Database Open item of main menu or click the Open button in the Database explorer window.

 

Open database/s

 

This file requester allows multiple selections to open more than one database at the same time.
The New database box is for the creation of a new empty database, specifying the database format (Access, Directory, Mol2, SDF file, SMILES, SQLite, Zip) the default molecule format type and the compression (None, BZip2, GZip, Z Compress), and if the connectivity and the constraints will be included in the file format. Putting the database file name in File name field and clicking Create button, the database will be created. To open the new database, you must click Open button.
Clicking Open button, the dialog will be closed and the Database explorer window will be shown.

Remember that Access and SD databases don't allow the selection of the default molecule format and its properties. The other database formats stores the default parameters in the database.dat file. This is an ASCII file that, at this time, contains two tags. The #DBASEINFO tag is placed as first line. This is used by VEGA ZZ to recognize the file and to detect its version. The second tag is #MOLFORMAT. It includes four arguments: molecule format, compression type, connectivity and constraints flags (boolean values).

 

9.1.1 Database download

If you need a molecule database and don't have the time to build it, you can download it from some Web site that allow the free access to their libraries:

You can download manually the whole databases or the subsets, but the VEGA ZZ package includes some scripts to do it in automatic way. These scripts are in the ...\VEGA ZZ\Data\Database\Download directory and can have the .cmd. Each script is able to download and build the database in SDF format. The output file is placed in the ...\VEGA ZZ\Data\Databases directory.

 

WARNING:
There are huge databases (as ZINC - All Purchasable, ZINC - Everything) which size is about 35-40 Gb. For this reason, check the free disk space before to run the download scripts. To process correctly these large databases about 60 Gb are required.

 


9.2 Database explorer

The Database explorer is a tool to manage molecular databases, allowing some basic operations that can be classified in two main groups: the database operations (open, synchronize, close and close all) and molecule management functions (find, get, put, remove, rename and update). These functions are accessible by buttons and popup menus.
 

9.2.1 Usage

The Database explorer is shown automatically when a database is opened by Open/create file requester or selecting File Database Explorer in main menu. Its window is full resizable and the Database and Molecule boxes are resizable inside the window also.

 

Database explorer

 

9.2.1.1 Database management

The left box shows the gadgets to manage the database: Database list to select the current database, Open button to open/create a database, Close button to close the selected database and Close all button to close all databases.  The user can also open the database by drag & drop operations: drop one or more database files over the Database box to open them. Clicking with the right mouse button on the database items, a popup menu is shown: it replicates the button functions (Open, Close and Close all) and includes the Synchronize item that allows to synchronize the large databases (LDB, see below).

 

9.2.1.2 Molecule extraction

The right box includes all controls to manage the molecules. To extract a structure from the database, you must select one or more molecules in Molecule list (multiple selections are allowed), choose  Get mode to add/replace the molecule in the current workspace or to place the molecule in a new workspace, and finally click Get button. To do the same operation, you can double click the molecule name or use the popup menu or hit the return key. Next and Previous buttons are useful to scan the database, because allow to get sequentially the structures from the database.

 

9.2.1.3 2D preview

Expanding the window, clicking the vertical button on the right side ( > ), the 2D structure is shown before the extraction from the database.

 

2D preview

 

Showing the context menu of the preview area, you can copy the 2D sketch to the clipboard in vector format, or print. The 2D preview is not available if the database doesn't include the SMILES field or is not in SDF format.

 

9.2.1.4 Inserting molecules into the database

To insert a molecule into the database, you must open its structure in the current workspace, thus click Put button: a dialog box is shown to edit the molecule name. Clicking Ok button, the molecule is added to the database using the default parameters (molecule format, compression, connectivity and constraints) defined when the database is created. Alternatively, you can drag & drop one or more molecule files on the Molecule box to add them without opening in the current workspace. Moreover, it's possible to copy one or more molecules from a database to another one, just dragging & dropping the molecules from the Molecule box to a previously opened database shown in Database box. Dragging & dropping a database over another one, all molecules are copied to the destination database. During the copy operation, the progress bar is shown at the bottom of VEGA ZZ main window. If you want to stop this operation, you can click Abort button at the right of the progress bar.
When you insert or update molecules, they can activate the pre-processing functions that allow to:

To enable/disable or set the parameters of these features, you must expand the Database explorer window, clicking the slim > button on the right of the window.

 

Pre-processing options 1

 

In Option 1 tab, you control the 2D to 3D conversion (2D to 3D box): you can disable (Never), enable (Always), enable if needed (When needed) this feature. In last case, the conversion to 3D is performed only if the starting structure is 2D and if the molecule is already in 3D, the conversion is skipped. In the 2D to 3D conversion, is strongly recommended to perform the energy minimization.
Add hydrogens box allows to disable (Never), enable (Always), enable if needed (When needed) the addition of missing hydrogens. When needed adds the hydrogens only if they are really missing. The best algorithm is automatically selected on the basis of molecule type (protein, nucleic acid and generic organic molecule). For more information about the method to add the hydrogens, click here.

In Generate tautomers box, you can disable (None) or enable the tautomer generation with two different algorithms: 1) based on the InChI string (InChI based option); 2) based on reaction templates (Reaction SMARTS templates option).

Checking Generate geometric isomers and/or Generate stereoisomers, you can activate the automatic build respectively of all possible geometric- and stereo- isomers.

If you have to change the ionization state of the molecule, you must check Ionize, thus you can specify the pH at which you want to ionize the molecule and the tolerance (Tol., in pH units) used to establish which protonation state is largely present (for more information, click here).

 


Pre-processing options 2

 

In Options 2 tab, you can find the Minimization box in which you can control the parameters for the energy minimization phase: checking Do steepest descent, the steepest descent minimization is performed for the specified number of Steps or until the gradient is not satisfied (Toler value). In the same way, clicking Do conjugate gradients, you can enable the conjugate gradients minimization that will be stopped satisfying the number of Steps or the gradient (Toler). Checking Remove counterions & waters, the counterions and water molecules are removed, while checking  Keep only the largest molecule, if the workspace includes more than one molecule, only the largest one is kept. The size of the molecule is calculated counting the number of heavy atoms. Moreover, if the atomic charges are uncertain, you can force their assignment checking Force charge assignment.

Clicking Normalize the coordinates, the molecule is translated at the origin of the Cartesian axis. Clicking Fix bond order, the bond types are changed by valence saturation (e.g. the alternate single-double bonds in aromatic rings are converted to partial double bonds).
If you need to revert to default parameters, click Default button.

 

9.2.1.5 Editing the raw data

When you put a molecule in the database, some molecular descriptors are calculated and it's possible to view and edit them by Edit tab.

 

 

To apply the changes, just press return key or click Apply button. VEGA ZZ can manage user-defined fields (e.g. activity, experimental data, etc), but they must be added by SQL commands or by database interface (e.g. Microsoft Access).

You can add new fields or update the existing ones by Paste col. button and also this function works only with SQL databases. The clipboard must contain data in text format in which the columns are separated by a single tab character and the rows by a single line feed. The first line must include the column/ field name and the number of rows must be the same of the number of molecules in the database. The data type and the field size are automatically detected and if the column is already present in the database, the pre-existing rows are updated with those of the clipboard.

The new field can be changed by clicking with the right mouse button on the field, showing the context menu:

Menu item Description
Rename Rename the field/column.
Delete Remove the field/column.

WARNING:

You cannot edit the pre-defined of a SQL database.

 

9.2.1.6 Reports

The Reports tab allows to create a report of a whole database or a filtered subset (see below). There are some pre-defined reports that can be modified by the user in easy way (...\VEGA ZZ\Data\Databases\Reports directory).

 

 Reports

 

Click Save to save the report.

 

9.2.1.7 Filtering a database

Databases containing millions of molecules are very hard to manage. For this reason, a function to filter/query a database was implemented. This function is more sophisticated than the Find feature (see the next section), because it allows to filter molecules on the basis of chemical-physical properties, composition and so on. It's available only for SQL databases (e.g. Access, SQLite, MySQL, ODBC, etc), because it requires some pre-calculated properties that aren't supported in other database formats such as SDF and Zip. To open Database SQL filter window, click Filer button:

 

Database SQL filter

 

In Filter tab, it's possible to compose the query in easy way. In particular, you can select the property to filter clicking in the Fields column. There are some pre-calculated properties:

Field Type Description
Angles I Number of angles.
Atoms I Number of atoms.
Bonds I Number of bonds.
Charge F Total charge.
ChiralAtms I Number of chiral atoms.
Description S Molecule description.
Dipole F Dipole moment (Debye)
EzBonds I Number of bonds with E/Z geometry.
FlexTorsions I Number of flexible torsion angles. In other words, it's the number of rotable bonds.
Formula S Molecular formula.
FuncGroups S Functional group list. The string has the following format (for internal use):
NUM_1 GRP_1 NUM_2 GRP_2 ... NUM_N GRP_N

where NUM is the number of functional groups of kind GRP. The functional groups are detected by the GROUPS.tem ATDL template (see the Data directory), as shown in the following table:

 

Group Description
COOH Carboxylic acid.
COOR Ester.
CHO Aldheyde.
CON2 Urea.
CON Amide.
OCOO Carbonate.
COCl Acyl chloride.
COBr Acyl bromide.
CNH Aldimine.
CNR Imine.
CO Ketone.
OCN Cyanate.
NCO Isocyanate.
NCS Tiocyanate.
CN Nitrile.
N1 Primary amine.
N2 Secondary amine.
N3 Tertiary amine.
N+ Ammonium salt.
NP Aromatic planar nitrogen.
NO3 Nitrate.
NO2 Nitrite.
NNN Azide.
NO Nitrose.
NC Isocyanide.
OH2 Water.
OH Alchol.
PhOH Phenol.
OR2 Ether.
2O2 Peroxyde.
SO3H Sulfonic acid.
SO2 Sulfone.
SO Sulfoxide.
SH Thiol.
SR2 Thioether.
2S2 Disulfide.
PO4 Phosphate
P3 Phospine.
F Fluoride.
Cl Chloride.
Br Bromide.
I Iodide.

 

When you click this field, the list of the functional groups is automatically enabled to build the query in easy way.

GroupID I Group identification number. The molecules in a database can be grouped and each group has a unique identification number.
Gyrrad F Gyration radius (Å).
HbAcc I Number of H-bond acceptor atoms.
HbDon I Number of H-bond donor atoms.
HeavyAtoms I Number of heavy atoms.
ID I Molecule identification number (primary key).
Impropers I Number of improper angles (out of plane).
Inchi S InChI string.
Lipole F Lipole (lipophilicity moment).
Mass F Molecular weight (Daltons).
Molecules I Number of molecules.
Name S Name of the molecule.
Ovality F Ovality (Å).
Psa F Polar surface area (Ų).
Rings I Number of rings in the molecule.
Sas F Solvent accessible surface (Ų).
Sav F Solvent accessible volume (ų).
Sdiam F Surface diameter (Å).
Smiles T Smiles string.
Surface F Molecular surface (Ų).
Torsions I Number of torsion angles.
Vdiam F Volume diameter (Å).
VirtualLogP F Virtual logP.
Volume F Molecular volume (ų).

where the Type column indicates field type: F = floating point number, I = integer number, S = character string.

More properties can be added by the user through SQL operations or by other software. They will be automatically available in the Fields column. After the selection of the property to filter, you can select the operator, put the value and click the Add button: the expression will be added to the Conditions column. There are some pre-defined operators:

 

Operator Description
= Equal.
<> Not equal.
< Less than.
> More than.
<= Less than or equal.
>= More than or equal.
GLOB This operator allows the pattern matching using the same syntax of the Unix shell:
 
Expression Description
* Wildcard character: it represents any string in the pattern.
? It means any single character.
[ ] It's a range of characters. Example:
[a-b]*

The first character must be in the a-b range and the reminder of the string can be any character.

 

NOT GLOB Not glob (see above).
LIKE Same function of GLOB, but it's possible to use the SQL expressions:
 
Expression Description
% Wildcard character: it represents any string in the pattern. It's equivalent to * of DOS pattern matching.
_ It means any single character (equivalent to ? of DOS).

 

NOT LIKE Not like (see above).
REGEXP Same function of GLOB, but it's possible to use the regular expressions (RegExp). For more information, see http://www.regular-expressions.info/.
NOT REGEXP Not RegExp (see above).
IS NULL The field must be empty.
NOT IS NULL The field mustn't be empty.

 

You can add more than one condition that are related each other by the AND logical operator. If you want edit a pre-entered condition, click it in the Conditions column and change the value and/or the operator. If you want remove a condition, click it and press the Remove button.

 

In the Similarity tab, it's possible to filter the molecules on the basis of their similarity with the structure in the current workspace. The implemented approach is based on the comparison of the fingerprint of the molecule in the current workspace with the those of the other ones in the database.

 

Similarity filter


There are five different type of fingerprints that can be calculated (Similarity, Substructure, Resonance substructure, Tautomer substructure and Full) and three different metrics to compare the fingerprints, which are calculated in the following way:

Similarity method Formula
Euclid-sub c / a
Tanimoto c / (a + b + b)
Tversky <alpha> <beta> c / ((a - c) * alpha + (b - c) * beta)

where a is the number of nonzero bits in the first fingerprint, b is the number of nonzero bits in the second fingerprint and c is the number of coincident bits in the two fingerprints. Alpha and beta are the weights of Tversky comparison.

In the Parameters box, you can set the Similarity threshold, the fingerprint encoding method (Base64 or Hexadecimal) required to save the fingerprints when you check Save data and put the output file name for further analysis. The fingerprints, one for each molecule in the database, are saved in CSV format.
 

In the SQL tab, it's possible to do more complex queries typing directly the SQL code:

 

SQL editor

 

Finally, clicking the Apply button the query is performed and the molecules satisfying the user-defined conditions are shown in the Database explorer. To remove the filter, click the Rescan button.

 

9.2.1.8 Other operations

A structure in the database can be updated selecting it in the molecule list and clicking Update button. This structure will be replaced by the molecule in the current workspace.
A molecule in the database can be renamed, selecting it and clicking Rename button, but remember that the molecules included in a Zip file can't renamed.
In similar way, a molecule can be removed from the database selecting it and clicking Remove button. Multiple selections are allowed.
Update button is useful to force the update of the molecule list when the database was changed by another application.
To find molecules inside the active database, you can use the find function (Find button, or Find item in the popup menu). The search is case-insensitive and allows the use of wildcards (*, ? characters). Another method to find molecules inside the database is available by the keyboard: typing a character on the keyboard, the molecule with the name starting with that character is automatically selected.
The status bar placed on the bottom of the window shows the total number of opened databases, the total number of molecules, the number of molecules selected by query, the number of molecules in the active database and the database type indicator (SDB, LDB, see below).
 

9.2.2 Context menu

Clicking with the right mouse button on the Database list or in the Molecule list, the context menu is shown:

Database context menu
Item Accelerator Description
Open Ctrl+O Open a new database.
Close Ctrl+C Close the database.
Close all - Close all databases.
Synchronize Ctrl+S Synchronize the database (see the next section).

 

Molecule context menu
Item Accelerator Description
Get Ctrl+G Get the molecule.
Put Ctrl+P Put the molecule in the database.
Update - Update the molecule.
Rename F2 Rename the molecule.
Remove - Remove the selected molecules.
Filter - Show the filter dialog. This item appears checked if a filter was applied.
Find Ctrl+F Find a molecule in the list.
Rescan - Rescan the database to update the molecule list.
Save list - Save the molecule list to a file.
Copy list - Copy the molecule list in the clipboard.
Export to Excel - Export all molecule data to Microsoft Excel, excluding 3D structures. Miscrosoft Excel must be installed in your PC.
Export to file - Export all molecule data to a file, excluding 3D structures. You can choose different output formats: ARFF (Attribute-Relation File Format), ARFF without strings and CSV (Comma Separated Values).

 

9.2.3 Small database and large database

VEGA ZZ can manage molecular databases in two modes:

The status bar highlight the operation mode showing the SDB or LDB labels. The LDB label could have a star (*), indicating that the selected database isn't synchronized. If the database is read-only, the Remove, Rename, Put, Synchronize and Update functions are disabled and in the status bar the RO label appears at the left of SDB/LDB word.

 

9.2.4 Notes:


10.1 Configuration of human interface devices (HID)

This dialog box allows to configure the human interface devices (mouse and joystick) that you can use to control VEGA ZZ main functions. It can be shown by selecting Tools HID configuration in the main menu.

 

10.1.1 Joystick configuration

VEGA ZZ can manage more than one joystick and the its functions can be customized in easy way.

 

Joystick function assignment

 

In Device combo-box, you can select the joystick connected to the PC. The software can use USB and bus devices in the same manner. The Configuration tab allows to assign the main VEGA ZZ functions (rotation, translation, scale, etc) to the joystick controls (buttons and analogic sticks), clicking the function box by left mouse button (it appears flashing) and moving or pushing the joystick controls. To revert to the pre-defined configuration, press the Default button.

 

Joystick parameters

 

In the joystick Parameters tab, you can adapt the software response to specific hardware functions of the joystick. The Sleep time (in milliseconds) parameter controls the joystick / USB port sampling frequency. Higher values reduce the sampling frequency and the joystick response. Lower values increase the joystick response but the software spend more time to manage the device (more CPU use). The Axis threshold allows to change the neutral position sensibility of analogic sticks. This is very useful, because some devices have uncertain centre return of the sticks. The sensibility parameters change the sensibility of the software functions in relation to the device movements. The Default button restores the factory settings.

 

Joystick capabilities

 

The Capabilities tab shows the capabilities of the selected joystick.

 

Joystick test

 

The Test tab allows to test the controls of the selected joystick.

 

10.1.2 Mouse configuration

In the Mouse tab, the user can change the mouse capabilities and test them.

 

Mouse configuration

 

More in detail, you can change the rotation, the scale and the mouse wheel sensitivity. The Default button reverts to the standard configuration.

 

10.1.3 3D mouse configuration

The 3D mouse tab allows you to enable/disable and test 3D connexion devices (e.g.  SpaceMouse, SpacePIlot, etc.), which are fully supported by VEGA ZZ:

 

3D mouse configuration

 

The device is automatically detected and the function keys are programmed according to the following scheme:

 

Button name Function
Back Change the point of view respectively to: back, bottom, front, left, right and top.
Bottom
Front
Left
Right
Top
Fit Fit the molecule into the workspace.

 


10.2 Configuration of remote hosts

This dialog box allows to configure the remote hosts that can be used to run calculation jobs. In this way, it's possible to use the power of other systems connected trough TCP/IP protocol (e.g. PCs, workstations, HPC systems), reducing the computational time.

 

10.2.1 The calculation host concept

The calculation host is a logical unit used by VEGA ZZ to perform a calculation. There is no difference if the unit is placed in a local or in a remote machine, because the software layer selects automatically the more appropriate communication protocol. The advantage of this implementation is the totally transparency at the user side, allowing to run local or remote jobs in the same easy way.
The most common scenario in computational chemistry research laboratories, is the installation of a reduced number of high performance calculation systems (HPC) and a large number of middle-low performance PCs. These PCs can dramatically increase their computational power submitting the calculations to HPC systems in transparent and interactive way. The first implementation of this technology is available for AMMP: a molecular mechanics software integrated in the VEGA ZZ enviroment.
VEGA ZZ is able to manage three host types: local host, master host and child host. The local host is automatically configured when the software starts and it can be used to perform local calculations. In this case the computational power depends on the hardware running VEGA ZZ.

 

Local host communication

 

VEGA ZZ uses the pipe protocol to communicate with AMMP which is the application example managed by the host. The piping process is implemented in the operating system and it consists to put the output of a program as input of another one and vice versa. It is much faster then the TCP/IP connection used for the remote hosts (see below).
Each physical remote host is called master host from which is generated one or more child host. It is a virtual host corresponding to each manageable thread, one for each physical CPU installed in the remote system. As an example, if a master host has installed two CPUs, it can manage two calculation threads at the same time and so it are generated two child hosts capable to run two single-threaded application at the same time.
The communication with the remote hosts is implemented by TCP/IP and it's based on the telnet protocol. For this reason, the remote host must have a full configured telnet service.

 

Remote unix host

 

In the Windows hosts, it's strongly recommended to use the WarpTel service instead of the Microsoft's telnet service for security reasons (see below).

 

Remote Windows host

 

The telnet protocol is insecure because all TCP/IP packets are sent in clear form. For this reason, it's strongly recommended to use the encrypted connection, available in the WarpTel service:

 

Protected connection

 

The TCP/IP packets are sent on the net using a 256 bit encryption and are encoded/decoded on-the fly by VEGA ZZ and the WarpTel service.
The telnet daemons available in the Unix systems don't have the capability to encode/decode the packets and so you must use the WarpGate service to create a secure encrypted connection.

 

 Protected connection

 

The telnet daemon must be protected by a firewall, otherwise the system could undergo to malicious attacks. To install the WarpTel and the WarpGate services, consult their documentation.

 

10.2.2 Host configuration

The dialog is accessible selecting Tools Host configuration in the main menu.

 

Host configuration

 

In the right corner is located the master host list. The child hosts aren't not visualized in this window because they have the same configuration parameters of their master host. The child hosts are shown in the calculation dialogs such as in the AMMP's one.
The first three hosts in the list are called local hosts and they can't the changed with this window, because they are automatically configured when VEGA ZZ. They can be used to perform calculation using the local hardware (default condition) and in this case the faster pipe communication is used instead of the TCP/IP protocol. Selecting Localhost in the application control panel (e.g. AMMP calculation window), the calculation is immediately executed in interactive mode (if you close VEGA ZZ, the job is stopped); selecting Localhost background, the calculation is started in background and it can't be controlled by VEGA ZZ (if you close VEGA ZZ, the job continues without stopping itself); selecting Localhost save file, the calculation is not started and the input file is created to run the job later.
Add and Remove buttons, respectively, creates a new host and removes the selected host. In the right box, it's possible to change the host Name, the Description and the Type (Unknown, Unix, Linux, Windows 9x, Windows NT). Please pay attention selecting the host type, because a wrong selection make the connection unusable: use Unknown if you don't know the remote host operating system, Unix or Linux for *nix operating systems, Windows 9x for the old Windows operating systems (Windows 95, 98 and ME) with the WarpTel standard version, Windows NT for Windows NT, 2000, XP and Vista with the WarpTel standard or service version.
The number of the childs for each master host is controlled by the Threads filed, which values must be in the 1 to 65535 range. It correspond to the number of the installed CPUs or CPU cores: dual core CPUs are as two physically separated CPUs and each one is equivalent to two normal CPUs (e.g. 2 x dual core CPUs = 4 threads). The CPUs with the Hyperthreading technology (e.g. Pentium 4) are equivalent to two standard CPUs (e.g. 1 x Hyperthreaded CPU = 2 threads).
Address and Port defines the parameters for the TCP/IP connection: the first one is the IP (e.g. XXX.XXX.XXX where XXX is a number in 0 to 255 range) or the nameserver entry (e.g. myserver.mydomain) of the remote host, and the second one is the telnet service listening port that must be in the 1 to 65535 range (default 23). For security reasons, it's recommended to change the default listening port from 23 to anyone different (e.g. 7000), because the default port is the first one attacked by the hackers. This change must done in the remote host telnet service and in the VEGA ZZ host configuration panel at the same time: the two port numbers must be the same.
User name and Password are optional arguments: they are the credentials to login to the remote host. In the Confirm field, you must repeat the password in order to validate it.
Checking Encryption, it will be used the super-secure encrypted connection and the encryption key (WarpKey) is required: it must be 64 characters long and it must contain hexadecimal digits only (e.g. 0123456789ABCDEF). The WarpKey must be the same used by the remote host connection services (WarpGate or WarpTel). Clients and hosts with different keys can't communicate each other. If you need to create a new encryption key, you could click the Gen. Key button or the external utility called WarpKeyGen.
All host changes will be effective clicking Apply button. If you change the host without clicking Apply, all changes will be lost. If a wrong parameter is found, its field is highlighted and the error message is shown in the bottom window bar.
The host list is saved clicking Save button and if you close the window after a change without saving it, a warning message is shown.

 


10.3 Preferences

The VEGA ZZ main settings can be changed by the dialog box that can be shown selecting Tools Preferences menu item. The parameters are automatically saved closing the software in ..\Vega\Config  directory creating a glprefs.n file where n is the user name and the number of the current session/port. Some settings require to restart the program showing  a request dialog window.
The settings are classified in Main, Glass windows, Energy, Surface and Misc and they are accessible in their specific tab:

Main tab   

10.3.1 Main settings

In this tab, you can change the GUI language. The Language field could be auto (automatic language selection), english (built-in) and italiano. Any other language could be used if it's correctly installed in ...\VEGA ZZ\Locale directory. For more information about the language translation, see language localization appendix.
Checking/unchecking the Use sound effects, you can enable/disable the sound effects played when a dialog window is shown or when a a calculation is finished.
Use the maximum number of CPUs is active only if more then one or a multi-core CPU is installed in the system. If it's checked, all system CPUs are used by VEGA ZZ otherwise it's possible to change the number of CPUs reserved to the software.
Clicking Default button, the parameters of this tab are reverted to default values.

The OpenCL device field allows to control the OpenCL acceleration: Accelerator  enables an accelerator card as IBM Cell Broadband Engine; Automatic detection scans all compatible devices and chooses the more suitable for your system; CPU enables the CPU emulation; Default select the default OpenCL device; GPU enables the GPU acceleration; Not used disables the OpenCL acceleration. For more information about the GPU acceleration, see the installation notes.

     

10.3.2 Glass windows settings

Checking Enable the glass windows, all windows appears transparent allowing to see the below layers. This option requires Windows 2000 or greater to work properly. With the above releases it doesn't have any effect. The Max. alpha slider sets the transparency (alpha bending) when the windows are active (0 = full transparent, 255 = full opaque). The Min. alpha slider sets the transparency when the windows aren't active (the windows don't receive the input focus). The Open alpha slider sets the starting transparency when a new window is open and the Fade time slider sets the time in ms for the animated fade-in and fade-out operations.
To revert to the default values of this tab, click the Default button.

   Glass windows tab
     
Energy tab  

10.3.3 Energy settings

In this tab, you can change the parameters used in non-bond energy evaluations (e.g. evaluation of the interactions) such as Dielectric constant, Cut-off distance, Energy threshold, and Max. contact distance. Clicking Default button, the energy parameters return to the default values.

     

10.3.4 Surface and volume settings

This tab allows to set the default parameters used in surface and volume calculations (e.g. MD analysis and surface visualization) such as the Probe radius, the Dot density and the Mesh size.
To revert to default values, click the Default button.

   Surface and volume settings
      
Miscellaneous settings   

10.3.5 Miscellaneous settings

Bond tolerance allows to change the overlap of covalent radii used in the connectivity calculation (for more information click here). Chart zoom factor changes the Graph Editor scale factor. Solvatation radius sets the default value of the radius used to solvate the molecules (see add solvent cluster). Mopac keywords field defines the default keywords used in Mopac calculations (see Mopac calculation).
Default button reverts to the default values.

      

5 Default settings (prefs file)

VEGA (command line) starts reading the preference file in order to set the default parameters. This file is placed in Data directory, it's named prefs  and it's in ASCII format editable as a normal text file. Each entry has a keyword with one or more parameters. A semicolon (;) placed in the first column indicates that the line is a remark. Please remember that VEGA doesn't print any warning about incorrect parameters or syntax errors in the prefs file. VEGA ZZ doesn't use this method to set the default parameters. In the following table are shown all available keywords:

 

Keyword Description
ENERGY_CONTDIST Distance used to determine if the ligand is in contact with a receptor residue (see -f [FORMAT] option).
e.g. ENERGY_CONTDIST 2.5

ENERGY_CUTOFF

Cut-off distance to speed-up the interaction energy evaluation (see -f [FORMAT] option).
e.g. ENERGY_CUTOFF 10

ENERGY_DIEL

Dielectric constant value (see -f [FORMAT] option).
e.g. ENERGY_DIEL 1

ENERGY_FILTER

Filter for energy decomposition by residue (see -f [FORMAT] option).
e.g. ENERGY_FILTER 1

LANGUAGE

Default language (see language localization page):
AUTO: Set automatically your preferred language (AmigaOS and Win32 only).
type_of_language: Set the specified language.
e.g. LANGUAGE italiano

MAXATMINFO

It's the maximum atom number that the info file format (see -f [FORMAT] option) can manage for the calculation of extra information. This number is in function of your CPU power.
e.g. MAXATMINFO 500

MOPAC_CRG

Charge attribution with Mopac keyword CHARGE. It can be set to AUTO (the total charge is calculated by atomic charges) or to a positive or negative integer value.
e.g. MOPAC_CRG AUTO

MOPAC_DEF

Mopac default keywords (see -k[KEYWORDS] option).
e.g. MOPAC_DEF AM1 PRECISE

MOPAC_MMOK

MMOK is a Mopac keyword needed to introduce a correction factor when in a molecule there are peptidic (amidic) bonds. The argument can be:
AUTO: VEGA recognizes the presence of amidic bonds and automatically switches on or off the MMOK Mopac function.
ON: MMOK is always switched on.
OFF: MMOK is always switched off.
e.g. MOPAC_MMOK AUTO

OCLDEVTYPE

Set the OpenCL device type. The argument can be: NONE (acceleration disabled), AUTO (automatic detection), DEFAULT (default device), Accelerator (generic accelerator), CPU (generic CPU with SSE3 support) and GPU (Graphic Processing Unit).

OUTFORMAT

Output format.
e.g. OUTFORMAT PDB

RENSTART

Starting residue for renumbering (see -a [RESNUM] option).
e.g. RENSTART 1

SAS_POINTS

Default point density for molecular surface calculations (see -s[POINTS] ).
e.g. SAS_POINTS 10

SAS_PROBERAD

Default probe radius for calculation of the molecular surface accessible to solvent (see -f [FORMAT] option).
e.g. SAS_PROBERAD 1.4

SOL_RADIUS

Box length /Sphere radius / Layer thickness (see -h[SHELL RAD SHAPE] ).
e.g. SOL_RADIUS 10

SOL_SHAPE

Shape type (BOX, SPHERE, SHELL):
e.g. SOL_TYPE BOX

VOL_DENSITY Dot density for volume calculations (see -m[KEYWORDS] and -f info ).
e.g. VOL_DENSITY 10
XTCPREC Number of digits after the point (from 1 to 8) used for the compression of XTC trajectories.

e.g. XTCPREC 3

For more information about prefs file, see the APPENDIX B.

 


11.1 The Graph Editor

The Graph Editor allows to show and manage data sets calculated by VEGA ZZ and/or by other external programs. It's possible to load data in some different file formats in order to support the largest number of software packages. All functions are accessible through the menu bar, tool bar and mouse. More than one Graph Editors can be opened selecting Tools GraphED main menu item or clicking the graph icon of the VEGA ZZ tool bar.

 

Graph editor

 

11.1.1 File menu

Item Accelerator Description
New Ctrl+N Clean all data.
Open Ctrl+O

Open a new data set. The same operation can be performed by drag & drop operations of files on the Graph Edtor window. The supported file formats are: CHARMM .ene, Comma Separated values .csv, Data Interchange Format .dif, NAMD output .out, Quanta .plt and Custom.  Use the Autodetect function of the file requester to activate the automatic recognition system.   If your data set format is not supported, but is ASCII, you can select the Custom filter, that shows the following dialog window:

 

Custom filter

 

The central box shows the first lines of the selected file. In the Skip Lines field, you can specify the number of lines that will be skipped starting from the beginning of file.  Checking the Separator checkbox, you can insert the character used as column separator. The X Column field, if checked, allows to indicate the column number to associate with the X values and Y Column filed allows to indicate the column number to associate with Y values. Clicking  Ok button, you confirm the loading operation.

Save As ... Ctrl+S Save the data set. The supported output formats are: Comma Separated Values .csv, Data Interchange Format .dif, and Quanta .plt
Export to Excel Ctrl+E

Export the data directly to Microsoft Excel by OLE interface. Excel must be installed on the PC.

Print Ctrl+P Print the chart, showing the printer requester.
Exit - Close the window without saving.

 

11.1.2 Edit menu

Item Subitem Accelerator Description
Labels Title - Change the chart title.
X axis - Change the X axis label.
Y axis - Change the Y axis label.
Copy   Ctrl+C Copy the selected graph to the clipboard as windows metafile.
Sel. conformation   Ctrl+F Select the conformation associated to the plot clicking on the trace area. The conformation will be changed automatically and shown in the main window. This item is disabled if the graph isn't generated from the trajectory analysis.

 

11.1.3 Zoom menu

Item Accelerator Description
In - Zoom in.
Out - Zoom out.
Reset - Reset to the original scale.
Animation - If checked (default), activates the zoom animation.

Please note that to zoom-in on the graph area you can use the mouse pressing the left button and drawing a box.

 

11.1.4 Calculate menu

Item Subitem Accelerator Description
Cluster Chart   - Open the cluster analysis dialog:

 

Number

11.1.4.1 Clustering Mode: Number

selecting Number from Clustering Mode radiobox, it's possible to specify the number of clusters. The default number of clusters is 5 and the range of each cluster is automatically calculated. Clicking Show, the histogram graph is shown:

 

Cluster graph

 

Each histogram is a cluster and its height is the number of value contained in the cluster, like shown in the little box on the top.

 

11.1.4.2 Clustering Mode: Ranges

This operation mode consists in a user defined list of rages. Each range is the upper and lower limit of a cluster.

 

Ranges

 

You can define a new range (cluster) typing in Min and Max fields the limits and pressing the Add button. To remove a single range, you must highlight it clicking on the list, and press the Remove button. If you want remove all ranges, click on Remove All and if you want change a range, highlight it, type the new limits and press Update.
The compiled list of ranges can be saved (Save button)  if you think that it should be useful. Use the Load button to reload the list in the memory. Please note that the folder where the ranges should be saved is ... \VEGA\Chart\Ranges and the file format is CSV with the semicolon as separator (;), like in the following example:

  0;  30
 30;  90
 90; 150
150; 210
210; 270
270; 330
330; 360

Freq. spectrum   -

Calculate the DFT (Discrete Fourier Transformation) frequency spectrum. It's useful to highlight the most significant wave components and their frequency and amplitude:

 

Frequency spectrum

 

The frequency spectrum is indicated in percent. Please remember that the Shannon's sampling theorem says that maximum frequency in the spectrum (100%) is half the sampling rate. The Amplitude has got the same measure unit of the starting wave. 

Noise reduction 95 -

Remove the noise applying a DFT (Discrete Fourier Transformation) low-pass filter. As first step it creates the frequency spectrum, it removes the high frequencies and finally it rebuilds the filtered wave using the inverse DFT. Consider the following plot:

 

Original signal

 

Suppose to apply the 90% noise reduction because you want consider the low frequency transitions (slow transitions):

 

Denoised signal

90 -
75 -
50 -
25 -
Derivative   -

Calculate the first derivative.

Statistical Values   - Show some statistical values related to the data set:

 

Satistical values

  


11.2 The Mini Text Editor

VEGA ZZ has an integrated text editor that allows to edit and manage the text files like molecules, force field templates, parameter files, etc. All functions can be activated by  the menu bar and the tool bar.

 

Mini Text Editor

 

11.2.1 Menu bar

Menu Item Accelerator Description
File New Ctrl+N Clean the text frame.
Open Ctrl+O Open a new file.
Save as Ctrl+S Save the file.
Print Ctrl+P Print the file showing the printer requester.
Exit - Close the window without saving.
Edit Undo Ctrl+Z Undo the text modifications.
Redo Ctrl+Y Redo the previous operation.
Cut Ctrl+X Cut the selected text and copy it into the clipboard.
Copy Ctrl+C Copy the selected text into the clipboard.
Paste Ctrl+V Paste the text from the clipboard.
Select all - Select all text.
Find down F3 Find the specified text. A requester is shown.
Find up Ctrl+F3  

 

11.2.2 Tool bar

The tool bar duplicates some common functions of the menu bar and add the field for the text to search and the button to enable/disable the case sensitive text serach.

 


11.3 OpenGL Setup

OpenGL Setup is a Windows application that allows to switch the OpenGL driver used by VEGA ZZ without losing the system settings, applying the changes to VEGA ZZ only. To start it, you must select the VEGA ZZ Utilities OpenGL Setup item in the Start menu.

 

OpenGL Setup

 

In this window, you can choose the OpenGL driver that will be used by VEGA ZZ. To make effective the changes, you must click Apply button. You must remember that before to change the driver, you must close all VEGA ZZ sessions.
The included drivers have different capabilities as shown in the following table:

Driver Description
Hardware

This is the fastest driver available. It uses the full hardware acceleration (if available) implemented in the graphic card. It's activated by default when you install VEGA ZZ.

Microsoft OpenGL

This is the most compatible driver with moderate hardware acceleration. Use it if you have compatibility problems (e.g. crashes). Some cheap graphics cards require it  because the factory OpenGL driver doesn't support all functions used by VEGA ZZ.

Mesa 3D

If you need the OpenGL 1.5 support and your graphic card doesn't have it, you could install this full-software driver. No hardware acceleration is provided by it.

WireGL

If you need an amazing rendering speed, this driver is for you ! It distributes the OpenGL rendering to a cluster of PC interconnected by an high performance network. The resulted output is tiled to the display of each workstation connected to the network. For more information about the WireGL installation, click here.

 


11.4 SendVegaCmd

SendVegaCmd is a little Win32 shell command that can be used in batch files to control the VEGA ZZ. In other words, by this program you can automate all operations that you do more frequently. 
 

Synopsis:

SendVegaCmd [/A] [/P [PORT_NUMBER]] <COMMAND>

<COMMAND>   

The name of the command to send is case insensitive and you can use menu commands, extended commands and window commands.  The window commands are:

CmdName Description
wMaximize maximize the main window.
wMinimize minimize the main and the console windows.
wRestore restore the main window to the original size and position.

GET extended command returns a value that SendVegaCmd shows in the console window.

    
/P [PORT_NUMBER]  

It's an integer positive number that indicates which VEGA ZZ communication port is used. The default value is 1.  This option is useful when more than one VEGA ZZ session is running. The first running VEGA ZZ session has the port number one, the second the port number two, and so on.

 


11.5 The Task Manager

The integrated task manager allows to manage all programs executed by VEGA ZZ in background (e.g. AMMP, GriDock, Mopac, etc) by a simple graphic interface. You can open it by Tools Task Manager in main menu.

 

Task Manager    Menu bar
   List of the processes
  
   Button

 

11.5.1 Buttons

Selecting a process, you can terminate it pressing Kill button. A confirm request is shown.

 

11.5.2  Menu

Menu Item Accelerator Description
File Refresh F5 refresh the list of the processes.
Exit Ctrl+E close the window.
Options Force - if checked (default), force the process killing.
Filter - if checked (default), show in the list only the processes created by VEGA ZZ.
Action Kill now! Ctrl+K terminate the selected process (see the Kill button).

 


11.6 Top2Tem

Top2Tem is a shell command that can be used to convert the CHARMM/NAMD topology files to VEGA atomic charge template. The patches are automatically converted in macros, but they aren't applied. The converted topology can be used directly without changes copying it to ...\VEGA\Data directory even if minor updates are required (e.g. bond order and macro use). For more  information about the VEGA atomic charge template, click here.

Synopsis:

Top2Tem   <CHARMM_TOP_FILE>

<CHARMM_TOP_FILE>   

Name of CHARMM/NAMD topology file (.top). The output name it's the same changing the file extension from .top to .tem.

 


WinDD - Data Decompressor for Windows    

Data Decompressor for Windows

Release 1.5
 

1. Introduction
WinDD is a software designed to run on Windows  PCs, in order to unpack files. At the present time, the supported packer formats are: BZip2, GZip, PowerPacker and Z-Compress.
This program is the graphic interface of the powerful Data Decompressor Engine implemented in VEGA and VEGA ZZ.


2. System requirements
- Pentium class CPU.
- Windows 32 or 64 bit operating system.
- libbz2.dll, zlib32.dll and locale.dll (included).


3. New in this release:

- Drag & drop function to specify the files to unpack.
- Minor bug fix.
- New look.


4. Usage:

WinDD is a true Win32 application powered by the VCL graphic interface:

The main window

In Files text box, you can type the name of files to decompress. If you want process more then one file, you must separate each file   with a semicolon (";"). Another way to insert the file names in the Files field is clicking on the Open button or selecting the File -> Open (Ctrl+O) menu. The standard Windows file requester is shown with the multiple selection function enabled.
To perform the unpacking operation, you must press the Unpack button or select File -> UnPack (Ctrl+U). While this operation, the status bar shows the name of file that is processed and if an error occurs, a message is reported in an alert window.
To close WinDD, you can click the specific button on the right corner of the window or select File -> Quit (Ctrl+Q).
With the Help menu, you can read this documentation (Contents) or the copyright message (About...)


5. Language localization
For the string language localization, was implemented in VEGA the Locale Technology of AmigaOS. This method allows to translate the language strings without recompile the source code. A simply translation of a template text file and a conversion with an included utility is needed.
Each language requires a translation file (called catalog) that has the name of the program that use it, and the .catalog extension (WinDD.catalog). Each file must be placed in a subdirectory with the name of the language (e.g. italiano, français, deutsch, etc) of the Catalogs folder, present  in the same directory where the program is located.
All programs having this technology can run without catalog files because the default language (e.g. english) is bult-in.
In order to translate all WinDD messages in your preferred language, you need the following components:

  • FlexCat catalog builder for Win32 (included).

  • Catalogs/WinDD.cd file.
    This is the text file used to generate the built-in language.

  • Catalogs/WinDD.ct file.
    This is the catalog template to edit in order to perform the language translation.

  • A text editor compatible with your operating system.

To create a new catalog file, you can follow these steps:

  • Open the WinDD.ct file with your text editor.

  • Change the first three lines:

    ## version $VER: XX.catalog XX.XX ($TODAY)
    ## language X
    ## codeset 0

    with:

    ## version $VER: WinDD.catalog 1.0 (compilation_date)
    ## language your_language
    ## codeset 0

    The compilation_date must be in DD.MM.YYYY format and your_language must be in lower case.

  • In each blank line, translate the string in the next line. Please use ANSI/ISO character set only.

  • Make sure that the special control characters are present in your translation also (e.g. %s, %.4f, \n, etc).

  • Save the WinDD.ct file.

  • Build the WinDD.catalog typing:
    flexxcat WinDD.cd WinDD.ct CATALOG WinDD.catalog

  • Move WinDD.catalog in the appropriate directory (e.g. Catalog/YOUR_LANGUAGE/). Please note that the YOUR_LANGUAGE directory must be in lower-case, otherwise the Unix systems can't found the file.

  • The new catalog file is recognized automatically by the software.


6. Copyright and disclaimers

All trademarks and software directly or indirectly referred in this document, are copyrighted from legal owners. WinDD is a freeware program and can be spread through Internet, BBS, CD-ROM and other electronic formats. The Author of this program accept no responsibility for hardware/software damages resulting from the use of this package. No warranty is made about the software or its performance.
Use and copying of this software and the preparation of derivative works based on this software are permitted, so long as the following conditions are met:

  • The copyright notice and this entire notice are included intact and prominently carried on all copies and supporting documentation.

  • No fees or compensation are charged for use, copies, or access to this software. You may charge a nominal distribution fee for the physical act of transferring a copy, but you may not charge for the program itself.

  • If you change the source code to improve the WinDD performances, please contact the authors to add your modifications in the official package.

  • Any work distributed or published that in whole or in part contains or is a derivative of this software or any part thereof is subject to the terms of this agreement. The aggregation of another unrelated program with this software or its derivative on a volume of storage or distribution medium does not bring the other program under the scope of these terms.

 

WinDD
is a software developed in 2000-2021
by Alessandro Pedretti
All rights reserved.

Alessandro Pedretti
Dipartimento di Scienze Farmaceutiche
Università degli Studi di Milano
Via Mangiagalli, 25
I-20133 Milano - Italy
Tel. +39 02 503 19332
Fax. +39 02 503 19359
E-Mail: info@vegazz.net
WWW: http://www.vegazz.net


 

 

12.1 Introduction to VEGA ZZ Plug-in System

 

VEGA ZZ includes a powerful plug-in system in order to expand the standard features without change the main source code. All users can enhance the VEGA ZZ performances by their preferred programming language and the VEGA ZZ Plug-in Development Kit.
The plug-ins must be installed in the Plugins folder of the VEGA ZZ installation path and are loaded automatically when the program starts. The translation files should be placed in Catalogs directory and the help files in Docs\Html\plugins directory. All settings needed by plug-ins should be stored in ...\VEGA ZZ\Config\plugins.ini file, using the standard Windows conventions.
The plug-ins are standard Windows DLLs and for more information about them, see the SDK documentation.

VEGA ZZ offers a standard interface to manage the loaded plug-ins that can be activated by Tools Plugin Configuration Manage item of the main window menu.

 


Plug-in management

 

This window shows all installed plug-ins. Clicking the plug-in name and the Configure button, you can open the configuration dialog box specific for the selected plug-in. Clicking Help button, the help file is opened and clicking About button, the copyright message is shown.

 


12.2 ChemSol - Calculation of solvation free energy

 

12.2.1 Introduction

From the manual of ChemSol 2.1 software: program ChemSol is designed for the calculations of solvation free energies using Langevin Dipoles (LD) solvation model, in which the solvent is approximated by polarizable dipoles fixed on a cubic grid. The implementation and parametrization for aqueous solution were described in the paper "Langevin Dipoles Model for Ab Initio Calculations of Chemical Processes in Solution: Parametrization and Application to Hydration Free Energies of Neutral and Ionic Solutes, and Conformational Analysis in Aqueous Solution"1. The ChemSol 1.0 and 1.1 programs were used in studies of the chemical reactivity2-4, binding5, and conformational flexibility6 in aqueous solution. The extension of the predictive capabilities of the LD model to hydration entropies has been implemented in the 2.0 and 2.1 versions of the program7.

  1. Florián, J.; Warshel, A. J. Phys. Chem. B 1997, 101, 5583.
  2. Florián, J.; Warshel, A. J. Am. Chem. Soc. 1997, 119, 5473.
  3. Florián, J.; Warshel, A. J. Phys. Chem. B 1998, 102, 719.
  4. Florián, J.; Åqvist, J.; Warshel, A. J. Am. Chem. Soc. 1998, 120, 11524 .
  5. Florián, J.; Sponer, J.; Warshel, A. J. Phys. Chem. B 1999, 103, 884 .
  6. Florián, J.; Strajbl, M.; Warshel, A. J. Am. Chem. Soc. 1998, 120, 7959.
  7. Florián, J.; Warshel, A. J. Phys. Chem. B 1999, 103, 10282.

12.2.2 Usage

The ChemSol plug-in requires a pre-loaded molecule in the VEGA ZZ workspace with assigned atomic charges. For better results, it's strongly recommended to calculate the charges by ab-initio methods. To start the calculation of the solvation energy, select  Calculate ChemSol in main menu. The ChemSol 2.1 executables (Windows x86 and x64) included in the VEGA ZZ package, can manage molecule with less than 500 atoms. If the molecule in the workspace has more than 500 atoms, an error message is shown. The ChemSol output is redirected to the VEGA ZZ console:

***********************************************************

CHEMSOL 2.1

Jan Florian and Arieh Warshel
University of Southern California
Los Angeles, 1999

***********************************************************



Solute : Vg128
Total charge for gas-phase solute: 1.00
Total charge for PCM solute : 1.00
Molecular weight (a.u.) : 112.00
Gas-phase transl. entropy (298dS): 10.06 kcal/mol


atom # x y z Q_pcm Q_gas atom_type rp VdWC6

1 -1.237 -1.000 0.000 -0.50 -0.50 9 2.65 0.50
2 -1.273 0.376 0.000 0.78 0.78 7 3.00 1.00
3 0.000 0.957 0.000 -0.60 -0.60 9 2.65 0.50
4 1.164 0.290 0.000 0.85 0.85 7 3.00 1.00
5 1.121 -1.131 0.000 -0.56 -0.56 7 3.00 1.00
6 -0.094 -1.715 0.000 0.24 0.24 7 3.00 1.00
7 -2.255 1.024 0.000 -0.52 -0.52 14 2.65 0.50
8 2.291 0.962 0.000 -0.94 -0.94 9 2.65 0.50
9 3.166 0.482 0.000 0.49 0.49 1 2.33 1.00
10 2.325 1.959 0.000 0.49 0.49 1 2.33 1.00
11 2.023 -1.706 0.000 0.26 0.26 1 2.64 1.00
12 -0.209 -2.782 0.000 0.18 0.18 1 2.64 1.00
13 -2.129 -1.453 0.000 0.40 0.40 1 2.33 1.00
14 -0.021 1.959 0.000 0.42 0.42 1 2.33 1.00

------------------------------------------------------------------------


Grid origin 0.548 -0.127 0.000

No of inner grid dipoles : 741
No of surface constrained dipoles : 211
Total number of Langevin dipoles : 1356
Noniterative lgvn energy (total,inner): -70.649 -64.196


Iterative LD calculation for the chosen grid

dipole pair list

total possible pairs - 881474 out of 2.500 A cutoff
pairs selected - 89443 within 6.100 A cutoff
pairs selected (long) - 551110 within 16.000 A cutoff
pairs selected (long) - 0 out of 16.000 A cutoff


Iteration Elgvn Elgvn_inner Elgvn-TdS_immob

0 -79.053 -75.435 -79.053
1 -50.833 -44.108 -41.801
2 -50.106 -41.356 -46.749
3 -51.389 -41.459 -48.111
4 -52.367 -41.753 -49.226
5 -53.064 -42.044 -49.989
6 -53.569 -42.303 -50.513
7 -53.945 -42.528 -50.879
8 -54.234 -42.722 -51.138
9 -54.462 -42.891 -51.319
10 -54.684 -43.064 -51.490
11 -54.885 -43.223 -51.636
12 -55.063 -43.365 -51.753
13 -55.217 -43.489 -51.841
14 -55.351 -43.598 -51.900
15 -55.466 -43.691 -51.930
16 -55.563 -43.771 -51.931
17 -55.643 -43.837 -51.902
18 -55.707 -43.889 -51.838

Elgvn = -55.707 Evdw = -5.760 -TdS_phobic = 0.000 -TdS_total = 3.869

------------------------------------------------------------------------

Grid origin 0.459 -1.045 -0.949

No of inner grid dipoles : 751
No of surface constrained dipoles : 197
Total number of Langevin dipoles : 1352
Noniterative lgvn energy (total,inner): -69.542 -63.951


Iterative LD calculation for the chosen grid

dipole pair list

total possible pairs - 878787 out of 2.500 A cutoff
pairs selected - 89276 within 6.100 A cutoff
pairs selected (long) - 549887 within 16.000 A cutoff
pairs selected (long) - 0 out of 16.000 A cutoff


Iteration Elgvn Elgvn_inner Elgvn-TdS_immob

0 -77.856 -75.109 -77.856
1 -50.172 -43.972 -41.078
2 -49.520 -41.333 -46.158
3 -50.879 -41.561 -47.599
4 -51.903 -41.937 -48.765
5 -52.624 -42.283 -49.556
6 -53.142 -42.582 -50.097
7 -53.524 -42.839 -50.474
8 -53.817 -43.060 -50.742
9 -54.045 -43.251 -50.932
10 -54.275 -43.450 -51.117
11 -54.485 -43.635 -51.282
12 -54.673 -43.802 -51.423
13 -54.839 -43.950 -51.539
14 -54.986 -44.083 -51.633
15 -55.116 -44.200 -51.705
16 -55.230 -44.304 -51.758
17 -55.330 -44.396 -51.791
18 -55.417 -44.477 -51.805
19 -55.492 -44.547 -51.801
20 -55.555 -44.607 -51.776

Elgvn = -55.555 Evdw = -5.706 -TdS_phobic = 0.000 -TdS_total = 3.779

------------------------------------------------------------------------

Grid origin 1.160 0.795 -0.721

No of inner grid dipoles : 750
No of surface constrained dipoles : 202
Total number of Langevin dipoles : 1349
Noniterative lgvn energy (total,inner): -67.945 -62.486


Iterative LD calculation for the chosen grid

dipole pair list

total possible pairs - 873762 out of 2.500 A cutoff
pairs selected - 88106 within 6.100 A cutoff
pairs selected (long) - 546697 within 16.000 A cutoff
pairs selected (long) - 0 out of 16.000 A cutoff


Iteration Elgvn Elgvn_inner Elgvn-TdS_immob

0 -75.751 -73.358 -75.751
1 -48.971 -43.134 -40.785
2 -48.524 -40.651 -45.247
3 -49.898 -40.836 -46.684
4 -50.948 -41.183 -47.866
5 -51.701 -41.513 -48.682
6 -52.252 -41.803 -49.249
7 -52.666 -42.055 -49.652
8 -52.987 -42.272 -49.943
9 -53.241 -42.461 -50.155
10 -53.501 -42.665 -50.366
11 -53.743 -42.858 -50.560
12 -53.961 -43.034 -50.731
13 -54.157 -43.192 -50.877
14 -54.331 -43.334 -51.000
15 -54.486 -43.462 -51.102
16 -54.624 -43.576 -51.184
17 -54.747 -43.678 -51.247
18 -54.856 -43.770 -51.293
19 -54.952 -43.851 -51.322
20 -55.037 -43.923 -51.334
21 -55.110 -43.986 -51.329
22 -55.173 -44.039 -51.306

Elgvn = -55.173 Evdw = -5.406 -TdS_phobic = 0.000 -TdS_total = 3.866

------------------------------------------------------------------------

Grid origin -0.452 -0.834 0.087

No of inner grid dipoles : 756
No of surface constrained dipoles : 194
Total number of Langevin dipoles : 1358
Noniterative lgvn energy (total,inner): -72.275 -66.108


Iterative LD calculation for the chosen grid

dipole pair list

total possible pairs - 887147 out of 2.500 A cutoff
pairs selected - 91275 within 6.100 A cutoff
pairs selected (long) - 556528 within 16.000 A cutoff
pairs selected (long) - 0 out of 16.000 A cutoff


Iteration Elgvn Elgvn_inner Elgvn-TdS_immob

0 -81.536 -77.392 -81.536
1 -52.109 -45.237 -42.529
2 -51.284 -42.620 -47.824
3 -52.569 -42.833 -49.137
4 -53.563 -43.185 -50.259
5 -54.282 -43.511 -51.044
6 -54.810 -43.792 -51.598
7 -55.207 -44.029 -51.995
8 -55.512 -44.229 -52.286
9 -55.752 -44.398 -52.500
10 -55.980 -44.565 -52.690
11 -56.183 -44.715 -52.854
12 -56.362 -44.846 -52.992
13 -56.517 -44.960 -53.104
14 -56.653 -45.060 -53.193
15 -56.771 -45.146 -53.261
16 -56.874 -45.220 -53.309
17 -56.962 -45.284 -53.339
18 -57.039 -45.339 -53.351
19 -57.103 -45.385 -53.345
20 -57.157 -45.422 -53.321

Elgvn = -57.157 Evdw = -5.670 -TdS_phobic = 0.000 -TdS_total = 3.836

------------------------------------------------------------------------

Grid origin -0.376 -0.530 0.055

No of inner grid dipoles : 760
No of surface constrained dipoles : 198
Total number of Langevin dipoles : 1361
Noniterative lgvn energy (total,inner): -71.535 -65.374


Iterative LD calculation for the chosen grid

dipole pair list

total possible pairs - 890242 out of 2.500 A cutoff
pairs selected - 92188 within 6.100 A cutoff
pairs selected (long) - 559510 within 16.000 A cutoff
pairs selected (long) - 0 out of 16.000 A cutoff


Iteration Elgvn Elgvn_inner Elgvn-TdS_immob

0 -81.240 -76.717 -81.240
1 -51.106 -43.958 -41.078
2 -50.334 -41.428 -46.998
3 -51.653 -41.688 -48.331
4 -52.658 -42.057 -49.460
5 -53.383 -42.391 -50.245
6 -53.915 -42.676 -50.796
7 -54.315 -42.913 -51.189
8 -54.622 -43.112 -51.473
9 -54.865 -43.279 -51.680
10 -55.095 -43.443 -51.862
11 -55.300 -43.590 -52.018
12 -55.478 -43.718 -52.144
13 -55.633 -43.827 -52.242
14 -55.767 -43.921 -52.314
15 -55.882 -44.000 -52.362
16 -55.980 -44.066 -52.385
17 -56.062 -44.120 -52.384
18 -56.130 -44.163 -52.358

Elgvn = -56.130 Evdw = -5.730 -TdS_phobic = 0.000 -TdS_total = 3.772

------------------------------------------------------------------------

Grid origin 1.007 -0.729 0.013

No of inner grid dipoles : 756
No of surface constrained dipoles : 196
Total number of Langevin dipoles : 1360
Noniterative lgvn energy (total,inner): -70.929 -64.754


Iterative LD calculation for the chosen grid

dipole pair list

total possible pairs - 889416 out of 2.500 A cutoff
pairs selected - 91494 within 6.100 A cutoff
pairs selected (long) - 558988 within 16.000 A cutoff
pairs selected (long) - 0 out of 16.000 A cutoff


Iteration Elgvn Elgvn_inner Elgvn-TdS_immob

0 -79.767 -75.902 -79.767
1 -50.966 -44.173 -41.545
2 -50.418 -41.705 -46.935
3 -51.778 -41.925 -48.357
4 -52.809 -42.274 -49.521
5 -53.553 -42.602 -50.325
6 -54.102 -42.888 -50.887
7 -54.519 -43.134 -51.290
8 -54.845 -43.345 -51.582
9 -55.107 -43.526 -51.794
10 -55.364 -43.713 -52.001
11 -55.598 -43.884 -52.185
12 -55.806 -44.037 -52.339
13 -55.989 -44.172 -52.467
14 -56.151 -44.291 -52.569
15 -56.294 -44.395 -52.647
16 -56.420 -44.487 -52.703
17 -56.531 -44.567 -52.738
18 -56.627 -44.637 -52.751
19 -56.711 -44.697 -52.741
20 -56.783 -44.748 -52.707

Elgvn = -56.783 Evdw = -5.622 -TdS_phobic = 0.000 -TdS_total = 4.076

------------------------------------------------------------------------

Grid origin 0.502 0.389 0.041

No of inner grid dipoles : 749
No of surface constrained dipoles : 202
Total number of Langevin dipoles : 1356
Noniterative lgvn energy (total,inner): -72.015 -65.919


Iterative LD calculation for the chosen grid

dipole pair list

total possible pairs - 882993 out of 2.500 A cutoff
pairs selected - 90608 within 6.100 A cutoff
pairs selected (long) - 553283 within 16.000 A cutoff
pairs selected (long) - 0 out of 16.000 A cutoff


Iteration Elgvn Elgvn_inner Elgvn-TdS_immob

0 -80.967 -77.170 -80.967
1 -51.708 -44.921 -42.216
2 -51.015 -42.310 -47.602
3 -52.376 -42.540 -48.980
4 -53.415 -42.912 -50.140
5 -54.161 -43.259 -50.943
6 -54.707 -43.561 -51.500
7 -55.118 -43.819 -51.894
8 -55.435 -44.042 -52.177
9 -55.686 -44.234 -52.378
10 -55.932 -44.431 -52.569
11 -56.155 -44.613 -52.737
12 -56.353 -44.776 -52.878
13 -56.527 -44.921 -52.992
14 -56.679 -45.049 -53.081
15 -56.812 -45.163 -53.146
16 -56.928 -45.262 -53.189
17 -57.027 -45.350 -53.210
18 -57.113 -45.426 -53.210
19 -57.184 -45.491 -53.187

Elgvn = -57.184 Evdw = -5.616 -TdS_phobic = 0.000 -TdS_total = 3.997

------------------------------------------------------------------------

Grid origin -0.436 0.508 0.659

No of inner grid dipoles : 769
No of surface constrained dipoles : 197
Total number of Langevin dipoles : 1367
Noniterative lgvn energy (total,inner): -71.256 -65.330


Iterative LD calculation for the chosen grid

dipole pair list

total possible pairs - 898374 out of 2.500 A cutoff
pairs selected - 92985 within 6.100 A cutoff
pairs selected (long) - 566170 within 16.000 A cutoff
pairs selected (long) - 0 out of 16.000 A cutoff


Iteration Elgvn Elgvn_inner Elgvn-TdS_immob

0 -80.532 -76.618 -80.532
1 -50.974 -44.107 -41.073
2 -50.377 -41.671 -46.968
3 -51.724 -41.940 -48.345
4 -52.741 -42.324 -49.485
5 -53.478 -42.682 -50.275
6 -54.021 -42.993 -50.828
7 -54.434 -43.261 -51.223
8 -54.756 -43.491 -51.509
9 -55.013 -43.689 -51.716
10 -55.264 -43.889 -51.910
11 -55.492 -44.070 -52.080
12 -55.694 -44.232 -52.222
13 -55.873 -44.374 -52.336
14 -56.030 -44.499 -52.424
15 -56.168 -44.607 -52.487
16 -56.289 -44.702 -52.525
17 -56.393 -44.782 -52.539
18 -56.482 -44.850 -52.526
19 -56.557 -44.906 -52.485

Elgvn = -56.557 Evdw = -5.628 -TdS_phobic = 0.000 -TdS_total = 4.072

------------------------------------------------------------------------

Grid origin 0.171 0.843 -0.813

No of inner grid dipoles : 752
No of surface constrained dipoles : 192
Total number of Langevin dipoles : 1344
Noniterative lgvn energy (total,inner): -68.742 -63.198


Iterative LD calculation for the chosen grid

dipole pair list

total possible pairs - 868912 out of 2.500 A cutoff
pairs selected - 88974 within 6.100 A cutoff
pairs selected (long) - 546480 within 16.000 A cutoff
pairs selected (long) - 0 out of 16.000 A cutoff


Iteration Elgvn Elgvn_inner Elgvn-TdS_immob

0 -76.844 -74.140 -76.844
1 -49.776 -43.615 -40.911
2 -49.236 -41.083 -45.849
3 -50.605 -41.314 -47.293
4 -51.640 -41.693 -48.461
5 -52.377 -42.044 -49.261
6 -52.911 -42.349 -49.813
7 -53.310 -42.610 -50.202
8 -53.616 -42.834 -50.481
9 -53.856 -43.027 -50.682
10 -54.092 -43.223 -50.874
11 -54.307 -43.403 -51.044
12 -54.498 -43.564 -51.189
13 -54.666 -43.707 -51.309
14 -54.814 -43.834 -51.405
15 -54.944 -43.945 -51.478
16 -55.057 -44.042 -51.530
17 -55.156 -44.127 -51.560
18 -55.240 -44.201 -51.569
19 -55.312 -44.263 -51.556
20 -55.371 -44.314 -51.519

Elgvn = -55.371 Evdw = -5.562 -TdS_phobic = 0.000 -TdS_total = 3.852

------------------------------------------------------------------------

Grid origin 0.177 -1.115 -0.616

No of inner grid dipoles : 760
No of surface constrained dipoles : 201
Total number of Langevin dipoles : 1359
Noniterative lgvn energy (total,inner): -69.246 -63.696


Iterative LD calculation for the chosen grid

dipole pair list

total possible pairs - 887137 out of 2.500 A cutoff
pairs selected - 90276 within 6.100 A cutoff
pairs selected (long) - 556280 within 16.000 A cutoff
pairs selected (long) - 0 out of 16.000 A cutoff


Iteration Elgvn Elgvn_inner Elgvn-TdS_immob

0 -78.730 -74.790 -78.730
1 -50.027 -43.252 -41.119
2 -49.298 -40.848 -46.078
3 -50.541 -41.115 -47.344
4 -51.492 -41.491 -48.418
5 -52.176 -41.830 -49.165
6 -52.677 -42.120 -49.688
7 -53.055 -42.365 -50.063
8 -53.346 -42.572 -50.335
9 -53.577 -42.749 -50.533
10 -53.803 -42.929 -50.721
11 -54.009 -43.093 -50.888
12 -54.192 -43.240 -51.030
13 -54.354 -43.369 -51.148
14 -54.497 -43.483 -51.243
15 -54.623 -43.584 -51.319
16 -54.734 -43.673 -51.375
17 -54.833 -43.751 -51.413
18 -54.919 -43.819 -51.433
19 -54.994 -43.878 -51.436
20 -55.059 -43.928 -51.420
21 -55.114 -43.970 -51.386

Elgvn = -55.114 Evdw = -5.412 -TdS_phobic = 0.000 -TdS_total = 3.728

------------------------------------------------------------------------

Grid origin 1.283 0.790 -0.949

No of inner grid dipoles : 750
No of surface constrained dipoles : 203
Total number of Langevin dipoles : 1347
Noniterative lgvn energy (total,inner): -68.609 -63.370


Iterative LD calculation for the chosen grid

dipole pair list

total possible pairs - 870860 out of 2.500 A cutoff
pairs selected - 88485 within 6.100 A cutoff
pairs selected (long) - 544132 within 16.000 A cutoff
pairs selected (long) - 0 out of 16.000 A cutoff


Iteration Elgvn Elgvn_inner Elgvn-TdS_immob

0 -76.521 -74.476 -76.521
1 -49.185 -43.614 -40.683
2 -48.637 -41.046 -45.425
3 -49.993 -41.233 -46.847
4 -51.027 -41.581 -48.002
5 -51.765 -41.912 -48.792
6 -52.303 -42.205 -49.336
7 -52.706 -42.461 -49.715
8 -53.018 -42.685 -49.982
9 -53.265 -42.883 -50.167
10 -53.524 -43.102 -50.362
11 -53.768 -43.311 -50.543
12 -53.990 -43.504 -50.700
13 -54.190 -43.679 -50.832
14 -54.369 -43.837 -50.940
15 -54.528 -43.981 -51.025
16 -54.671 -44.111 -51.089
17 -54.797 -44.227 -51.131
18 -54.909 -44.332 -51.153
19 -55.007 -44.425 -51.154
20 -55.091 -44.508 -51.133
21 -55.164 -44.579 -51.090

Elgvn = -55.164 Evdw = -5.646 -TdS_phobic = 0.000 -TdS_total = 4.073

------------------------------------------------------------------------

Grid origin 1.062 -0.595 -0.573

No of inner grid dipoles : 750
No of surface constrained dipoles : 221
Total number of Langevin dipoles : 1366
Noniterative lgvn energy (total,inner): -67.741 -62.109


Iterative LD calculation for the chosen grid

dipole pair list

total possible pairs - 892814 out of 2.500 A cutoff
pairs selected - 88626 within 6.100 A cutoff
pairs selected (long) - 555462 within 16.000 A cutoff
pairs selected (long) - 0 out of 16.000 A cutoff


Iteration Elgvn Elgvn_inner Elgvn-TdS_immob

0 -76.075 -72.962 -76.075
1 -49.455 -43.061 -41.138
2 -48.900 -40.584 -45.603
3 -50.183 -40.762 -46.959
4 -51.168 -41.102 -48.067
5 -51.876 -41.428 -48.830
6 -52.396 -41.715 -49.358
7 -52.788 -41.963 -49.731
8 -53.093 -42.176 -49.996
9 -53.336 -42.362 -50.183
10 -53.581 -42.558 -50.375
11 -53.809 -42.743 -50.549
12 -54.013 -42.910 -50.697
13 -54.194 -43.059 -50.820
14 -54.356 -43.193 -50.920
15 -54.499 -43.312 -50.998
16 -54.625 -43.418 -51.056
17 -54.737 -43.513 -51.094
18 -54.836 -43.596 -51.112
19 -54.922 -43.670 -51.112
20 -54.997 -43.734 -51.093
21 -55.060 -43.789 -51.054

Elgvn = -55.060 Evdw = -5.286 -TdS_phobic = 0.000 -TdS_total = 4.006

------------------------------------------------------------------------

Grid origin 1.026 -0.375 0.114

No of inner grid dipoles : 752
No of surface constrained dipoles : 218
Total number of Langevin dipoles : 1365
Noniterative lgvn energy (total,inner): -68.761 -62.761


Iterative LD calculation for the chosen grid

dipole pair list

total possible pairs - 891950 out of 2.500 A cutoff
pairs selected - 89933 within 6.100 A cutoff
pairs selected (long) - 557318 within 16.000 A cutoff
pairs selected (long) - 0 out of 16.000 A cutoff


Iteration Elgvn Elgvn_inner Elgvn-TdS_immob

0 -76.929 -73.761 -76.929
1 -49.188 -42.869 -40.550
2 -48.704 -40.383 -45.488
3 -50.026 -40.525 -46.885
4 -51.021 -40.821 -48.009
5 -51.732 -41.107 -48.777
6 -52.251 -41.361 -49.307
7 -52.641 -41.580 -49.679
8 -52.944 -41.769 -49.941
9 -53.184 -41.932 -50.123
10 -53.426 -42.107 -50.301
11 -53.647 -42.271 -50.455
12 -53.843 -42.417 -50.577
13 -54.015 -42.545 -50.667
14 -54.163 -42.656 -50.723
15 -54.290 -42.750 -50.747
16 -54.397 -42.830 -50.737
17 -54.486 -42.895 -50.691

Elgvn = -54.486 Evdw = -5.556 -TdS_phobic = 0.000 -TdS_total = 3.795

------------------------------------------------------------------------

Grid origin 0.016 -0.142 0.266

No of inner grid dipoles : 752
No of surface constrained dipoles : 199
Total number of Langevin dipoles : 1351
Noniterative lgvn energy (total,inner): -67.604 -61.822


Iterative LD calculation for the chosen grid

dipole pair list

total possible pairs - 877012 out of 2.500 A cutoff
pairs selected - 88808 within 6.100 A cutoff
pairs selected (long) - 551184 within 16.000 A cutoff
pairs selected (long) - 0 out of 16.000 A cutoff


Iteration Elgvn Elgvn_inner Elgvn-TdS_immob

0 -76.572 -72.759 -76.572
1 -49.002 -42.205 -40.450
2 -48.392 -39.766 -45.150
3 -49.683 -39.984 -46.495
4 -50.657 -40.326 -47.603
5 -51.347 -40.637 -48.359
6 -51.845 -40.905 -48.879
7 -52.216 -41.133 -49.244
8 -52.500 -41.327 -49.505
9 -52.724 -41.493 -49.692
10 -52.945 -41.665 -49.870
11 -53.145 -41.823 -50.026
12 -53.323 -41.963 -50.157
13 -53.480 -42.087 -50.263
14 -53.617 -42.196 -50.347
15 -53.738 -42.292 -50.408
16 -53.844 -42.376 -50.448
17 -53.935 -42.448 -50.468
18 -54.014 -42.510 -50.466
19 -54.080 -42.562 -50.441

Elgvn = -54.080 Evdw = -5.442 -TdS_phobic = 0.000 -TdS_total = 3.640

------------------------------------------------------------------------

Grid origin 0.555 0.047 0.380

No of inner grid dipoles : 755
No of surface constrained dipoles : 206
Total number of Langevin dipoles : 1361
Noniterative lgvn energy (total,inner): -68.356 -62.697


Iterative LD calculation for the chosen grid

dipole pair list

total possible pairs - 889017 out of 2.500 A cutoff
pairs selected - 89469 within 6.100 A cutoff
pairs selected (long) - 556054 within 16.000 A cutoff
pairs selected (long) - 0 out of 16.000 A cutoff


Iteration Elgvn Elgvn_inner Elgvn-TdS_immob

0 -76.763 -73.743 -76.763
1 -49.419 -43.112 -40.830
2 -48.913 -40.667 -45.606
3 -50.236 -40.874 -46.969
4 -51.232 -41.227 -48.089
5 -51.942 -41.561 -48.854
6 -52.457 -41.856 -49.380
7 -52.843 -42.114 -49.748
8 -53.141 -42.338 -50.009
9 -53.378 -42.535 -50.193
10 -53.618 -42.744 -50.379
11 -53.841 -42.939 -50.548
12 -54.042 -43.118 -50.693
13 -54.221 -43.279 -50.816
14 -54.381 -43.424 -50.915
15 -54.524 -43.554 -50.995
16 -54.651 -43.672 -51.055
17 -54.764 -43.778 -51.096
18 -54.864 -43.873 -51.119
19 -54.952 -43.958 -51.125
20 -55.028 -44.033 -51.112
21 -55.094 -44.099 -51.081

Elgvn = -55.094 Evdw = -5.478 -TdS_phobic = 0.000 -TdS_total = 4.014

------------------------------------------------------------------------

Grid origin -0.071 -0.378 -0.243

No of inner grid dipoles : 754
No of surface constrained dipoles : 195
Total number of Langevin dipoles : 1348
Noniterative lgvn energy (total,inner): -68.249 -62.551


Iterative LD calculation for the chosen grid

dipole pair list

total possible pairs - 873650 out of 2.500 A cutoff
pairs selected - 89300 within 6.100 A cutoff
pairs selected (long) - 549673 within 16.000 A cutoff
pairs selected (long) - 0 out of 16.000 A cutoff


Iteration Elgvn Elgvn_inner Elgvn-TdS_immob

0 -76.970 -73.525 -76.970
1 -49.451 -42.918 -40.909
2 -48.854 -40.488 -45.614
3 -50.115 -40.687 -46.936
4 -51.077 -41.024 -48.024
5 -51.767 -41.339 -48.775
6 -52.272 -41.613 -49.299
7 -52.653 -41.846 -49.673
8 -52.947 -42.045 -49.945
9 -53.180 -42.215 -50.143
10 -53.411 -42.391 -50.333
11 -53.621 -42.554 -50.502
12 -53.809 -42.699 -50.647
13 -53.974 -42.828 -50.767
14 -54.120 -42.941 -50.865
15 -54.248 -43.040 -50.942
16 -54.361 -43.127 -50.999
17 -54.459 -43.203 -51.039
18 -54.545 -43.269 -51.060
19 -54.619 -43.325 -51.063
20 -54.682 -43.372 -51.048
21 -54.734 -43.411 -51.014

Elgvn = -54.734 Evdw = -5.460 -TdS_phobic = 0.000 -TdS_total = 3.721

------------------------------------------------------------------------

Grid origin 1.227 -0.765 0.003

No of inner grid dipoles : 748
No of surface constrained dipoles : 202
Total number of Langevin dipoles : 1358
Noniterative lgvn energy (total,inner): -71.369 -64.938


Iterative LD calculation for the chosen grid

dipole pair list

total possible pairs - 885764 out of 2.500 A cutoff
pairs selected - 90711 within 6.100 A cutoff
pairs selected (long) - 555290 within 16.000 A cutoff
pairs selected (long) - 0 out of 16.000 A cutoff


Iteration Elgvn Elgvn_inner Elgvn-TdS_immob

0 -79.549 -76.073 -79.549
1 -51.161 -44.512 -41.904
2 -50.654 -41.920 -47.148
3 -52.073 -42.104 -48.636
4 -53.144 -42.440 -49.843
5 -53.908 -42.759 -50.673
6 -54.465 -43.036 -51.248
7 -54.881 -43.273 -51.654
8 -55.201 -43.473 -51.943
9 -55.451 -43.642 -52.148
10 -55.691 -43.813 -52.338
11 -55.905 -43.968 -52.501
12 -56.091 -44.103 -52.633
13 -56.251 -44.220 -52.736
14 -56.389 -44.319 -52.812
15 -56.505 -44.403 -52.862
16 -56.604 -44.474 -52.887
17 -56.686 -44.532 -52.889
18 -56.752 -44.578 -52.867
19 -56.805 -44.613 -52.819

Elgvn = -56.805 Evdw = -5.736 -TdS_phobic = 0.000 -TdS_total = 3.986

------------------------------------------------------------------------

Grid origin 0.462 0.770 -0.417

No of inner grid dipoles : 755
No of surface constrained dipoles : 193
Total number of Langevin dipoles : 1357
Noniterative lgvn energy (total,inner): -69.383 -63.481


Iterative LD calculation for the chosen grid

dipole pair list

total possible pairs - 886116 out of 2.500 A cutoff
pairs selected - 90060 within 6.100 A cutoff
pairs selected (long) - 556280 within 16.000 A cutoff
pairs selected (long) - 0 out of 16.000 A cutoff


Iteration Elgvn Elgvn_inner Elgvn-TdS_immob

0 -78.584 -74.470 -78.584
1 -50.708 -43.725 -41.902
2 -49.973 -41.192 -46.584
3 -51.260 -41.416 -47.880
4 -52.268 -41.793 -48.992
5 -53.002 -42.145 -49.768
6 -53.546 -42.452 -50.310
7 -53.958 -42.716 -50.693
8 -54.279 -42.944 -50.966
9 -54.535 -43.142 -51.157
10 -54.791 -43.348 -51.347
11 -55.027 -43.541 -51.516
12 -55.238 -43.715 -51.659
13 -55.426 -43.870 -51.775
14 -55.592 -44.009 -51.866
15 -55.739 -44.131 -51.933
16 -55.868 -44.240 -51.978
17 -55.982 -44.335 -52.000
18 -56.081 -44.418 -52.000
19 -56.166 -44.490 -51.979
20 -56.238 -44.550 -51.935

Elgvn = -56.238 Evdw = -5.364 -TdS_phobic = 0.000 -TdS_total = 4.303

------------------------------------------------------------------------

Grid origin 1.019 -1.084 -0.836

No of inner grid dipoles : 763
No of surface constrained dipoles : 206
Total number of Langevin dipoles : 1368
Noniterative lgvn energy (total,inner): -68.555 -63.048


Iterative LD calculation for the chosen grid

dipole pair list

total possible pairs - 898337 out of 2.500 A cutoff
pairs selected - 90798 within 6.100 A cutoff
pairs selected (long) - 561527 within 16.000 A cutoff
pairs selected (long) - 0 out of 16.000 A cutoff


Iteration Elgvn Elgvn_inner Elgvn-TdS_immob

0 -78.496 -74.093 -78.496
1 -50.056 -43.008 -41.277
2 -49.233 -40.593 -46.017
3 -50.444 -40.862 -47.266
4 -51.398 -41.252 -48.336
5 -52.097 -41.604 -49.090
6 -52.617 -41.907 -49.624
7 -53.016 -42.163 -50.011
8 -53.329 -42.380 -50.296
9 -53.582 -42.566 -50.507
10 -53.835 -42.759 -50.716
11 -54.069 -42.937 -50.905
12 -54.279 -43.097 -51.069
13 -54.467 -43.240 -51.209
14 -54.635 -43.365 -51.327
15 -54.784 -43.477 -51.423
16 -54.917 -43.575 -51.500
17 -55.035 -43.662 -51.558
18 -55.140 -43.738 -51.599
19 -55.233 -43.804 -51.622
20 -55.314 -43.861 -51.627
21 -55.383 -43.908 -51.615
22 -55.443 -43.947 -51.584

Elgvn = -55.443 Evdw = -5.508 -TdS_phobic = 0.000 -TdS_total = 3.859

------------------------------------------------------------------------

Grid origin 0.746 -1.048 0.833

No of inner grid dipoles : 751
No of surface constrained dipoles : 208
Total number of Langevin dipoles : 1357
Noniterative lgvn energy (total,inner): -68.100 -62.591


Iterative LD calculation for the chosen grid

dipole pair list

total possible pairs - 883338 out of 2.500 A cutoff
pairs selected - 88521 within 6.100 A cutoff
pairs selected (long) - 550327 within 16.000 A cutoff
pairs selected (long) - 0 out of 16.000 A cutoff


Iteration Elgvn Elgvn_inner Elgvn-TdS_immob

0 -77.999 -73.587 -77.999
1 -50.360 -43.205 -42.023
2 -49.429 -40.663 -46.177
3 -50.581 -40.883 -47.356
4 -51.502 -41.262 -48.382
5 -52.173 -41.615 -49.099
6 -52.668 -41.921 -49.601
7 -53.044 -42.185 -49.956
8 -53.337 -42.412 -50.212
9 -53.573 -42.609 -50.395
10 -53.811 -42.814 -50.579
11 -54.033 -43.006 -50.746
12 -54.232 -43.179 -50.890
13 -54.411 -43.333 -51.009
14 -54.571 -43.471 -51.106
15 -54.713 -43.594 -51.181
16 -54.839 -43.704 -51.236
17 -54.950 -43.800 -51.271
18 -55.048 -43.885 -51.287
19 -55.133 -43.959 -51.282
20 -55.206 -44.023 -51.257

Elgvn = -55.206 Evdw = -5.514 -TdS_phobic = 0.000 -TdS_total = 3.950

------------------------------------------------------------------------
Final LD energies for different grids

Elgvn

1 -55.707
2 -55.555
3 -55.173
4 -57.157
5 -56.130
6 -56.783
7 -57.184
8 -56.557
9 -55.371
10 -55.114
11 -55.164
12 -55.060
13 -54.486
14 -54.080
15 -55.094
16 -54.734
17 -56.805
18 -56.238
19 -55.443
20 -55.206


lowest energy ---> -57.184
mean energy ---> -55.652
boltzmann <energies> ---> -56.724
for temperature ---> 300.0 K


Contributions to -TdS (kcal/mol)
Change in free-volume: 1.400
Hydrophobic : 0.000
Dipolar saturation : 3.910

------------------------------------------------------------------------

Estimation of the bulk energy using Born equation


Born radius equals - 16.25 A

molecular dipole (Debye) - 6.04
molecular charge - 1.00
Born monopole energy - -10.08
scaled Onsager dipole energy - 0.00

total bulk energy difference - -10.08

------------------------------------------------------------------------

FINAL RESULTS


*****************************
Langevin Dipoles Calculation
*****************************

Transfer of solute at 298K: GAS,1M -> WATER,1M (kcal/mol)

Langevin energy -55.65
-TdS 5.31
VdW energy -5.56
dBorn+dOnsager -10.08
Total dG -65.98



Molecule lgvn VdW -TdS Born dHsolv dGsolv
Vg128 -55.7 -5.6 5.3 -10.1 -71.3 -66.0

For more information about the output, see the ChemSol manual.

 


12.3 ClustalX - Multiple Sequence Alignments

 

12.3.1 Introduction

This plug-in interfaces VEGA ZZ to ClustalX, NJPlot and Unrooted in order to performs multiple sequence alignments, profile analysis, philogenetic trees calculation and their visualization.

 

12.3.2 ClustalX

ClustalX provides a new window-based user interface to the ClustalW multiple alignment program. The sequence alignment is displayed in a window on the screen. A versatile coloring scheme has been incorporated allowing you to highlight conserved features in the alignment. The pull-down menus at the top of the window allow you to select all the options required for traditional multiple sequence and profile alignment. To open the main window, you must select Bioinformatics Predator from the main menu:

 

ClustalX main window

 

For more information, please consult the ClustalX, ClustalV and ClustalW documentations in the ClustalX installation directory.

 

12.3.3 NJPlot and Unrooted

NJPlot and Unrooted are tools for philogenetic tree visualization. The first displays rooted tree and can be opened selecting Bioinformatics NJPlot:

 

NJPlot main window

 

Unrooted, shown by Bioinformatics NJPlot unrooted, allows to display philogenetic trees in unrooted mode:

 

Unrooted main window

 

12.3.3.1 NJPlot original documentation

About NJPlot
Written by M. Gouy (mgouy@biomserv.univ-lyon1.fr).

Phylogenetic trees read from Newick formatted files can be displayed, re-rooted, saved, and plotted to PostScript (or PICT for the Macintosh) files. Input trees can be with/without branch lengths, with/without bootstrap values, rooted or unrooted. Only binary trees are accepted.

NJPlot is available by anonymous FTP at pbil.univ-lyon1.fr in directory /pub/mol_phylogeny/njplot/ for MAC, PC under Windows95/NT and several unix platforms.
njplot uses the Vibrant library by J. Kans.

 

Menu File
Open: To read a tree file in the Newick format (i.e., the file format used for trees by Clustal, PHYLIP and other programs).

Save plot: To save the tree plot in PostScript format, or in the PICT format for the Macintosh.

Save tree: To save the tree in a file with its current rooting.

Print: To print tree using the number of pages set by menu "Paper".

 

Menu Edit
Copy: [Mac & Windows ONLY!] Copies the current tree plot to the Clipboard so that the plot can be pasted to another application.

Paste: If the clipboard contains a parenthesized tree, this tree will be plotted.

Clear: Clears the current plot so that new tree data can be pasted.

Find: To search for a taxon in tree and display it in red. Enter a (partial) name, case is not significant.

Again: Redisplay in red names matching the string entered in a previous Find operation.

 

Menu Font
Allows to change the font face and size used to display tree labels.

 

Menu Paper
Allows to set the paper size used by the "Save plot" and "Print" items of menu "File".

Pagecount (x): sets the number of pages used by "Save plot".

 

Operations
Full tree: Normal tree display of entire tree
New outgroup: Allows to re-root the tree. The tree becomes displayed with added # signs. Clicking on any # will set descending taxa as an outgroup to remaining taxa.

Swap nodes: Allows to change the display order of taxa. The tree becomes  displayed with added # signs. Clicking on any # will swap corresponding taxa.

Subtree: Allows to zoom on part of the tree. The tree becomes displayed with added # signs. Clicking on any # will limit display to descending taxa. Select "Show tree" to go back to full tree display.

 

Display
Branch lengths: If the tree contains branch lengths, they will be displayed. For readability, very short lengths are not displayed.
Bootstrap values: If the tree contains bootstrap values, they will be displayed.

 

Subtree up
When a subtree is being displayed, allows to add one more node towards the
root in the displayed tree part.

 

12.3.4 Copyright

ClustalX
Multiple Sequence Alignment Program

© Toby Gibson EMBL, Heidelberg, Germany
Des Higgins UCC, Cork, Ireland
Julie Thompson/Francois Jeanmougin IGBMC, Strasbourg, France.

 

NJPlot and Unrooted
Phylogenetic Trees Drawing Software

©  Manolo Gouy, Lion, France


11.4 Dhrystone Test

This plug-in allows to test the performance of your CPU. It's an old benchmark that is included in the package as example of VEGA ZZ plug-in system. The plug-in was developed in C/C++ using Reinhold P. Weicker's original code and to show it, you must select Tools Dhrystone test in main menu.

 

Dhrystone 2.1 CPU Test

 

Clicking Run button, the test begin. The plug-in shows an error message if the number of steps is too little to obtain meaningful results. Faster CPUs require higher number of steps.

 

Results

 

Clicking the About label, the copyright dialog is shown:

 

  About Dhrystone

 

For more information about Dhrystone test, see below:

    Dhrystone Benchmark: Rationale for Version 2 and Measurement Rules
                 Reinhold P. Weicker
                 Siemens AG, E STE 35
                 Postfach 3240
                 D-8520 Erlangen
                 Germany (West)


1.  Why a Version 2 of Dhrystone?
The Dhrystone benchmark  program  [1]  has  become  a  popular  benchmark  for
CPU/compiler   performance   measurement,   in   particular  in  the  area  of
minicomputers, workstations, PC's and microprocessors. It apparently satisfies
a  need  for  an  easy-to-use  integer benchmark; it gives a first performance
indication which is more meaningful than MIPS numbers which, in their  literal
meaning  (million  instructions  per  second), cannot be used across different
instruction sets (e.g. RISC  vs.  CISC).   With  the  increasing  use  of  the
benchmark, it seems necessary to reconsider the benchmark and to check whether
it can still fulfill this function.  Version 2 of Dhrystone is the  result  of
such a re-evaluation, it has been made for two reasons:
o Dhrystone has been published in Ada [1], and Versions in Ada, Pascal  and  C
  have  been  distributed  by  Reinhold Weicker via floppy disk.  However, the
  version that was used most often for benchmarking has been the version  made
  by  Rick  Richardson  by another translation from the Ada version into the C
  programming language, this has been the version  distributed  via  the  UNIX
  network Usenet [2].
  There is an obvious need for a common C version of Dhrystone, since C is  at
  present  the  most  popular  system  programming  language  for the class of
  systems (microcomputers, minicomputers,  workstations)  where  Dhrystone  is
  used  most.   There  should  be,  as  far as possible, only one C version of
  Dhrystone such that results can be compared  without  restrictions.  In  the
  past,  the  C  versions  distributed by Rick Richardson (Version 1.1) and by
  Reinhold Weicker had small (though not significant) differences.
  Together with the new C version, the  Ada  and  Pascal  versions  have  been
  updated as well.
o As far as it is  possible  without  changes  to  the  Dhrystone  statistics,
  optimizing   compilers   should   be  prevented  from  removing  significant
  statements.  It has  turned  out  in  the  past  that  optimizing  compilers
  suppressed  code  generation for too many statements (by "dead code removal"
  or  "dead  variable  elimination").   This  has  lead  to  the  danger  that
  benchmarking  results obtained by a naive application of Dhrystone - without
  inspection of the code that was generated - could become meaningless.
The  overall  policy   for  version  2  has  been  that  the  distribution  of
statements,  operand types and operand locality described in [1] should remain
unchanged as much as possible.  (Very few changes were necessary; their impact
should be negligible.)  Also, the order of statements should remain unchanged.
Although I am aware of some critical remarks on the benchmark - I  agree  with
several  of them - and know some suggestions for improvement, I didn't want to
change the benchmark into something different from what has  become  known  as
"Dhrystone"; the confusion generated by such a change would probably outweight
the benefits. If I were to write a new benchmark program, I wouldn't  give  it
the  name  "Dhrystone"  since  this  denotes  the  program  published  in [1].
However, I do recognize  the  need  for  a  larger  number  of  representative
programs  that can be used as benchmarks; users should always be encouraged to
use more than just one benchmark.
The new versions (version 2.1 for C, Pascal and Ada) will  be  distributed  as
widely as possible.  (Version 2.1 differs from version 2.0 distributed via the
UNIX Network Usenet in  March  1988  only  in  a  few  corrections  for  minor
deficiencies  found  by  users  of  version 2.0.)  Readers who want to use the
benchmark for their own measurements can obtain  a  copy  in  machine-readable
form on floppy disk (MS-DOS or XENIX format) from the author.
2.  Overall Characteristics of Version 2
In general, version 2  follows  -  in  the  parts  that  are  significant  for
performance  measurement,  i.e.   within  the measurement loop - the published
(Ada) version and the C versions previously distributed.  Where  the  versions
distributed  by  Rick Richardson [2] and Reinhold Weicker have been different,
it  follows  the  version  distributed  by  Reinhold  Weicker.  (However,  the
differences  have  been  so  small  that their impact on execution time in all
likelihood has been negligible.)  The initialization and UNIX  instrumentation
part  -  which  had  been  omitted  in  [1] - follows mostly the ideas of Rick
Richardson [2].  However, any changes in the initialization part  and  in  the
printing  of  the  result have no impact on performance measurement since they
are outside the  measurement loop.  As a concession to older compilers,  names
have been made unique within the first 8 characters for the C version.
The original publication of Dhrystone did not contain any statements for  time
measurement  since  they  are necessarily system-dependent. However, it turned
out that it is not enough just to enclose the main procedure of Dhrystone in a
loop  and  to  measure the execution time.  If the variables that are computed
are not used somehow, there is the danger that the compiler considers them  as
"dead  variables" and suppresses code generation for a part of the statements.
Therefore in version 2 all variables of "main" are printed at the end  of  the
program.  This also permits some plausibility control for correct execution of
the benchmark.
At several places in the benchmark, code has been added, but only in  branches
that  are  not  executed. The intention is that optimizing compilers should be
prevented from moving code out of the measurement loop, or from removing  code
altogether.  Statements that are executed have been changed in very few places
only.  In these cases, only the role of some operands has been changed, and it
was   made  sure  that  the  numbers  defining  the  "Dhrystone  distribution"
(distribution of statements, operand types and locality) still hold as much as
possible.   Except for sophisticated optimizing compilers, execution times for
version 2.1 should be the same as for previous versions.
Because of the self-imposed limitation that the order and distribution of  the
executed  statements  should  not  be  changed,  there  are  still cases where
optimizing compilers may not generate code for some statements. To  a  certain
degree,  this  is  unavoidable  for  small synthetic benchmarks.  Users of the
benchmark are advised to check code listings whether code is generated for all
statements of Dhrystone.
Contrary to the suggestion in the published paper and its realization  in  the
versions previously distributed, no attempt has been made to subtract the time
for the measurement loop overhead. (This calculation has proven  difficult  to
implement  in  a  correct  way,  and  its omission makes the program simpler.)
However, since the loop check is now part of the benchmark, this does have  an
impact  -  though a very minor one - on the distribution statistics which have
been updated for this version.
3.  Discussion of Individual Changes
In this section, all changes are described that affect  the  measurement  loop
and  that  are  not  just  renaming   of variables. All remarks refer to the C
version; the other language versions have been updated similarly.
In addition to adding  the  measurement  loop  and  the  printout  statements,
changes have been made at the following places:
o In procedure "main", three statements have been added  in  the  non-executed
  "then" part of the statement
        if (Enum_Loc == Func_1 (Ch_Index, 'C'))
  they are
        strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 3'RD STRING");
        Int_2_Loc = Run_Index;
        Int_Glob = Run_Index;
  The string assignment prevents  movement  of  the  preceding  assignment  to
  Str_2_Loc  (5'th  statement  of  "main")  out  of the measurement loop (This
  probably will not happen for the C version, but it did happen  with  another
  language   and  compiler.)   The  assignment  to  Int_2_Loc  prevents  value
  propagation for Int_2_Loc, and the assignment to Int_Glob makes the value of
  Int_Glob possibly dependent from the value of Run_Index.
o In the three arithmetic computations at the end of the measurement  loop  in
  "main  ",  the  role  of  some  variables has been exchanged, to prevent the
  division from just cancelling out the multiplication as it was  in  [1].   A
  very   smart  compiler  might  have  recognized  this  and  suppressed  code
  generation for the division.
o For Proc_2, no code has been changed, but the values of the actual parameter
  have changed due to changes in "main".
o In Proc_4, the second assignment has been changed from
        Bool_Loc = Bool_Loc | Bool_Glob;
  to
        Bool_Glob = Bool_Loc | Bool_Glob;
  It now assigns a value to a global variable  instead  of  a  local  variable
  (Bool_Loc);   Bool_Loc  would  be  a  "dead  variable"  which  is  not  used
  afterwards.
o In Func_1, the statement
        Ch_1_Glob = Ch_1_Loc;
  was added in the non-executed "else" part of the "if" statement, to  prevent
  the suppression of code generation for the assignment to Ch_1_Loc.
o In Func_2, the second character comparison statement has been changed to
        if (Ch_Loc == 'R')
  ('R' instead of 'X') because  a  comparison  with  'X'  is  implied  in  the
  preceding "if" statement.
  Also in Func_2, the statement
        Int_Glob = Int_Loc;
  has been added in the non-executed part of the last "if" statement, in order
  to prevent Int_Loc from becoming a dead variable.
o In Func_3, a non-executed "else" part has been added to the "if"  statement.
  While  the  program  would  not be incorrect without this "else" part, it is
  considered bad programming practice if a function  can  be  left  without  a
  return value.
  To compensate for this change, the (non-executed) "else" part  in  the  "if"
  statement of Proc_3 was removed.
The distribution statistics have been changed only  by  the  addition  of  the
measurement loop iteration (1 additional statement, 4 additional local integer
operands) and by the change in Proc_4  (one  operand  changed  from  local  to
global).  The distribution statistics in the comment headers have been updated
accordingly.
4.  String Operations
The string operations (string assignment and string comparison) have not  been
changed, to keep the program consistent with the original version.
There has been some concern that the string operations are over-represented in
the  program,  and that execution time is dominated by these operations.  This
was true in particular when optimizing compilers removed too much code in  the
main part of the program, this should have been mitigated in version 2.
It should be noted that this is a  language-dependent  issue:   Dhrystone  was
first  published  in  Ada, and with Ada or Pascal semantics, the time spent in
the string operations is,  at  least  in  all  implementations  known  to  me,
considerably smaller.  In Ada and Pascal, assignment and comparison of strings
are operators defined in the language, and the upper  bounds  of  the  strings
occuring  in  Dhrystone  are part of the type information known at compilation
time.  The compilers can therefore generate  efficient  inline  code.   In  C,
string  assignment and comparisons are not part of the language, so the string
operations must be expressed in terms of the C library functions "strcpy"  and
"strcmp".   (ANSI  C  allows  an  implementation  to use inline code for these
functions.)  In addition to the overhead caused by additional function  calls,
these  functions  are  defined for null-terminated strings where the length of
the strings is not known at compilation time; the function has to check  every
byte for the termination condition (the null byte).
Obviously, a C library which includes efficiently coded "strcpy" and  "strcmp"
functions  helps to obtain good Dhrystone results. However, I don't think that
this is unfair since string  functions  do  occur  quite  frequently  in  real
programs  (editors, command interpreters, etc.).  If the strings functions are
implemented efficiently,  this  helps  real  programs  as  well  as  benchmark
programs.
I admit that the  string  comparison  in  Dhrystone  terminates  later  (after
scanning  20  characters)  than most string comparisons in real programs.  For
consistency with the original benchmark, I didn't change the  program  despite
this weakness.
5.  Intended Use of Dhrystone
When Dhrystone is used, the following "ground rules" apply:
o Separate compilation (Ada and C versions)
  As mentioned in [1], Dhrystone was written  to  reflect  actual  programming
  practice  in  systems  programming.   The  division into several compilation
  units (5 in the Ada version, 2 in the C version)  is  intended,  as  is  the
  distribution of inter-module and intra-module subprogram calls.  Although on
  many systems there will be no difference in execution time  to  a  Dhrystone
  version  where  all  compilation units are merged into one file, the rule is
  that separate compilation should  be  used.   The  intention  is  that  real
  programming  practice,  where  programs  consist  of  several  independently
  compiled units, should  be  reflected.   This  also  has  implies  that  the
  compiler,  while  compiling  one  unit,  has no information about the use of
  variables, register allocation etc. occurring in  other  compilation  units.
  Although  in  real  life  compilation  units  will  probably  be larger, the
  intention is that these effects  of  separate  compilation  are  modeled  in
  Dhrystone.
  A few language systems have post-linkage optimization available (e.g., final
  register allocation is performed after linkage).  This is a borderline case:
  Post-linkage  optimization  involves  additional  program  preparation  time
  (although  not  as  much  as  compilation in one unit) which may prevent its
  general use in practical programming.  I think that  since  it  defeats  the
  intentions given above, it should not be used for Dhrystone.
  Unfortunately, ISO/ANSI  Pascal  does  not  contain  language  features  for
  separate  compilation.   Although  most  commercial Pascal compilers provide
  separate compilation in some way, we cannot use it for Dhrystone since  such
  a  version  would  not  be portable.  Therefore, no attempt has been made to
  provide a Pascal version with several compilation units.
o No procedure merging
  Although Dhrystone contains some very short procedures where execution would
  benefit  from  procedure  merging (inlining, macro expansion of procedures),
  procedure merging is not to be used.  The reason is that the  percentage  of
  procedure  and  function  calls  is  part of the "Dhrystone distribution" of
  statements contained in [1].  This restriction does not hold for the  string
  functions  of  the  C  version  since ANSI C allows an implementation to use
  inline code for these functions.
o Other optimizations are allowed, but they should be indicated
  It is often hard to draw an exact line between "normal code generation"  and
  "optimization"  in  compilers:  Some compilers perform operations by default
  that are invoked in other compilers only  when  optimization  is  explicitly
  requested.  Also, we cannot avoid that in benchmarking people try to achieve
  results that look as good as possible.  Therefore,  optimizations  performed
  by  compilers  -  other  than  those  listed  above - are not forbidden when
  Dhrystone execution times are measured.  Dhrystone is  not  intended  to  be
  non-optimizable  but  is  intended  to  be  similarly  optimizable as normal
  programs.   For  example,  there  are  several  places  in  Dhrystone  where
  performance   benefits   from   optimizations   like   common  subexpression
  elimination, value  propagation  etc.,  but  normal  programs  usually  also
  benefit  from  these  optimizations.   Therefore,  no  effort  was  made  to
  artificially  prevent  such  optimizations.   However,  measurement  reports
  should  indicate  which  compiler  optimization  levels  have been used, and
  reporting results with different levels of  compiler  optimization  for  the
  same hardware is encouraged.
o Default results are those without "register" declarations (C version)
  When Dhrystone results are quoted  without  additional  qualification,  they
  should  be  understood  as  results  obtained  without use of the "register"
  attribute. Good compilers should be able to make good use of registers  even
  without explicit register declarations ([3], p. 193).
Of course, for experimental  purposes,  post-linkage  optimization,  procedure
merging and/or compilation in one unit can be done to determine their effects.
However,  Dhrystone  numbers  obtained  under  these  conditions   should   be
explicitly  marked as such; "normal" Dhrystone results should be understood as
results obtained following the ground rules listed above.
In any case, for serious performance evaluation, users are advised to ask  for
code  listings  and  to  check  them carefully.  In this way, when results for
different systems are  compared,  the  reader  can  get  a  feeling  how  much
performance  difference is due to compiler optimization and how much is due to
hardware speed.
6.  Acknowledgements
The C version 2.1 of Dhrystone has been developed  in  cooperation  with  Rick
Richardson  (Tinton  Falls,  NJ), it incorporates many ideas from the "Version
1.1" distributed previously by him over the UNIX network Usenet.  Through  his
activity with Usenet, Rick Richardson has made a very valuable contribution to
the dissemination of the benchmark.  I also thank  Chaim  Benedelac  (National
Semiconductor),  David Ditzel (SUN), Earl Killian and John Mashey (MIPS), Alan
Smith and Rafael  Saavedra-Barrera  (UC  at  Berkeley)  for  their  help  with
comments on earlier versions of the benchmark.
7.  Bibliography
[1]
   Reinhold P. Weicker: Dhrystone: A Synthetic Systems Programming Benchmark.
   Communications of the ACM 27, 10 (Oct. 1984), 1013-1030
[2]
   Rick Richardson: Dhrystone 1.1 Benchmark Summary (and Program Text)
   Informal Distribution via "Usenet", Last Version Known  to  me:  Sept.  21,
   1987
[3]
   Brian W. Kernighan and Dennis M. Ritchie:  The C Programming Language.
   Prentice-Hall, Englewood Cliffs (NJ) 1978

 


12.5 ESCHER NG - Docking system

 

12.5.1 Introduction

This plug-in interfaces VEGA ZZ to ESCHER NG in order to performs protein - protein and DNA - protein docking calculations.

 

12.5.2 The plug-in

This plug-in provides a window-based user interface to ESCHER NG, the docking software originally developed by Gabriele Ausiello, Gianni Cesareni and Manuela Helmer Citterich. For an exhaustive introduction to the usage of the ESCHER NG software, please see its documentation. To open the plug-in window, you must select Tools Escher NG in main menu:

Escher NG - Automatic docking system

You must specify at least the target and the probe PDB files that can be prepared by VEGA ZZ removing the hydrogens. They must be placed in the same directory. Clicking Run button, the calculation starts in background and Escher NG continues to run even if VEGA ZZ will be closed. Default button sets all parameters to the default values. For more information about the meaning of the other fields, consult the ESCHER NG documentation.
Selecting About Escher NG in Help menu, you can show the copyright window:

About Escher NG


12.6 FAME - Prediction of metabolism sites

 

12.6.1 Introduction

This plug-in interfaces VEGA ZZ to FAME 2 and FAME 3 programs in order to perform the prediction of sites of metabolism (SOMs) of a given molecule or a set of molecules. The input can be the molecule in the current workspace (in this case the SOMs are shown directly on the structure as transparent yellow spheres) or as file in SDF format (FAME 2 and 3) or as text file with the SMILES string and the name (only FAME 3). Both SD and text files can contain more than one molecule.

 

12.6.2 Requirements

Here are shown the hardware and software requirements.

 

12.6.2.2 Hardware requirements

FAME 2 and FAME 3 requires respectively at least 2 and 12 Gb of physical memory.

 

12.6.2.2 Software requirements

FAME plug-in requires VEGA ZZ 3.2.0 or greater that must be pre-installed before the plug-in setup.
FAME 2 and FAME 3 programs require the Java Runtime Environment (JRE) and all dependencies are provided in the package. Since FAME 3 requires more than 4 Gb of address space, to run it the 64 bit version of JRE is needed.

 

12.6.3 The plug-in

12.6.3.1 Installation

The FAME plug-in is not included in the standard VEGA ZZ package and is provided as separated setup. In detail, there are two possible setup files:

Vega_ZZ_X.X.X.X_FAME_2.exe

and

Vega_ZZ_X.X.X.X_FAME_3.exe

where X.X.X.X is the VEGA ZZ version. The former is freely available and includes only FAME 2, while the latter includes both FAME 2 and 3 and is available on request. Before to run the plug-in setup, you must download and install VEGA ZZ.

 

12.6.3.2 Usage

To show the plug-in window, you must select Calculation FAME in VEGA ZZ main menu. The plug-in recognizes automatically if FAME 2 or 3 or both are installed, allowing you to select the program for a specific kind of prediction (see Engine filed). In particular, FAME 2 recognizes only the sites of oxidation in which the cytochrome P450 is involved, while FAME 3 predicts sites in which phase 1 and/or phase 2 metabolic reactions are involved.

FAME main window

In the Model field, you can select the model for the prediction, according to the following table:

FAME version Model Default Description
2 circCDK_ATF_1 Y Offer the best trade-off between generalization and accuracy.  It is based on the atom itself and its immediate neighbours (atoms at most one bond away).
2 circCDK_4 N One of the simpler model found to have comparable performance to the other ones.
2 circCDK_ATF_6 N Give the best average performance during the independent test set validation as performed in the FAME 2 paper or (circCDK_ATF_1 and circCDK_4).
3 P1+P2 Y Predict both phase 1 and phase 2 SOMs.
3 P1 N Predict phase 1 SOMs.
3 P2 N Predict phase 2 SOMs,

By default, the plug-in performs the prediction of SOMs of the molecule in the current VEGA ZZ workspace, but you can use a file as input checking External input file and selecting a SDF or SMILES file (SMILES files are supported only by FAME 3), which can contain one or more molecules. Checking Output directory and selecting it, you can indicate where to save the output files, otherwise they are stored in a temporary  directory and deleted at end of the calculation. Checking Save log file, you can specify the file to which the FAME text output is saved.  When you check Save CSV files, the used descriptors and the prediction are saved in CSV format and you can decide to fix them according the localization settings by checking Fix CSV files. When you have to process a large number of molecules and you want to discard HTML files and the data of non-SOM atoms, you can check Reduce the output. In this way, only one file is saved (sites.csv).
To revert to the default settings, you can click the Default button and to start the prediction, you must click the Predict button.

 

12.6.3.3 FAME 3 specific options

Here are explained the functions implemented only in FAME 3. In particular, the Circular desc. depth gadget allows you to choose between 2 and 5 as circular descriptor bond depth, which is the maximum number of layers to consider in atom type fingerprints and circular descriptors. The best results can be achieved with the default bond depth of 5, but in some cases the lower complexity model (2) could give better results especially if the FAMEscores are low. The Decision threshold, which must be in the range from 0 to 1, defines the decision threshold for the model. If you set it to Model, for the default value for the selected model is used. Checking Don't use the applicability domain model, the model to evaluate the applicability domain is switched off, the FAMEscore is not calculated and the prediction becomes faster. Finally, you can set the number of CPU cores/threads that are used for the calculation (Threads field). You can appreciate the FAME 3 parallelism only if you perform the prediction for more than one molecule.

 

12.6.4 FAME 3

This program attempts to predict sites of metabolism for the supplied chemical compounds. It is based on extra trees classifier trained for prediction of both phase I and phase II SOMs from the MetaQSAR database. It contains  a combined phase I and phase II (P1+P2) model as well as separate phase I (P1) and phase II (P2) models. For more details on the FAME 3 method, see the FAME 3 [1] and MetaQSAR [2] publications:

  1.  Martin Šícho, Conrad Stork, Angelica Mazzolari, Christina de Bruyn Kops, Alessandro Pedretti, Bernard Testa, Giulio Vistoli, Daniel Svozil, and Johannes Kirchmair
    "FAME 3: Predicting the Sites of Metabolism in Synthetic Compounds and Natural Products for Phase 1 and Phase 2 Metabolic Enzymes"
    Journal of Chemical Information and Modeling, Just Accepted Manuscript
    DOI: 10.1021/acs.jcim.9b00376

     

  2. Alessandro Pedretti, Angelica Mazzolari, Giulio Vistoli, and Bernard Testa
    "MetaQSAR: An Integrated Database Engine to Manage and Analyze Metabolic Data"
    Journal of Medicinal Chemistry, 2018, 61 (3), 1019-1030.
    DOI: 10.1021/acs.jmedchem.7b01473

 

12.6.4.1 Installation

The installation of FAME 3 is not required because it is included in the plug-in setup. This section shows the installation of the command line version on other systems starting from a tar archive or the ...\VEGAZZ\ Fame 3 directory.

To install FAME 3, you must unpack the distribution archive:

tar -xzf fame3-${version}-bin.tar.gz ${YOUR_INSTALL_DIR}

alternatively, you can copy the "Fame 3" directory, which you can find in VEGA ZZ home folder to the your preferred installation directory.

On Linux and Macintosh platforms, running the program is easy since you can use the shell script provided in the installation directory:

cd ${YOUR_INSTALL_DIR}/fame3
./fame3

You can also add ${YOUR_INSTALL_DIR} to the $PATH environment variable to have universal access:

export PATH="$PATH:$YOUR_INSTALL_DIR"

To run FAME 3 on Linux and Macintosh, just type:

fame3 [OPTIONS]

On other platforms (e.g. Windows), you will have to run the java package explicitly:

java -Xmx16g -jar ${YOUR_INSTALL_DIR}\fame3.jar

Since the unpacked model takes several memory, the -Xms16g flag is necessary, overriding the default java options.

 

12.6.4.2 Command-line usage

If you run FAME 3 with the -h option, this help message is shown:

usage: fame3 [-h] [--version] [-m {P1+P2,P1,P2}] [-r PROCESSORS] [-d {2,5}]
             [-s [SMILES [SMILES ...]]] [-n [NAMES [NAMES ...]]]
             [-o OUTPUT_DIRECTORY] [-p] [-c] [-t DECISION_THRESHOLD] [-a]
             [FILE [FILE ...]]

This is FAME 3  [1].  It  is  a  collection  of  machine learning models to
predict  sites  of  metabolism  (SOMs)   for  supplied  chemical  compounds
(supplied as SMILES or in an SDF file).
FAME 3 includes a combined model  ("P1+P2")  for  phase I and phase II SOMs
and also separate phase I and phase II  models ("P1" and "P2"). It is based
on extra trees classifiers trained  for regioselectivity prediction on data
from the MetaQSAR database [2].Feel free to  take a look at the README.html
file for usage examples.

1. FAME 3: Predicting the  Sites  of  Metabolism in Synthetic Compounds and
Natural Products for Phase 1 and Phase 2 Metabolic Enzymes
Martin èÝcho, Conrad Stork,  Angelica  Mazzolari,  Christina de Bruyn Kops,
Alessandro Pedretti, Bernard  Testa,  Giulio  Vistoli,  Daniel  Svozil, and
Johannes Kirchmair
Journal of Chemical Information and Modeling Just Accepted Manuscript
DOI: 10.1021/acs.jcim.9b00376

2. MetaQSAR: An Integrated Database Engine  to Manage and Analyze Metabolic
Data
Alessandro Pedretti, Angelica Mazzolari, Giulio Vistoli, and Bernard Testa
Journal of Medicinal Chemistry 2018 61 (3), 1019-1030
DOI: 10.1021/acs.jmedchem.7b01473

positional arguments:
  FILE                   One or more files  with  the compounds to predict.
                         FAME 3 currently  supports  SDF  files  and SMILES
                         files.In order  for  a  file  to  be  parsed  as a
                         SMILES file,  it  needs  to  have  the  ".smi"file
                         extension. Files with  a  different extension will
                         be parsed as an SDF.The  file can contain multiple
                         compounds.
                         All  molecules  should   be   neutral   (with  the
                         exception of tertiary ammonium)  and have explicit
                         hydrogens added prior  to  modelling.  However, if
                         there are  missing  hydrogens,  the  software will
                         try  to   add   them   automatically.  Calculating
                         spatial coordinates of atoms  is not necessary.The
                         compounds will be assigned  a  generic name if the
                         name cannot be determined from the file.

optional arguments:
  -h, --help             show this help message and exit
  --version              Show program version.
  -m {P1+P2,P1,P2}, --model {P1+P2,P1,P2}
                         Model  to  use  to  generate  predictions.  Select
                         P1+P2 to predict both phase  I  and phase II SOMs.
                         Select P1 to predict  phase  I  only. Select P2 to
                         predict phase II only. (default: P1+P2)
  -r PROCESSORS, --processors PROCESSORS
                         Maximum number of  CPUs  the  program  should use.
                         Set to 0 to use all available CPUs. (default: 0)
  -d {2,5}, --depth {2,5}
                         The circular  descriptor  bond  depth.  It  is the
                         maximum number of layers to  consider in atom type
                         fingerprints  and  circular  descriptors.  Optimal
                         results should be achieved  with  the default bond
                         depth of  5.  However,  in  some  cases  the lower
                         complexity  model   could   be   more  successful,
                         especially if FAMEscores are low. (default: 5)
  -s [SMILES [SMILES ...]], --smiles [SMILES [SMILES ...]]
                         One or more  SMILES  strings  of  the compounds to
                         predict.
                         All  molecules  should   be   neutral   (with  the
                         exception of tertiary ammonium)  and have explicit
                         hydrogens added prior  to  modelling.  However, if
                         there are  missing  hydrogens,  the  software will
                         try  to   add   them   automatically.  Calculating
                         spatial coordinates of atoms is not necessary.
  -n [NAMES [NAMES ...]], --names [NAMES [NAMES ...]]
                         Use this parameter to  provide names for compounds
                         submitted  as   SMILES   strings.The   number   of
                         provided names needs to be  the same as the number
                         of provided SMILES strings.
  -o OUTPUT_DIRECTORY, --output-directory OUTPUT_DIRECTORY
                         Path  to  the  output  directory.  If  it  doesn't
                         exist,   it    will    be    created.    (default:
                         fame3_results)
  -p, --depict-png       Generates  depictions   of   molecules   with  the
                         predicted  sites  highlighted  as   PNG  files  in
                         addition to the HTML output. (default: false)
  -c, --output-csv       Saves calculated  descriptors  and  predictions to
                         CSV files. (default: false)
  -t DECISION_THRESHOLD, --decision-threshold DECISION_THRESHOLD
                         Define the decision threshold for  the model (0 to
                         1). Use "model" for  the  default model threshold.
                         (default: model)
  -a, --no-app-domain    Do  not  use   the   applicability  domain  model.
                         FAMEscore values will not  be  calculated, but the
                         predictions will be faster. (default: false)
 

12.6.5 FAME 2

This program attempts to predict sites of metabolism for supplied chemical compounds. It includes extra trees models for regioselectivity prediction of some cytochrome P450 isoforms. For more information on the method implemented in FAME 2, see the following publication:

Martin Šícho, Christina de Bruyn Kops, Conrad Stork, Daniel Svozil, Johannes Kirchmair
"FAME 2: Simple and Effective Machine Learning Model of Cytochrome P450 Regioselectivity"
Journal of Chemical Information and Modeling, 2017, 57 (8), 1832-1846.
DOI: 10.1021/acs.jcim.7b00250

 

12.6.5.1 Installation

As for FAME 3, the installation of FAME 2 is not required because it is included in the plug-in setup. This section shows the installation of the command line version on other systems starting from a tar archive or the ...\VEGAZZ\ Fame 2 directory.

To install FAME 2, you must unpack the distrubution archive:

tar -xzf fame3-${version}-bin.tar.gz ${YOUR_INSTALL_DIR}

alternatively, you can copy the "Fame 3" directory, which you can find in VEGA ZZ home folder to the your preferred installation directory.

On the Linux and Macintosh platforms, running the program is easy since you can use the shell script provided in the installation directory:

cd ${YOUR_INSTALL_DIR}/fame2
./fame2

You can also add ${YOUR_INSTALL_DIR} to the $PATH environment variable to have universal access:

export PATH="$PATH:$YOUR_INSTALL_DIR"

To run FAME 2 on Linux and Macintosh, just type:

fame2 [OPTIONS]

On other platforms (e.g. Windows), you will have to run the java package explicitly:

java -Xms1024m -jar ${YOUR_INSTALL_DIR}\fame2.jar

Since the unpacked model takes quite a bit of memory, the -Xms1024m flag is necessary, overriding the default java options.

 

12.6.5.2 Command-line usage

If you run FAME 2 with the -h option, this help message is shown:

usage: fame2 [-h] [--version] [-m {circCDK_ATF_1,circCDK_4,circCDK_ATF_6}]
             [-s [SMILES [SMILES ...]]] [-o OUTPUT_DIRECTORY] [-p] [-c]
             [FILE [FILE ...]]

This is fame2. It  attempts  to  predict  sites  of metabolism for supplied
chemical compounds. It  includes  extra  trees  models for regioselectivity
prediction of some cytochrome P450 isoforms.

positional arguments:
  FILE                   One or more SDF  files  with compounds to predict.
                         One SDF can contain multiple compounds.
                         All molecules should be  neutral and have explicit
                         hydrogens added prior to  modelling.  If there are
                         still missing hydrogens, the  software will try to
                         add   them    automatically.Calculating    spatial
                         coordinates of atoms is not necessary.

optional arguments:
  -h, --help             show this help message and exit
  --version              Show program version.
  -m {circCDK_ATF_1,circCDK_4,circCDK_ATF_6}, --model {circCDK_ATF_1,circCDK_4,circCDK_ATF_6}
                         Model to use to generate predictions.
                         Either   the   model   with   the   best   average
                         performance    ('circCDK_ATF_6')     during    the
                         independent test set  validation  as  performed in
                         the original paper or  one  of  the simpler models
                         that were  found  to  have  comparable performance
                         ('circCDK_ATF_1'     and     'circCDK_4').     The
                         'circCDK_ATF_1' model is  selected  by  default as
                         it  is  expected  to   offer  the  best  trade-off
                         between generalization and accuracy.
                         The number  after  the  model  code  indicates how
                         wide the encodedenvironment  of  an  atom  is. For
                         example, the default  'circCDK_ATF_1'  is  a model
                         based  on  the  atom   itself  and  its  immediate
                         neighbors  (atoms   at   most   one   bond  away).
                         (default: circCDK_ATF_1)
  -s [SMILES [SMILES ...]], --smiles [SMILES [SMILES ...]]
                         One  or  more  SMILES   strings  of  compounds  to
                         predict.
                         All molecules should be  neutral and have explicit
                         hydrogens added prior to  modelling.  If there are
                         still missing hydrogens, the  software will try to
                         add them automatically.
  -o OUTPUT_DIRECTORY, --output-directory OUTPUT_DIRECTORY
                         The path to the  output  directory.  If it doesn't
                         exist, it will be created. (default: fame_results)
  -p, --depict-png       Generates  depictions   of   molecules   with  the
                         predicted  sites  highlighted  as   PNG  files  in
                         addition to the HTML output. (default: false)
  -c, --output-csv       Saves calculated  descriptors  and  predictions to
                         CSV files. (default: false)

 

12.6.5.3 Examples

If you want to perform the prediction for a single molecule, which must be in SDF format, you must type in the command prompt:

fame2 -o test_predictions tamoxifen.sdf

where test_predictions is the directory in which the output files are saved and tamoxifen.sdf is the input file including the structure of the molecule that can be 2D or 3D. You must remember that the molecule must have explicit hydrogens and must be in neutral form whit the exception of the quaternary nitrogens. 

The program also accepts also SMILES strings as input:

fame2 -o "test_predictions" -s CCO c1ccccc1C

This creates the test_predictions folder in the current directory which contains the output files for each analyzed compound.

 

12.6.6 Copyright and disclaimers

The FAME software is based on a number of third-party dependencies that are listed in the NOTICE document, which also includes their licensing information and links to web sites where original copies of the software can be obtained. The source code of the third-party libraries was not modified with the important exceptions of the SMARTCyp software and some classes from the WEKA machine learning library (version 3.8).
The SMARTCyp code was slightly adapted  in order to work well with the FAME 3 software and the changes are tracked in  the publicly available source code repository.
From the WEKA library, only the LinearNNSearch class was modified for thread safety.
The SMARTCyp code was obtained through the SMARTCyp web site mentioned in the original publication.
The source files to be modified from the WEKA library were obtained from GitHub.

 

FAME 2 and FAME 3
are pieces of software developed in 2017-2021
by Martin Šícho & Johannes Kirchmair
All rights reserved.

Martin Šícho
Z-OPENSCREEN: National Infrastructure for Chemical Biology
Laboratory of Informatics and Chemistry,
Faculty of Chemical Technology, University of Chemistry and Technology Prague
166 28 Prague 6, Czech Republic
E-mail: martin.sicho@vscht.cz

Johannes Kirchmair
Universität Hamburg,
Faculty of Mathematics, Informatics and Natural Sciences
Department of Computer Science, Center for Bioinformatics
Hamburg, 20146, Germany
E-Mail: kirchmair@zbh.uni-hamburg.de

 

Click here to read the complete FAME license.

 

FAME plug-in for VEGA ZZ
is a software developed in 2018-2021
by Alessandro Pedretti & Giulio Vistoli
All rights reserved.
 

Alessandro Pedretti
Dipartimento di Scienze Farmaceutiche
Facoltà di Scienze del Farmaco
Università degli Studi di Milano
Via Luigi Mangiagalli, 25
I-20133 Milano - Italy
E-Mail: info@vegazz.net

 

Click here to read the complete VEGA ZZ license.


12.7 MassTools - Plug-in for mass spectrometry

 

12.7.1 Introduction

This plug-in was developed as interface to simplify the use of the VEGA ZZ database engine in mass spectrometry research fields in which it's a common practice to submit the experimental monoisotopic masses as database queries to identify molecules.

 

12.7.2 Installation

The MassTools plug-in isn't included in the standard VEGA ZZ package and it's provided as separated setup. It  must be installed after VEGA ZZ setup and includes the plug-in and a test database containing  6850 molecules (flavonoids) collected by M. Arita et al.

 

12.7.3 Usage

To start the plug-in, you must select Tools Mass spectrometry tool in VEGA ZZ main menu:

 

Main window of Mass Spectrometry Tool


This interface allows to submit queries to a specific database (Database field in the Search options box) including the Monoisotopic mass and the isotopic confidence range (ppm). The query results, obtained clicking Search button,  are retrieved in Molecules found box showing monoisotopic masses, formulas and molecule names. The maximum number of molecules of the report can be limited by Max. results value. When you click a molecule in the list, its 2D structure is automatically shown in 2D structure tab. Double clicking on each item in the report, you can visualize the isotopic distribution.

 

Isotopic distribution

 

Moreover, right-clicking each result item, you can show the context menu in which you can choose:

 

Menu item Description
Show structure

Show the 3D structure in VEGA ZZ main window. It's equivalent to double click on the molecule line.

Isotopic distribution

Show the isotopic distribution in the Isotopic distribution box.

Save as ...

Save the report to a file that can be in CSV (Comma Separated Values) or DIF (Data Interchange Format) format. Both formats can be opened by Microsoft Excel and include the Mass, Formula and Name fields.

Copy

Copy the value under the mouse pointer to the clipboard.

Copy row

Copy the whole data (Mass, Formula and Name together) included in the currently selected line to the clipboard. The fields are separated by space characters.

Copy all

Copy the entire report to the clipboard using the CSV format.

Send to Excel

Send the report to Microsoft Excel using the DDE connection.

 

The Isotopic distribution chart has an own context menu as explained in the following table:

 

Menu Item Menu subitem Description
Edit Copy chart Copy the chart to the clipboard.
Copy data Copy the data used to build the chart (isotopic masses and relative abundances) to the clipboard. The data is line formatted: each line contains mass and % abundance separated by a single space character.
Send to exp. Send the data to the Experimental data box to compare the isotopic distribution with that of another molecule.
Zoom In Zoom in the chart
Out Zoom out the chart.
Reset Revert the zoom factor to the starting value.
Print - Do a hard copy of the current chart.

 

The chart zoom factor can be controlled by the mouse, keeping pressed the left button and defining a rectangle over the area to zoom in. To zoom out or to revert to the starting zoom factor, you can use the suitable functions of the context menu.

To compare the isotopic distribution of a molecule in the database with that obtained experimentally, you must paste the experimental data in Experimental data box in mass-abundance format (each number must be separated by space or carriage return character) and click Update button. In the chart are shown both isotopic distribution at the same time (red for the database molecule and blue for the experimental data). The Rms value, shown in the chart, summarizes how the two isotopic distributions are similar: lowest values mean similar distributions and zero means the same distribution.

Clicking Default button, all fields in the form are set to the default values.

 


12.8 MetaQSAR - Management system for metabolic reactions

 

Index

12.8.1 Introduction

12.8.2 How to use MetaQSAR

        12.8.2.1 Reactions tab

        12.8.2.2 Papers tab

        12.8.2.3 Journals tab

        12.8.2.4 Search tab

                12.8.2.4.1 Search by similarity

                12.8.2.4.2 Search by property

        12.8.2.5 Statistics tab

12.8.3 Data structure

 

12.8.1 Introduction

Drug metabolism with its many enzymes and reactions is a key factor in early ADMET screens for the selection of promising drug candidates, but its success depends on the reliability of available tools. With a view to supporting metabolic screening, MetaQSAR was developed in order to collect and classify metabolic reactions.  The metabolic data can be retrieved from in-home experiments and/or meta-analysis of the literature and can be used for different kind of studies such as: analysis of the property space of the metabolic substrates, prediction of the metabolism and prediction of the production of toxic metabolites.

MetaQSAR plug-in offers a complete input system to manage and classify not only the metabolic reactions, but also the related substrate and products in term of molecular properties and 1D, 2D and 3D structures. To do that, MetaQSAR uses the multi-purpose VEGA ZZ database engine that offers different database engines (such as Access, MySQL, SQLite, SQL Server and more in general all ODBC data sources) able to manage in easy way a large number of molecules.

 

 

12.8.2 How to use MetaQSAR

MetaQSAR plug-in is a complete system for the management of metabolic reactions. To use it, you must show the main window, selecting Tools MetaQSAR in VEGA ZZ main menu.

 

MetaQSAR main window

 

At the top of this window, there is the menu bar whose functions are summarized in the following table:

 

Item levels

Shortcut Description
1 2 3
File New database - Ctrl+N Create a new empty MetaQSAR database. You can choose the format between Access 2003 (mdb) and Access 2007 (accdb). MetaQSAR supports also MySQL data sources, but in this case the best way is the use of a tool for the database conversion such as Access to MySQL tool. To connect to the database, you can use this data source file, that must be saved with .dsn file extension (e.g. MySQL MetaQSAR.dsn):

 

ODBC data source Comments
   
[ODBC] ODBC header
DRIVER=MySQL ODBC X.X Driver Take care to put the right driver version
UID=my_user User name of the MySQL account
PWD=my_password Password of the MySQL account
DFLT_BIGINT_BIND_STR=1 Specific MySQL option for MS Access compatibility
PORT=3306 TCP/IP port number of the server (default 3306)
DATABASE=metaqsar Database name
SERVER=server.domain.country TCP/IP address of the server

MySQL ODBC connectors for Windows are available here. Download and install x86 32 bit version (MSI installer).

To create a new MySQL user and to set the access policies to the database, click here.
 

Open database - Ctrl+O Open a MetaQSAR database that can be a file or an ODBC data source.
Close - - Close MetaQSAR window without disconnecting the database. if you re-open MetaQSAR (Tools MetaQSAR in VEGA ZZ main menu), you will find the graphic interface in the same status as when you closed it.
Edit Expert mode - - Checking this menu item, you enable the capability to edit all data. By default, MetaQSAR is protected from changes in order to avoid accidental modifications with the exception of the possibility to add new metabolic reactions.
Tools Calculate fingerprints All - Calculate the fingerprints of all molecules (substrates and products) in the database. When you perform this calculation for the first time, the Molecules table of the current database is modified adding three columns with a length of 255 characters (FpSim1, FpSim2 and FpSim3) in which the fingerprints are stored in Base64 format. So, to obtain the original fingerprint in binary format, you must join the three fields (FpSim1 + FpSim2 + FpSim3) and decode the resulting string using the Base64 scheme (the size of the fingerprint is 3736 bits, 467 bytes). These fingerprints are employed to search molecules by similarity (see Search tab).

When you select this menu item, a progress bar is shown at the bottom of MetaQSAR window and you can stop the calculation by clicking the Abort button.

Update - By this function, you can calculate the fingerprints only for the molecules for which the data is missing. This feature is useful when you added new molecules to the database and you need to calculate the fingerprints only for these ones.
Help Manual - Ctrl+H Show this manual.
About - - Show the copyright message.

 

Before to start to edit the metabolic reactions, you must follow these steps to prepare the data:

  1. Create a new MetaQSAR database (File New database). You can decide to create the database in the default directory (recommended choice) or in a different one. In the first case, it is much easier to open the database because it is automatically added to the pull-down menu at the bottom of the window every time that you start MetaQSAR.
  2. Open the empty database by pull-down menu (MetaQSAR database) or selecting File Open database in the main menu or clicking Open button button. In the last two cases, a file requester is shown.
  3. Add the substrate and products structures using Database explorer of VEGA ZZ. Practically, a MetaQSAR database is an enhanced version of a standard VEGA ZZ database, therefore you can use all VEGA ZZ tools to add single molecules or whole databases of molecules in different formats. Besides, the molecules can be added in any time to MetaQSAR and not only in this first preparative phase.

If you want to mange also the bibliographic data, you should:

  1. In Journals tab, add the publishers and the journals of the papers from which you extracted the metabolic reactions that you want to put in MetaQSAR.
  2. In Papers tab, add the papers in which are cited the reactions and link them to substrates/products.

Now you are ready to operate MetaQSAR. In the main window, there are five tabs allowing you to choose the different operating modes of the tool:

 

In this tab, you can manage the reactions linking them to the substrate and classifying them according to the MetaQSAR rules.

This tab allows the bibliographic data to be managed. In particular, you can add new papers and link metabolic substrates/products to their bibliographic source.

In this tab, you can edit the publishers and the journals used to classify the papers.

MetaQSAR is not only a tool for data entry, but includes also features to retrieve data with some capabilities to analyze it. In particular, in this tab, you can search substrates/products by structural similarity with a query molecule, or by molecular properties.

This tab shows statistics on the database.

 

12.8.2.1 Reactions tab

In this tab, you can indicate not only which metabolic reactions can give each substrate but also which atoms are involved.

 

Reaction tab

 

To input a reaction into the database, you must follow these steps:

  1. Search for the substrate and select it. In the Search parameters box, you can search by substrate name (Name), by journal or year of the paper in which the substrate is cited (respectively Journal and Year fields) and by code of the paper (Paper code) which includes the substrate. The search by substrate name doesn't require the full name but only the first characters because the substrate list is automatically updated when you are typing. The search results are shown in the substrate list.

You can use also the wildcards for more complex searches, but you must remember that SQL wildcards differs from DOS/Linux ones:

SQL DOS/Windows Linux Description
% * * A substitute for zero or more characters.
_ ? ? A substitute for a single character.
[charlist] N/A [charlist] Sets and ranges of characters to match.

 

WARNING:

Linux have a different syntax: the characters must be comma separated.

 

e.g.

Linux: [a,b,c]

SQL: [abc]

 

The syntax for character ranges is the same: [a-c]

[^charlist]

or

[!charlist]

N/A [!charlist] Matches only a character NOT specified within the brackets. The syntax differences are the same explained above.

The search by Journal or Paper code works properly only if each molecule is correctly linked to its paper (see Papers tab).

When you click the substrate name in the result list with the left mouse button, both 2D and 3D structures are shown respectively in MetaQSAR (Preview box) and VEGA ZZ windows. If you show the context menu of Preview box (click with the right mouse button), you can copy the 2D sketch of the molecule (Copy menu item)  to the clipboard, copy the SMILES string to the clipboard (Copy SMILES) and print the 2D sketch.

More advanced searches and operations can be performed showing the context menu of the substrate list:

Item levels

Description
1 2
Find molecules with reactions Search for molecules whose metabolic reactions are already inserted in the database.
without reactions Search for molecules whose metabolic reactions are not yet inserted in the database.
with reaction notes Search for molecules whose metabolic reactions are already inserted with notes in the specific field.
Edit -

Enable the edit mode: by default this feature is disabled to avoid accidental changes in the database. When you enable it, Delete menu item becomes active and the background color of the substrate list changes from white to yellow. Moreover, clicking a substrate previously selected, you can rename it and change the Toxic/reactive flag. This special flag is useful to indicate if product  is a toxic and/or reactive species.

Delete - Delete the substrate structure and all data about it (structure, molecular properties, reactions and links with the papers).

 

WARNING:

Delete substrates only by MetaQSAR and not by Database explorer, because only the former guarantees the data integrity, removing the cross-references in other tables.

Selecting a substrate with metabolic reactions, the ID of the reactive atoms (Atoms column), the full reaction description (Raection), the metabolic generation (Gen.), the involved enzyme (Enzyme), the alternative enzyme that can catalyze the reaction (Alt. enzyme), a flag indicating if the reaction gives toxic products (Toxic prod.) and the notes (Notes) are shown in the list below the Preview box. If you click a reaction in this box by left mouse button, the involved atoms are highlighted in VEGA ZZ main window as small transparent spheres coloured by dark green and besides, the tree of the Reactions box is automatically expanded in order to show you the main class and the class in which the reaction is grouped.

  1. Choose the reaction in Reactions box. You can find the requested reaction expanding the hierarchical tree by clicking the small triangles with the left mouse button. By context menu, you can also expand/collapse selectively or not the main classes and the subclasses of reactions. When you found the reaction, select it by the left mouse button.
  2. Click one or more reactive atom in VEGA ZZ 3D view. The selected atoms are highlighted by a transparent dark-green sphere and their IDs are shown in the Reactive atoms field. If you picked wrong atoms, you can click Reset button button to reset the selection. If you are not sure of the atoms involved in the reaction, you can check Uncertain atom and click them in the 3D view. They will be highlighted in magenta (instead of dark-green) and indicated with a question mark after their ID in Reactive atoms.
  3. Click Add button to add the new reaction linked to the substrate. The list of the reactions of the selected substrate will be automatically updated. If the reactive atoms are wrong or missing, also in this  step you can change them: click Reset button button if needed, repeat the selection and then click the Change button.
  4. If you have to complete the entry with optional information, enable the edit mode showing the context menu of the reaction list and checking edit (the background color changes from white to light yellow). Now, you can change Atoms, Gen. (metabolic generation: 1, 2, 3+), Enzyme, Alt. enzyme (alternative enzyme involved in the reaction), Product (the product/metabolite given by the reaction. Its structure must be already present in the database), Toxic prod. (change to Yes if the reaction gives toxic metabolites) and Notes columns of the list clicking the corresponding fields. To clear a field, select Empty field in the context menu.

If you have  to remove a reaction from a substrate, you must select the reaction clicking it and in the context menu, choose Delete. This operation is possible only in edit mode.

In both lists of substrates and reactions, as well as for all MetaQSAR lists, you can change the sorting mode clicking the column header with the left mouse button. For example, if if you click the Enzyme column for the first time, the list is sorted in ascending order by enzyme, but if you click it for the second time, it is sorted in descending order.

 

12.8.2.2 Papers tab

In this tab, you can manage the bibliographic resources adding new papers or editing them and linking substrates and products to their sources in which they are cited.

 

Papers tab

 

Here you can add new articles, filling the fields and clicking Add button in Add new paper box at the bottom of the window. The Journal combo-box is automatically updated with the data inserted in the Journals tab and only the short title is shown. Take care to define the paper code (Code field): 1) the maximum length of the code is 16 characters; 2) you can use your own convention, but you must use always the same. More in detail, in this example the papers are encoded as CYY_NNN where C is the journal ID (e.g. C = Chem. Res. Toxicol., D = Drug Metab. Dispos, X = Xenobiotica), YY is the publication year (e.g. 06 for 2006) and NNN is the progressive number.

All papers in the database are shown in the list at the left on the window and to simplify the view, you can filter them using the two pull-down menu at the top of the list. So, you can filter the paper by journal and/or year respectively with the leftmost and rightmost gadget.

The context menu of the paper list includes the features shown in the following table:

 

Item levels

Description
1 2
Find papers Orphan Filter the papers not yet linked to any molecule.
View - Show the paper of the selected item. This function works only if DOI  (Digital Object Identifier) is present and you have the subscription if the journal is not open access.
Edit - Enable/disable the edit mode. When you enable the edit mode, you can change all data of the selected item, just clicking them in the list. Moreover, you can also delete the whole record (see Delete item).
Delete - Remove the selected paper. This menu item is active only if the edit mode is enabled.
Refresh - Refresh the list of the papers. This function is needed only if another user changes the database, desynchronizing the list contents with the database.

If you have to link one or more substrates/products to a paper, you must follow these steps:

  1. Select the paper in the paper list. The filters and the sorting functions of the columns can help you in these phase. If the paper is missing, you can add it as explained above.
  2. Select the molecule that you want to link in list in the middle of the window. To find the molecule, you can use the Molecule filter at the top of the list that works in the same manner of the name filter in the Reactions tab. This list has its own context menu whose functions are summarized in the following table:

Item levels

Description
1 2
Find molecules Orphan Filter the molecules not yet linked to any paper.
Edit - Enable/disable the edit mode. When you enable the edit mode, you can rename and delete the selected molecule (see Delete item).
Delete - Remove the selected molecule. This menu item is active only if the edit mode is enabled.
  1. Click the Add button to make the link between molecule and paper. The linked molecule appears in the Molecules cited in paper list at the right of the window. Also this list has a custom context menu, whose functions are shown in the following table:

Item levels

Description
1 2
Edit - Enable/disable the edit mode. When you enable the edit mode, you can rename and delete the selected molecule (see Delete item).
Delete - Remove the selected molecule. This menu item is active only if the edit mode is enabled.
  1. If the link is wrong and you want to remove it, you must select the molecule and click the Remove button.

WARNING:

Don't use the Delete item of the context menu (it's enabled only in edit mode) because it delete the molecule and not the link !

 

12.8.2.3 Journals tab

This tab allows the publishers and the journals to be managed, data that is used for the right classification of the papers (see Papers tab).

 

Journals tab

 

To operate this tab, you must use the context menu (it's the same for both Publishers and Journals lists) whose functions are shown in the following table:

 

Item levels

Description
1 2
Open Web site - Show the Web site of the selected publisher or journal, if the Web site field is not empty. Remember that when you edit this field, you don't need to add http:// or https://  URL prefix.
Edit - Enable/disable the edit mode. When you enable the edit mode, you can add a new item and edit or delete a previously added one.
Add - Add a new empty item (function enabled only in edit mode). To edit the empty fields of the new item, just click them with the left mouse button.
Delete - Remove the selected item (function enabled only in edit mode).
Refresh - Refresh the list. As explained above, this function is useful if another user changes the database at the same time.

 

To add a new publisher or journal you must follow these steps:

  1. Enable the edit mode (check Edit in the context menu).
  2. Add a new empty item (select Add in the context menu).
  3. Edit the empty fields clicking them with the left mouse button.
  4. If you have to remove an item, select it and choose Delete in the context menu.

 

12.8.2.4 Search tab

MetaQSAR includes some tools to retrieve and analyze the metabolic data stored in the database. In particular, in this tab, you can search for substrates/products by structural similarity with a query molecule, or by molecular properties.

 

 

12.8.2.4.1 Search by similarity

Before to run a similarity search, you must calculate or update the fingerprints of all molecules included in the database, selecting Calculate Fingerprints in the main menu (for more details, click here).

Choosing By structure tab, you can search for substrates and related reactions, having a Tanimoto index greater than the specified value (see Similarity field). The input structure must be in SMILES format (see SMILES field) and can be edited typing manually the SMILES whose 2D sketch is shown in real time in the Query structure box.  If your knowledge of SMILES language is poor, you can build or download the query molecule in VEGA ZZ, using one of the tools included in the program (2D, 3D, IUPAC editors, optical structure recognition, PubChem downloader, etc), after that you can click the Get button to transfer the SMILES string from the current workspace to MetaQSAR.

 

Search by similarity

 

Clicking the Start button, the search begins and since the fingerprints are pre-calculated, is usually fast, nevertheless it can be stopped in any time clicking the Abort button shown in the status bar at the bottom of the window. The results are shown in Search result list: each line consists of the similarity index and the name of the substrate. Selecting a line, the substrate is shown as 2D sketch in Result structure box and in 3D in VEGA ZZ main window. Clicking the small triangle at the beginning of each line, you can show the reactions given by the substrate as code, generation number and description according to the MetaQSAR classification of the metabolic reactions. When you click the reaction, the involved atoms are highlighted in VEGA ZZ main window. The context menu of this output list includes interesting features as shown in the following table:

 

Menu item

Description
Collapse Collapse/expand the selected substrate to un/show the given metabolic reactions.
Expand
Collapse all Collapse/expand all substrates to un/show the given metabolic reactions.
Expand all
Export to Excel Export the results to Microsoft Excel.

 

12.8.2.4.2 Search by property

When you add a substrate to MetaQSAR, several molecular properties are calculated which can be used to perform searches. In By structure tab, you can build queries based on molecular properties adding the conditions in the table.

 

Search by properties

 

In each line of the table, you can add the Logical operator (and, or) , the molecular Property chosen by a pull-down menu, a mathematical Operator and the conditional Value. For a complete list of the properties, you can see the structure of the Molecules table (only the numerical properties are taken in account). If you add custom properties in Molecules table, they are added automatically to the pull-down menu.

To start the search, you must click the Search button, while to reset the query you can click the New button.

In the example shown in the above picture, 152 substrates giving 552 metabolic reactions are found according to a VirtualLogP value less than 2 and a mass value between 200 and 300 Daltons. As for the search by similarity, the results are shown in Search results box.

 

 

12.8.2.5 Statistics tab

 

This tab shows interesting statistical values of all data included in the database.

 

Statistics tab

 

In the window, there are four sections summarizing the statistics:

This part of the window shows generic statistics such as the number of substrates, metabolic reactions, enzyme classes, metabolic generations, reaction main classes, reaction classes, reaction subclasses, publishers, journals, papers, citations and publisher countries.

In this section, you can find the counts of the reactions according to metabolic generation (1, 2 and 3+) in which they are involved. Besides, the number of reactions giving toxic and/or reactive products is also shown.

This list shows the statistics on the enzyme classes involved in the metabolic reactions. In particular, for each class it is reported the number of reactions catalyzed as main and alternative enzyme, the relative percentages and the total amount of reactions with its percentage (main + alternative).

Here the statistics on main classes, classes and subclasses of metabolic reactions are shown. More in detail, for each main class (in red), class (in dark-blue) and subclass (in black) is reported the number of metabolic reactions and its percentage.

The context menu of this tab allows you to refresh the data (Refresh item) and export the statistics to Microsoft Excel (Export to Excel item) for a better analysis.

 

 

12.8.2 Data structure

MetaQSAR is a relational database containing both standard VEGA ZZ tables and specific ones to manage the metabolic reactions. The database is summarized in the following scheme in which the red arrows show the relationships between the tables.

 

Scheme of the tables included in MetaQSAR

 

As shown in this chart, the most important table is reactions that includes the information to classify the metabolic reaction. Different colours are used to group tables including homogeneous data tables: grey for the bibliographic information,  yellow for the enzymatic data, light blue for the substrate properties and their structures (1D, 2D and 3D), green for the reaction classification and pink for the management data.

Here, for each table, it is shown a short description, the fields, how they are defined (according to the SQL data types), the relationships between the tables and the default data included when an empty database is created:

 

Field Definition Description
CountryID INTEGER Primary key (autoincrement).
Country VARCHAR(50) Country name.
Compact VARCHAR(20) Short name of the country.

By default, in an empty MetaQSAR database are available two countries:

  1. United States of America (USA).
  2. United Kingdom (UK).

 

Field Definition Description
ClassID INTEGER Primary key (autoincrement).
Class VARCHAR(20) Enzyme class name.
EC VARCHAR(8) EC classification code.

MetaQSAR includes five main enzyme classes that can be changed and/or expanded by the user:

  1. Oxidoreductase
  2. Hydrolases
  3. Transferases
  4. Ligases
  5. Any

 

Field Definition Description
EnzymeID INTEGER Primary key (autoincrement).
Enzyme VARCHAR(100) Enzyme description.

By default, MetaQSAR includes 16 enzyme classes:

  1. Cytochromes P450
  2. Dehydrogenases
  3. FMO
  4. XO, AO
  5. Peroxidases
  6. Other reductases
  7. Other oxidoreductases or autooxidations
  8. Hydrolases
  9. UDP-Glucuronosyltransferases
  10. Sulfotransferases
  11. Glutathione S-transferases & subsequent enzymes/reactions
  12. Acetyltransferases
  13. Acyl-CoA ligases & subsequent enzymes
  14. Methyltransferases
  15. Other transferases or non-enzymatic conjugations
  16. Non-enzymatic hydrolyses or (de)hydrations

 

Field Definition Description
GenerationID INTEGER Primary key (autoincrement).
Generation VARCHAR(4) Generation description (1, 2, 3+).

Only three generations of metabolic products are considered by MetaQSAR, because the number of metabolites of 4th or more generation is negligible:

  1. First generation (1)
  2. Second generation (2)
  3. Third generation or more (3+)

 

Field Definition Description
ID INTEGER Primary key (autoincrement).
Group VARCHAR(50) Name of the user group.
Date DATE Creation date of the record.
Time TIME Creation time of the record.

 

Field Definition Description
TitleID INTEGER Primary key (autoincrement).
Title VARCHAR(10) Short name for paper encoding (e.g. CRT, DMD and XEN).
FullTitle VARCHAR(128) Full name of the journal.
Abbreviation VARCHAR(50) Journal title abbreviation.
EditorID INTEGER Editor ID (see publishers table).
URL VARCHAR(50) Web site URL of the journal.

By default, MetaQSAR includes three of the most important journal on metabolism, but others can be added by the user:

  1. Chemical Research in Toxicology
  2. Drug Metabolism and Disposition
  3. Xenobiotica

 

Field Definition Description
ID INTEGER Primary key (autoincrement).
MolID INTEGER ID of the substrate involved in the reaction shown in the paper  (see molecules table).
PaperID INTEGER ID of the paper including the reaction that involves the substrate (see papers table).
Date DATE Creation date of the record.
Time TIME Creation time of the record.

 

Field Definition Description
ID INTEGER Primary key (autoincrement).
Name VARCHAR(255) Molecule name.
IUPAC VARCHAR(255) IUPAC name.
Formula VARCHAR(50) Chemical formula.
Smiles VARCHAR(255) Smiles structure.
Inchi VARCHAR(255) InChI structure.
InchiKey VARCHAR(28) InChI key.
GroupID INTEGER Group ID (not used).
Cas VARCHAR(50) Chemical Abstract code.
Code VARCHAR(50) Auxiliary code (not used).
Angles INTEGER Number of bond angles.
Atoms INTEGER Number of atoms.
Bonds INTEGER Number of bonds.
Charge INTEGER Formal charge.
ChiralAtms INTEGER Number of chiral atoms.
Dipole REAL Dipole moment.
ExBnds INTEGER Number of bonds giving geometric isomers (E/Z).
FlexTorsions INTEGER Number of flexible dihedral angles (torsions).
FuncGroups VARCHAR(100) List of the functional groups. This string has the following format:
NUM_1 GRP_1 NUM_2 GRP_2 ... NUM_N GRP_N

where NUM is the number of functional groups of kind GRP. The functional groups are detected by the GROUPS.tem ATDL template (see the Data directory), as shown in the following table:

 

Group Description
COOH Carboxylic acid.
COOR Ester.
CHO Aldheyde.
CON2 Urea.
CON Amide.
OCOO Carbonate.
COCl Acyl chloride.
COBr Acyl bromide.
CNH Aldimine.
CNR Imine.
CO Ketone.
OCN Cyanate.
NCO Isocyanate.
NCS Tiocyanate.
CN Nitrile.
N1 Primary amine.
N2 Secondary amine.
N3 Tertiary amine.
N+ Ammonium salt.
NP Aromatic planar nitrogen.
NO3 Nitrate.
        
Group Description
NO2 Nitrite.
NNN Azide.
NO Nitrose.
NC Isocyanide.
OH2 Water.
OH Alchol.
PhOH Phenol.
OR2 Ether.
2O2 Peroxyde.
SO3H Sulfonic acid.
SO2 Sulfone.
SO Sulfoxide.
SH Thiol.
SR2 Thioether.
2S2 Disulfide.
PO4 Phosphate
P3 Phospine.
F Fluoride.
Cl Chloride.
Br Bromide.
I Iodide.

 

Gyrrad REAL Gyration radius  (Å).
HbAcc INTEGER Number of H-bond acceptors.
HbDon INTEGER Number of H-bond donors.
HeavyAtoms INTEGER Number of heavy atoms.
Impropers INTEGER Number of improper/pyramidal angles (out-of-plane).
Lipole REAL Lipophilicity moment.
Mass REAL Molecular weight (Daltons).
MassMI REAL Monoisotopic mass (Daltons).
Molecules INTEGER Number of molecules included in the record. This value is usually set to 1, but can be greater for salt, complexes, etc.
Ovality INTEGER Ovality is a form factor: it's close to 1 for spherical molecules.
Psa REAL Polar surface area (Å2).
Rings INTEGER Number of rings.
Sas REAL Solvent accessible area (Å2).
Sav REAL Solvent accessible volume (Å2).
Sdiam REAL Surface diameter: diameter of the equivalent sphere with the same surface of the molecule (Å).
Surface REAL Van der Waals surface area (Å2).
Torsions INTEGER Number of dihedral angles (torsions).
Vdiam REAL Volume diameter: diameter of the equivalent sphere with the same volume of the molecule (Å).
VirtualLogP REAL Log P calculated with Bernard Testa's method.
Volume REAL Volume (Å3).
Toxic INTEGER Toxicity flag: it can be 0 or 1 respectively for non-toxic or toxic molecules.
Date DATE Creation date of the record.
Time TIME Creation time of the record.
FpSim1 VARCHAR(255) These columns are optional and are added automatically when you calculate the fingerprints of the substrates/products included in the current database (see Tools Calculate fingerprints).
FpSim2 VARCHAR(255)
FpSim3 VARCHAR(255)

 

Field Definition Description
PaperID INTEGER Primary key (autoincrement).
Paper_Code VARCHAR(16) Paper ID. The convention used to encode the paper ID is:
CYY_NNN

where C is the journal ID (e.g. C = Chem. Res. Toxicol., D = Drug Metab. Dispos, X = Xenobiotica), YY is the publication year (e.g. 06 for 2006) and NNN is the progressive number.

JournaID INTEGER Journal ID (see journals table).
Year INTEGER Publication year.
Volume INTEGER Volume.
Issue VARCHAR(8) Issue.
FirstPage INTEGER First page.
LastPage INTEGER Last page.
Doi VARCHAR(32) Digital object identifier (DOI).
Date DATE Creation date of the record.
Time TIME Creation time of the record.

 

Field Definition Description
EditorID INTEGER Primary key (autoincrement).
Editor VARCHAR(50) Short name of the editor.
FullEditor VARCHAR(128) Full name of the editor.
Address VARCHAR(128) Address.
City VARCHAR(50) City.
Postal_code VARCHAR(32) Postal code.
State VARCHAR(50) State.
CountryID INTEGER ID of the country (see countries table).
URL VARCHAR(50) Web site URL (without http://).

 

Field Definition Description
ID INTEGER Primary key (autoincrement).
MainID INTEGER ID of the main class in which it's included (see reamain table).
ClassCode VARCHAR(8) Alphanumerical class code for easy class identification.
Description VARCHAR(128) Full description of the reaction class.

 

The 21 reaction classes are:

 

Num. Main class Class code Description
1 Redox 01 Oxidation of Csp3
2 02 Oxidation of Csp2 & Csp
3 03 -CHOH <-> >C=O -> -COOH
4 04 Various redox reactions of carbon atoms
5 05 Redox reactions of R3N
6 06 Oxidation of >NH, >NOH and -N=O // Reduction of -NO2, -N=O, >NOH, etc.
7 07 Oxidation to quinones or analogs // Reduction of quinones and analogs
8 08 Oxidation and reduction of S atoms
9 09 Redox reactions of other atoms
10 Hydrolysis & other 11 Hydrolysis of esters, lactones and inorganic esters
11 12 Hydrolysis of amides, lactams and peptides
12 13 Epoxide hydration
13 14 Other hydrolysis/hydration reactions // Non-enzymatic eliminations and rearrangements
14 Conjugations 21 O-Glucuronidations & glycosylations
15 22 N- and S-Glucuronidations // All other glycosilations
16 23 Sulfonations (O-, N-, ...)
17 24 GSH & RSH conjugations + sequels // GSH-mediated reductions
18 25 Acetylations & acylations
19 26 CoASH-Ligation followed by amino acid conjugations or other sequels
20 27 Methylations (O-, N-, S-)
21 28 Other conjugations (PO4, CO2, ...) // Transaminations

 

Field Definition Description
ID INTEGER Primary key (autoincrement).
MolID INTEGER ID of the molecule involved in the reaction (see molecules table).
ReaSubClassID INTEGER ID of the sub class of reactions in which the reaction is included (see reasubclasses table).
GenerationID INTEGER ID of the product generation (see generations table).
EnzymeID1 INTEGER ID of the main enzyme catalyzing the reaction (see enzymes table).
EnzymeID2 INTEGER ID of the alternative enzyme catalyzing the reaction (see enzymes table).
Atoms VARCHAR(50) Comma-separated list of the atoms involved in the reaction. For each atom is reported its ID of corresponding 3D structure (see structures table). For uncertain reactive atoms, the ID is followed by a question mark (?).
ProdID INTEGER ID of the molecule produced by the reaction (see molecules table, not yet used).
ProdActive INTEGER Boolean flag indicating if the product is active or nor (no more used, kept for MetaPies compatibility).
ProdReact INTEGER Boolean flag indicating if the product is reactive/toxic.
Notes VARCHAR(64) Field for generic notes.
Date DATE Creation date of the record.
Time TIME Creation time of the record.

 

Field Definition Description
ID INTEGER Primary key (autoincrement).
ShortDesc VARCHAR(32) Short description (used in the reaction tree of MetaQSAR plug-in).
Description VARCHAR(80) Full description.

The following table shows the default entries:

 

ID Short description Full description
1 01-09 Redox Redox reactions
2 11-14 Hydrolysis & other Reactions of hydrolysis and other non-redox functionalizations
3 21-28 Conjugations Conjugation reactions

 

Field Definition Description
ID INTEGER Primary key (autoincrement).
ClassID INTEGER Reaction class ID including this subclass (see reaclasses table).
MetaPieID INTEGER MetaPiesID (no more used).
Description VARCHAR(200) Reaction class description.

By default, a MetaQSAR database includes 101 reaction subclasses in this table as shown below:

 

Num. Main class Class Subclass code Description
1 Redox 01 Oxidation of Csp3 01 Hydroxylation (or other oxidations) of isolated Csp3
2 02 Hydroxylation (or other oxidations) of C alpha to an unsaturated system (>C=CC=O, -C±N, aryl)
3 03 Hydroxylation (or other oxidations) of Csp3 carrying an heteroatom (N, O, S, halo) (including subsequent dealkylation, deamination or dehalogenation)
4 04 Dehydrogenation of >CH-CH< to >C=CCH-N< to >C=N- (incl. >C=N+<)
5 05 Other Csp3 oxidations (organometallic dealkylation, C-C cleavage, etc)
6 02 Oxidation of Csp2 & Csp 01 Oxidation of aryl compounds to epoxides, phenols or other metabolites
7 02 Oxidation of azaarenes to lactams or other metabolites
8 03 Oxygenation of >C=C< bonds to epoxides or other metabolites
9 04 Oxygenation of -C-C±C-H and -C-C±C-C- bonds
10 03 -CHOH <-> >C=O -> -COOH 01 Dehydrogenation of -CH2OH groups to -CHO and of >CHOH to >C=O
11 02 Hydrogenation of -CHO to -CH2OH and of >C=O to >CHOH
12 03 Oxidation of -CHO to -COOH
13 04 Reduction of arene and alkene epoxides
14 04 Various redox reactions of carbon atoms 01 Oxidative decarboxylation
15 02 Reductive dehalogenations
16 03 Reduction of arene and alkene epoxides
17 04 Other C reductions, e.g. of >C=C< to -CH2-CH2-
18 05 Redox reactions of R3N 01 Oxidation of tertiary alkylamines and heterocyclic amines to N-oxides or other metabolites
19 02 Oxidation of tertiary arylamines, azaarenes and azo compounds to N-oxides oxides or other metabolites
20 03 Reduction of N-oxides
21 06 Oxidation of >NH, >NOH and -N=O // Reduction of -NO2, -N=O, >NOH, etc. 01 Hydroxylation of amines to hydroxylamines or intermediates
22 02 Hydroxylation of amides to hydroxylamides
23 03 Oxidation of primary hydroxylamines to nitroso compounds or oximes (incl. spontaneous dismutation), then to nitro compounds
24 04 Reduction of hydroxylamines and hydroxylamides (incl. spontaneous dismutation)
25 05 Reduction of nitroso compounds and oximes to hydroxylamines
26 06 Reduction of nitro compounds to nitroso compounds
27 07 Other N-oxidations (1,4-dihydropyridines, etc)
28 08 Other N-reductions (e.g. azo compounds to hydrazines, hydrazines to amines, reductive N-rings opening)
29 07 Oxidation to quinones or analogs // Reduction of quinones and analogs 01 Oxidation of diphenols to quinones
30 02 Oxidation of amino- and amido-phenols to quinoneimines or quinoneimides, resp.
31 03 Oxidation of cresols and analogs to quinonemethides
32 04 Other oxidations of phenols and amines (dimerization, quinone-like metabolites, etc)
33 05 Reduction of quinones and analogs
34 08 Oxidation and reduction of S atoms 01 Oxidation of thiols to sulfenic acids or disulfides
35 02 Oxygenation of sulfenic acids to sulfinic acids, and of sulfinic acids to sulfonic acids
36 03 Oxygenation of sulfides to sulfoxides, and of sulfoxides to sulfones
37 04 Oxygenation of thiones (>C=S) or thioamides to sulfines, and of sulfines to sulfenes
38 05 Oxidative desulfurations of >C=S to ketones, and of -P=S to -P=O groups
39 06 S-Oxygenations of disulfides, thiosulfinates (-SO-S-), alpha-disulfoxides (-SO-SO-) and thiosulfonates (-SO2-S-)
40 07 Reduction of disulfides to thiols
41 08 Reduction of sulfoxides to sulfides
42 09 Other S-reductions
43 09 Redox reactions of other atoms 01 Oxidation of silicon, phosphorus, arsenic and other atoms
44 02 Reduction of Se, P, Hg, As and other atoms
45 Hydrolysis & other 11 Hydrolysis of esters, lactones and inorganic esters 01 Hydrolysis of alkyl esters
46 02 Hydrolysis of aryl esters
47 03 Hydrolysis of anionic and cationic esters
48 04 Hydrolysis of linear and cyclic carbamates (>N-CO-OR') and carbonates (RO-CO-OR')
49 05 Hydrolysis of acyl ß-glucuronides or other acylglycosides
50 06 Reversible hydrolytic opening of lactone rings
51 07 Hydrolysis of thioesters (RCO-SR' and RCS-SR') and thiolactones
52 08 Hydrolysis of esters of inorganic acids (nitrates, nitrites, sulfates, sulfamates, phosphates, phosphonates, etc)
53 12 Hydrolysis of amides, lactams and peptides 01 Hydrolysis of alkyl and aryl amides [alkyl-CO-N< and aryl-CO-N<]
54 02 Hydrolysis of anilides [aryl-N-CO-C~], hydrazides [-CO-NHNN-CO-N<]
55 03 Hydrolysis of lactams, cyclic imides and cyclic ureides
56 04 Hydrolysis of peptide bonds
57 13 Epoxide hydration 01 Hydration of arene and alkene oxides
58 14 Other hydrolysis/hydration reactions // Non-enzymatic eliminations and rearrangements 01 Hydrolysis of glucuronides and other glycosides (including N- and S-glycosides)
59 02 Other ether hydrolyses (benzhydryl ethers, acetals, etc)
60 03 Hydrolytic cleavage of C=N bonds (in imines, hydrazones, imidates, amidines, oximes, oximines, isocyanates, etc), and of C±N bonds (nitriles). Double bond hydration
61 04 Hydrolysis of linear Mannich bases (N-, O- and S-Mannich bases) and cyclic Mannich bases (imidazolidines, oxazolidines, etc)
62 05 Hydrolytic opening of other ring systems (1,2-oxazoles, etc)
63 06 Hydrolytic dehalogenations
64 07 Substitution reactions (by H2O, halide, etc) in complexes of Pt or other metals (with elimination of halide or other ligands)
65 08 Bond order increases by elimination of H2O or RSH or other Nu-H
66 09 Cyclizations by intramolecular nucleophilic substitution (with elimination of amine, phenol, halide or H2O)
67 10 Any other non-redox, non-conjugation reaction
68 Conjugations 21 O-Glucuronidations & glycosylations 01 O-Glucuronidation of alcohols
69 02 O-Glucuronidation of phenols
70 03 O-Glucuronidation of carboxylic acids (including subsequent rearrangements)
71 04 O-Glucuronidation of hydroxylamines and hydroxylamides
72 22 N- and S-Glucuronidations // All other glycosilations 01 N-Glucuronidation of linear and cyclic amines (including =N- in azaarenes)
73 02 N-Glucuronidation of amides
74 03 S-Glucuronidation of thiols and thioacids, C-Glucuronidation of acidic enols
75 04 Any conjugations with glucose or other sugars
76 23 Sulfonations (O-, N-, ...) 01 O-Sulfonation of phenols
77 02 O-Sulfonation of alcohols
78 03 Other reactions (O-sulfonation of hydroxylamines, N-sulfonation of amines, etc)
79 24 GSH & RSH conjugations + sequels // GSH-mediated reductions 01 Nucleophilic additions of glutathione (to a,ß-unsaturated carbonyls, quinones and analogues, isocyanates and isothiocyanates, epoxides, etc)
90 02 Reactions of glutathione addition-elimination (at C-X groups, acyl halides, halogenated olefins, etc)
81 03 Metabolic processing of glutathione conjugates up to thiols
82 04 Conjugation of glutathione with Hg, As, Pt, etc, compounds
83 05 Conjugations with other thiols (Cys, N-Ac-Cys, etc)
84 06 Reductions following glutathione conjugations
85 07 Radical scavenging by glutathione and other thiols
86 25 Acetylations & acylations 01 N-Acetylation of aromatic amines
87 02 N-Acetylation of hydrazines and hydrazides
88 03 Other acetylations (N-acetylation of alkylamines, O-acetylation, etc)
89 04 Reactions of acylation (formylation, formation of fatty acyl esters, etc)
90 26 CoASH-Ligation followed by amino acid conjugations or other sequels 01 Conjugation with glycine, glutamic acid, taurine and other amino acids or short peptides
91 02 Conjugation with carnitine
92 03 Formation of hybrid glycerides, conjugation with cholesterol or other sterols
93 04 Unidirectional chiral inversion of profens and analogues
94 05 Chain elongation by 2C, beta- or alpha- oxidation (loss of 2C or 1C, resp.), other sequels
95 27 Methylations (O-, N-, S-) 01 O-Methylation of catechols and other hydroxy groups
96 02 N-Methylation of exocyclic and endocyclic amino groups (including =N- in azaarenes)
97 03 S-Methylation of thiols
98 04 Methylation of metals and metalloids (Hg, As, etc)
99 28 Other conjugations (PO4, CO2, ...) // Transaminations 01 Reactions of phosphorylation
100 02 Non-enzymatic formation of hydrazones, binding of CO2 to form carbamates
101 03 Other reactions of conjugation, transaminations


 

Field Definition Description
ID INTEGER Primary key (autoincrement).
Structure BLOB Binary object including the 3D compressed structure in IFF/RIFF format.

 

Field Definition Description
Key VARCHAR(16) Name of the data key.
Value VARCHAR(32) Key value.

Possible keys are:

 

Key Description
3DComp Compression algorithm used to store the 3D structures (see structures table).
3DFormat File format used to store the 3D structures (see structures table).
MetaQSAR This optional key can assume the value of 1 if the database includes the MetaQSAR tables or 0 if not. It it's missing, is a normal VEGA ZZ database.

 

 


12.10 Pockets - Protein cavity detection and mapping

 

12.10.1 Introduction

Pockets is the graphic interface for fpocket, the well known software developed by Vincent Le Guilloux and Peter Schmidtke to detect protein cavities. This program uses an extremely optimized algorithm based on Voronoi tessellation whose performances allow to analyze large molecules in few seconds.

The Pockets plug-in was developed with the intent to integrate fpocket into VEGA ZZ, making easier the use of this command-line oriented software. The possibility to identify protein cavities is very useful to perform blind docking studies when the binding site is unknown. Fpocket with Pockets plug-in helps you to scan the target protein to find the best pockets able to accommodate ligands, whose binding mode is not yet identified. Moreover, the last version of the plug-in can map the cavities detected by fpocket performing a docking calculation of one or more probe molecules with AutoDock Vina or PLANTS docking programs. For a better ranking of the cavities with  both fpocket and docking scores, Pockets can calculate also a consensus score according to a set of parameters selected by the user.

Therefore. the workflow for the identification of the potential binding site of a protein is summarized in the following chart:

 

Pokets workflow

 

 

By this protocol, it is possible to identify the most probable binding sites according on both physicochemical properties and the capability to bind ligands of the pockets without the need to perform a full blind docking, which is affected by intrinsic inefficiency of docking algorithms when have to explore a large area of the target protein. In this way, it is possible to improve the probability of success in finding the right binding site, reducing dramatically the computational time. Thank to the parallel execution of the docking calculations, it is possible to complete a full analysis of the pockets (pocket search, docking calculation and ranking) in few minutes.

 

 

12.10.2 Pocket search

Before to start the pocket analysis, you must open the protein to study, which must be completed with hydrogens (see Edit Add Hydrogens) and the atomic charges must be correctly assigned if you want to perform the pocket mapping with docking calculations (see Calculate Charge & Pot.). After these operations, the Pockets main window can be shown bt selecting Calculate Pockets in the VEGA ZZ main menu:

 

Pockets main window

 

 

In Fpocket parameters box, you can set all parameters to control the cavity search and, for an exhaustive explanation, you can read the fpocket manual. In Post processing box, it's possible to define the actions when the fpocket calculation is finished: checking Load spheres, the spheres, calculated by fpocket to fill the cavities, are automatically loaded in the 3D graphic window of VEGA ZZ and checking Show surface, the cavity surfaces are calculated and shown. In Color box, you can define the coloring methods of cavities: None (default color only), By cavity (each cavity has a different color) and By property (the surface is colored by polar (violet) and apolar (sand) properties).

Clicking Run button, a file requester is shown asking you the PDB file needed as input by fpocket and clicking Save button, the fpocket calculation starts. At the end, the results are automatically loaded in the table as shown above. The cavities are sorted by score and the meaning of each column is explained in the fpocket manual. Additional columns are added by the plug-in, which are very useful to setup a docking calculation, as shown in the following table:

 

Column name Description
Center X The Cartesian coordinates of the centre of the pocket.
Center Y
Center Z
Radius The radius in Å of the approximate sphere including the pocket.
Size X The approximate size along X, Y and Z axis of the pocket.
Size Y
Size Z

 

The cavities can be sorted also in ways other than the predefined one (in ascending or descending order) just clicking the header of the column corresponding to score/property by which you want to sort. To show the spheres filling a specific pocket or their surfaces, you can  double click the corresponding row in the result list. Clicking the table by the right mouse button, the context menu is shown and its features are summarized in the following table:

 

Menu Subitem Description
New - Clear the table of the results.
Open -

Open the cavities previously calculated. You can select the *_out or the pockets directory. If the current workspace is empty, you can't show the surfaces double clicking on them.

Save as ... - Save the pocket table in Comma Separated Values (CSV) format or in Data Interchange Format (DIF).
Show Spheres Show the pocket by sphere or surface.
Residues Show the protein residues facing in the cavity.
Probe pose

Show the probe pose if you performed a docking calculation. You must click with the right mouse button on the cell of the Probe column corresponding the ligand that you want to show. That's is needed because you can map the pockets with more than one probe.

Select Top Select (check) the top ranked pockets (1, 3, 5, 10, 20, 50 and 100).
All Select all pockets.
None Unselect all pockets.
Copy All Copy the whole table to the clipboard in CSV format.
Value Copy the value under the mouse pointer to the clipboard.
Checked Copy only the selected/check pockets/rows to the clipboard.
Row Copy the row to the clipboard. The values are separated by space characters.
Column Copy the column to the clipboard. If you show the context menu clicking with the right mouse button on the column header, also the label is copied, otherwise it is missed. The values are separated by line feed characters.
Send to Excel All Send the complete table of the results to Microsoft Excel through the DDE connection.
Checked Send only the checked/selected rows to Microsoft Excel.
Remove pockets - Remove all pockets from the current VEGA ZZ view.
Remove column - Remove column and only Probe and Consensus column can be removed. You must pay attention because when you remove the Probe column also the docking data are deleted (moving it to the trashcan if the data are on a local drive). A requester ask you if continue or not when you are removing a Probe column.

 

Some of these functions are duplicated in the menu bar, while others are unique as shown in the following table:

 

Menu Submenu 1 Subitem 2 Description
File Open -

Open the cavities previously calculated. You can select the *_out or the pockets directory. If the current workspace is empty, you can't show the surfaces double clicking on them.

Save as ... - Save the surface table in Comma Separated Values (CSV) format or in Data Interchange Format (DIF).
Close - Close the plug-in window.
Edit Copy Checked Copy only the selected/check pockets/rows to the clipboard.
Row Copy the row to the clipboard. The values are separated by space characters.
All Copy the whole table to the clipboard in CSV format.
Send to Excel All Send the complete table of the results to Microsoft Excel through the DDE connection.
Checked Send only the checked/selected rows to Microsoft Excel.
View Select Top Select (check) the top ranked pockets (1, 3, 5, 10, 20, 50, 100).
All Select all pockets.
None Unselect all pockets.
Remove pockets

-

Remove all pockets from the current VEGA ZZ view.
Calculate Pockets - Run fpocket to calculate the cavities. It's equivalent to press the Run button.
  Docking - Perform the mapping of the pockets by docking (see below).
  Consensus - Calculate the consensus of a user-defined set of scores (see below).
Help Manual - Show this manual.
  Fpocket - Show fpocket manual.
  About - Show the copyright message.

 

Clicking the Default button, you can revert to default settings.

 

Notes:

All fpocket executables (dpocket, fpocket and tpocket) are included in VEGA ZZ package and can be used also without the GUI as stand-alone programs based on command-line input.

 

 

12.10.3 Docking calculation

Before to to perform the docking calculation, you must:

  1. perform the pocket search;
  2. select one or more potential ligands (probes), whose activity should be related to the biological role played by the protein that you want to analyze;
  3. prepare the 3D structure of the probes according to the needs required by the docking program that you want to use.

About the last point, PLANTS doesn't need special precaution in preparing the probe if not the file format that must be mol2 and atom charges must correctly assigned. On the contrary, Vina requires several operations to prepare the ligand to dock and, for this reason, it is strongly recommended to use the script Docking Vina Ligand.c to do automatically all needed operations (e.g. charge assignment, atom type assignment, deletion of apolar hydrogens, search for flexible torsions and save in PDBQT format).

When you have completed all these steps, you can select Calculate Docking in the plug-in menu bar and than the docking dialog window will be shown:

 

PLANTS docking   Vina docking

 

Here you can select the docking engine (PLANTS or Vina) and set the main parameters such as the Probe molecule file previously prepared as described above and the Probe label, which is used as header of table column of the docking scores. The label is automatically proposed by the program, but it can be changed by the user according the following rules: 1) it must written with capitalized characters; 2) only alphanumerical characters are admitted (no colons, commas, dashes, dots, underscores, etc.); 3) the maximum length is 8 characters. Other specific parameters must be set for each docking engine.

 

12.10.3.1 PLANTS parameters

When you select PLANTS as docking engine, you must set the Radius increment whose value is added to the radius of the sphere including the pocket, the Score (ChemPLP, PLP and PLP95) and the Exhaustiveness level of the calculation. In particular,  Speed 1 is the slowest level, but it is best in accuracy. Speed 4, as reported in PLANTS manual, is the fastest but is not recommended and is present only for test purposes.

 

WARNING:
PLANTS is not included in VEGA ZZ package, but is available for free for non-profit institution and can be requested to its owners.

 

 

12.10.3.2 Vina parameters

AutoDock Vina requires to set different parameters such as the Box increment, which is the value added to the X, Y, Z dimensions of the box including the pocket and the Exhaustiveness of the calculation. Vina program is included as both 32 and 64 bit versions in VEGA ZZ package and doesn't need to be installed.

 

 

The Default button reverts the settings to default, while the Run button starts the docking, which can be aborted in any time by clicking the Abort button in the Pockets main window. Multiple instances of the docking programs are started simultaneously according the total number of cores/threads of the CPUs in order to maximize the performances. Only the checked pockets are selected for the docking and in this way you can reduce the calculation time selecting only the best ranked pockets.

At the end of the docking, a column named Probe XXX, where XXX is the label of the probe is added to table of the result.

 

 

12.10.4 Consensus calculation

As final step, to rank the pockets according to both pockets scores/properties and docking scores, you can calculate the consensus score and order by it. In particular, selecting Calculate Consensus, the following dialog is shown:

 

Consensus dialog box

 

Here it is possible to combine each other docking scores (labelled as Probe XXX) with pocket scores (e.g. the Score column, not shown in the above picture). In this dialog, you can also specify to calculate the consensus only for the checked/selected pockets and the label of the column, which is added to the list of the results. The same rules for the probe label are valid also here. Clicking the Default button, all parameters are reverted to default and in particular Score and Probe XXX columns are automatically selected. Finally you can sort the pocket according to the consensus (lower = better) by clicking with the left mouse button on the header of the column, which is named as Consensus XXX, where XXX is the label indicated in the Column label field. The consensus columns are not automatically saved, but can be exported to Excel with the other data  or copied to the clipboard.

 

 

12.10.5 Output files

All files are saved in the output directory generated by fpocket, whose name is the same of the PDB file needed as input (PROTEIN) followed by _out suffix. In details, the following scheme shows its structure:

 

PROTEIN_out Root of the output directory

pockets

Directory of the pocket files (two files for each pocket enumerated from 0).

pocket0_atm.pdb

Atoms defining the border of the pocket #0 in PDB format.

pocket0_vert.pqr

Spheres filling the pocket #0 in PQR format.

...

 

poses_PROBEID

Directory the best poses for each pocket. If more than one probe was used for the analysis, this multiple copies of this directory could be present with different PROBEID.

pocket0_plants.mol2

Best pose of the probe for the pocket #0 in mol2 format. This kind of file is generated if you selected PLANTS as docking engine.

pocket0_vina.pdbqt

Best pose of the probe for the pocket #0 in PDBQT format. This kind of file is generated if you selected Vina as docking engine.

PROTEIN.pml

Script to show the pockets whit PYMOL.

PROTEIN.tcl

Script to show the pockets whit VMD.

PROTEIN_out.pdb

PDB file including both input protein and all pockets.

PROTEIN_pockets.pqr

Spheres of all pockets in PQR format.

PROTEIN_PROBEID_plants.csv

PLANTS output file with all docking scores in CSV format (one for each probe).

PROTEIN_PROBEID_vina.csv

Vina output file with all docking scores in CSV format (one for each probe).

PROTEIN_PYMOL.cmd

Batch file to run PYMOL.

PROTEIN_VMD.cmd

Batch file to run VMD.

 

 

12.10.6 Copyright

 

fpocket
is a software developed in 2009-2021
by
Peter Schmidtke, Vincent Le Guilloux and Pierre Tuffery
All rights reserved.

 

 

AutoDock Vina

is a software developed in 2010-2021

by Oleg Trott

All rights reserved.
 

PLANTS

is a software developed in 2006-2021

by Oliver Korb, Thomas Stützle and Thomas Exner

All rights reserved.

 

 

Pockets plug-in for VEGA ZZ
is a software developed in 2010-2021
by Alessandro Pedretti and Giulio Vistoli
All rights reserved.
 

Alessandro Pedretti
Dipartimento di Scienze Farmaceutiche
Facoltà di Scienze del Farmaco
Università degli Studi di Milano
Via Luigi Mangiagalli, 25
I-20133 Milano - Italy
E-Mail: info@vegazz.net

 

 


12.13 Predator - Secondary Structure Prediction

This plug-in interfaces VEGA ZZ to Predator* that allows to predict the secondary structure of a protein starting from their primary structure. It takes as input a single protein sequence to be predicted and can optimally use a set of unaligned sequences as additional information to predict the query sequence. The mean prediction accuracy of PREDATOR is 68% for a single sequence and 75% for a set of related sequences.
To open the main window, you must select Bioinformatics Predator from the main menu.

 

Predator

 

In Files box,  you can enter the file  containing on or more sequences according to Predator's supported files (in FASTA, CLUSTAL, MSF formats) and the file name of the custom database.
Checking Sequence ID box, you can select the sequences that Predator uses as query. The default sequence is the first in the sequences file. Database box allows to select the database used to predict the secondary structure. If Custom is selected, you can insert the custom database file name in Files box. In Options box, you can change some Predator parameters:

Pressing Run button, the calculation starts and can be stopped clicking on Abort button. The output is directly captured in the big edit box and it's shown as below:

 Info>  3fis.brk   : .................................................!
 Info>  FIS_HAEIN  : .................................................!
 Info>  NTRC_AZOBR : .................................................!
 Info>  NTRC_RHIME : .................................................!
 Info>  NTRC_BRASR : .................................................!
 Info>  NTRC_RHOCA : .................................................!
 Info>  ATOC_ECOLI : .................................................!
 Info>  NTRC_KLEPN : .................................................!
 Info>  FLBD_CAUCR : .................................................!
 Info>  NTRC_ECOLI : .................................................!
 Info>  NTRC_SALTY : .................................................!
 Info>  NTRC_PROVU : .................................................!
 Info>  Identical 7-residue fragments found in:
 Info>  3fis.brk B

> 3fis.brk
              .         .         .         .         .
1    PLRDSVKQALKNYFAQLNGQDVNDLYELVLAEVEQPLLDMVMQYTRGNQT   50
     _HHHHHHHHHHHHHH_________HHHHHHHHHHHHHHHHHHHH____HH

              .         .   
51   RAALMMGINRGTLRKKLKKYGMN                              73
     HHHHHH___HHHHHHHHHH____


Clicking Help label, this document is shown, and clicking About label, the following copyright dialog appears:

 

  About Predator

 

For more information about Predator software, see the original documentation:

 


*Predator is copyrighted by Dmitrij Frishman & Patrick Argos

12.11 PowerNet - Network Interface

 

12.11.1 Introduction

PowerNet is the most powerful VEGA ZZ plug-in  because it's a bridge between VEGA ZZ and the other applications trough the TCP/IP protocol. Moreover, it includes the WarpEngine Technology that allows you to distribute the calculations over the network without special skills.  These applications can run on the local machine:

 

Local TCP/IP connection

 

or on a remote machine:

 

Remote TCP/IP connection

 

PowerNet adds to VEGA ZZ a TCP/IP port that is usable to send and receive command-line instructions, working in the same way of a POP3 server. An interface application example is the REBOL scripting language that is useful to create simple scripts to automate the most common procedures. PowerNet allows to communicate virtually with all applications that include a minimalist TCP/IP client. PowerNet includes the access control in order to protect your system by hacking attacks from Internet.

 

12.11.2 Configuration

The configuration interface can be shown by main menu clicking Tools Plugin configuration PowerNet, or using the plug-in manager (Tools Plugin configuration Manage). The configuration parameters are stored in ...\VEGA ZZ\Config\powerner.xml file and the default parameters in ...\VEGA ZZ\Config\powerner.def.

 

Telnet tab

Default settings:
- Telnet service enabled.
- Port number: 2000.
- No password check.

  

12.11.2.1 Telnet tab

In this tab, you can enable/disable the TCP/IP service (Enable telnet service), change the port number, enable/disable the password check, specify the user name and the password. Remember that you can't change the port number if the telnet service is enabled, thus you must disable it before to set the new port number. The default TCP/IP port number is 2000 and it can be automatically increased by PowerNet if the port is already in use by other applications or by other VEGA ZZ sessions. In this way you can start more than one VEGA ZZ sessions without conflicts.

Please remember that if the telnet service is disabled, no local or remote connection are possible (e.g. REBOL can't work).

 

12.11.2.2 HTTP tab

PowerNet includes a Web server that is used to run applets and JavaScripts.
You can enable/disable the HTTP server (Enable HTTP service), change the port number, specify the Browser type for applets and scripts (Built-in = custom browser included in PowerNet, Default = default browser installed in your PC), decide to apply the browser settings to all applets (Apply to all applets), set the client window size and define if the client window is sizeable. The default port number is 4000 and it can be automatically increased by PowerNet if the port is already in use by other applications or by other VEGA ZZ sessions as explained in the above section.

Please remember that if the HTTP service is disabled,  applets and JavaScripts can't run.

 

WARNING:
It may be possible that the built-in browser is unable to run Java applets. In this case, it's strongly recommended to set the browser type to Default and check Apply to all applets. The included applets were tested to run with Internet Explore 6, 7, 8, 9 and FireFox 3.

The HTTP server is inactive until the first applet/javascript is started.

   Clients tab

Default settings:
- HTTP service enabled
- Port number: 4000.
- Browser type: Built-in.
- Apply to all applets: unchecked.
- Client size: 580x384.
- Sizeable client: checked.

 

 

 

Clients tab

Default settings:
- Remote access disabled.
- No IP filtering.

  

12.11.2.3 Clients tab

In this tab, you can enable the remote access granting the VEGA ZZ control to other PCs.

 

WARNING:
It's strongly recommended to activate the password check and to put the user name and the password, when you enable the remote access.

You can permit or deny the access to specific hosts putting their IP in the IP fields and clicking Add button. On the left of each IP added in the list is present a checkbox. If it's checked, the host access is granted, otherwise it's dined. Each entry can be moved in the list using the Up/Down buttons and removed pressing Remove button. In the IP addresses, can be used the wildcards in order to control the access of more than one host. A good idea is to grant the access of all host in your domain (e.g. 192.168.0.XXX), adding the 192.168.0.* entry.

 

 

 

12.11.2.4 Log Tab

In order to check the TCP/IP connections and the script execution, it's possible to enable the PowerNet event logging. The log is a text file containing client information, the time of each event, submitted commands, results and errors.
This file can be cleared at each VEGA ZZ run or kept appending the new information (see Clear the file when VEGA starts checkbox). It's possible to type the log file name, using the specific field.

   Log tab

Default settings:
- Logging disabled.
- Clear the file when VEGA starts enabled.
- Log file name points the VEGA installation directory.

 

PDB tab

Default settings:
- Store directory: %DATADIR%\Pdb.
- Remove PDB files after download.

   

12.11.2.5 PDB Tab

PowerNet adds to VEGA ZZ the capability to connect to Protein Data Bank (PDB) to download structures (click here for more information). The downloaded files can be removed from the disk immediately after the download or stored in a specific folder (Store directory) in order to build a personalized local database.

 

 

REBOL tab

Default settings:
Interpreter: %PROGDIR%\Bin\Win32\Rebol.exe.
Script path: %SCRIPTDIR%.

  

12.11.2.6 REBOL tab

PowerNet adds to VEGA ZZ the capability to manage REBOL scripts trough the graphic interface (see script section). In this tab, you can change the REBOL interpreter and the directory path in which the REBOL scripts are placed. PowerNet includes REBOL/view package that can be used to create  graphic interfaces for your scripts in easy way. For more information about REBOL and REBOL/view, click here.

 

12.11.3 Testing the configuration

In order to check the TCP/IP configuration, you can use a simple telnet client (e.g. telnet.exe included in Windows), following this procedure:

 

12.11.4 PDB database interface

Another PowerNet feature is the interface to download the PDB structures directly into VEGA ZZ. To setup  this service, please refer to the configuration section. Picking PDB download item in VEGA ZZ File menu, you can access to the interface window:

 

PDB download

 

To download a structure, you must put the PDB entry conde in PDB Id and press Download button. Before to start a new download from PDB, PowerNet checks if the molecule is already present in the local database and ask you to proceed with the new download or to use the local file (see the configuration section to create a local PDB database). The status bar indicates the download progress and if an error occurs. When the download ends, the structure is automatically loaded in VEGA ZZ.

 

12.11.5 How to run a script

The scripts files must be placed in the scripts directory (or in its subdirectories), as explained in the configuration section. The scripts can be managed selecting Run script from VEGA File menu:

 

Script manager

 

This dialog box allows to create, edit, run, rename, delete and move your scripts. The structure of the Scripts directory is shown as a tree that can be explored by the keyboard (cursor arrows, home, end, pg. up, pg. down and enter keys) and mouse:

 

Exploring the scripts directory

 

Selecting a script, you can run it clicking Run button or double clicking it. The right mouse button shows the context menu:

 

Context menu

 

By the context menu, you can run and Edit the selected script, Rename, Delete and create (New) scripts and folders. You can move scripts and directories from a folder to another one by drag & drop operations. The Update item is useful to refresh the script list.
Clicking on the small > button at the left, you can expand the window, showing the description of the current script:

 

Expanded view

 

Showing the context menu on the description box, you can Add, if it's not already present, Edit with WordPad, Delete and Print the description:

 

Context menu

 

The description box can be closed clicking < button and the context menu functions are duplicated in the menu bar.

 

12.11.6 Description file format

The description files are stored in the same directory in which the script is placed. When a script is moved, renamed or deleted, its description file is moved, renamed or deleted also. They are in Rich Text Format (RTF) and have the .rtf file extension. It's strongly recommended to not use Microsoft Word to crate or modify them, because it adds some codes that aren't recognized by PowerNet and it increase the file size.

 


12.12 The WarpEngine technology

 

Main topics:

12.12.1 Introduction
12.12.2 The graphic user interface
    12.12.2.1 The server personality
  12.12.2.2 The client personality
12.12.3 WarpEngine pre-installed projects
  12.12.3.1 Test projects
  12.12.3.2 APBS - Solvation energy
  12.12.3.3 MOPAC - Semiempirical calculation
  12.12.3.4 PLANTS - Virtual screening
  12.12.3.5 PLANTS - M2 (3UON)
  12.12.3.6 RESCORE+
12.12.4 Developing a new WarpEngine application
  12.12.4.1 Global variables
  12.12.4.2 Events managed through the server script
  12.12.4.3 Events managed through the client script
  12.12.4.4 WarpEngine APIs
  12.12.4.5 Macros
  12.12.4.6 Minimalist server code
  12.12.4.7 Minimalist client code

 

 

12.12.1 Introduction

The collaborative computing term includes technologies and informatics resources based on a network communication system that allows the documents and projects to be shared between users. All activities can be managed by a variety of devices such as desktops, laptops, tablets and smartphones. In a computational chemistry laboratory, one of the most common need of a researcher is not only to share information and data between the collaborators, but also computational resources for ab-initio calculations, semi-empirical calculations, MD simulations, virtual screening, data mining, etc.

The typical scenario of a computational chemistry laboratory is shown in the following scheme:

 


Typical scenario of a computational chemistry laboratory

 


Several workstations are connected each other by network devices granting the access to local resources, provided by one or more servers, and to Internet trough a firewall. Therefore, the global computation power given by all PCs taken together is very high, but is "fragmented" on the net, making hard the use to run a single complex calculation. Moreover, the situation is more complex by because the heterogeneity of hardware and operating systems.

To overcome these problems, WarpEngine was developed whose main features are summarized here:

HTTP server Pages / sec. msec. / request
WarpEngine 3 205.13 1.560
Internet Information Service 6.0 1 066.67 4.688

The benchmark was executed performing 100 requests with concurrency level of 5 using a four core CPU at 2.4 GHz.

 

These performances ensures on the same test system to extract (by SQL query), decompress and delivery molecules to the clients and receive the answer at the noticeable speed of 41 115.00 molecules / min with a peak performance of 79 651.78 jobs / min without the database management.

 

The security is provided by a tunnelling service and a digital signature that certify all files sent by the server to the clients.

 

As explained in the previous summary, WarpEngine is a client/server-based technology implemented in C++ language as part of the PowerNet plug-in and is fully integrated in the VEGA ZZ program. The same software can run as server or client, so you don't need specific versions for each personality. It can work indifferently in both LAN and WAN but, in this last case, some minor restrictions were introduced to grant the security.

The flowchart of the server side is depicted here:

 

 

 

The server code includes several modules that are logically linked to each other. Due to the asynchronous nature of the code, some modules run as separated thread and the communication is implemented through events, mutexes and message queues that are provided by the cross-platform library named HyperDrive.

More in detail, here is the description of each module:

Project manager is one of the most important module at the server-side, as shown in the following scheme:

 

Project managerat server-side

 

This server module plays a pivotal role because it does several important actions such as:

The client-side architecture is complementary if compared to that of the server-side as shown below:

 

Client flowchart

 

In particular, the most important client modules are:

 

Here is a more detailed representation of Project manager at the client-side:

 

Project manager at client-side

 

When the client connects itself to the server, several events occurs as shown below:

 

 

12.12.2 The graphic user interface

As explained above, VEGA ZZ includes both client and serve code, so when you  start WarpEngine you can decide its running personality. If you want to test locally some applications, you can run two WarpEngine instances from two different VEGA ZZ on the same node, the former with the server personality and the latter with the client one.

 

12.12.2.1 The server personality

To start WarpEngine in server mode to setup a new calculation, you must select File WarpEngine Server: If your operating system is Windows and the User Account Control (UAC) is enabled, administrative rights are required. If  they aren't available, VEGA ZZ asks you to restart the program to obtain the rights.

 

WarpEngine server - Projects tab

 

The main window show all available projects (see below to add a new one). In the Project tab, you can select the projects that you want to run. Although WarpEngine allows more than one project to be executed at the same time, there are calculations that needs the exclusive use of the resources and, for this reason, can be executed alone. For each project, the identification number (ID), the short description (Name), the status of the calculation (Status), the number of errors occurred during the calculation (Errors), the elapsed time to end the calculation (ETA) and the time spent by the calculation (Time) are shown as table. Status, Errors, ETA and Time are updated in real time when the project is running. In the Summary of projects box are shown the main information on the projects: the number of available projects (Available), the number of enabled/checked projects (Enabled) and the number of completed projects (Completed).

Clicking the Start button, the selected projects are executed. Additional data could be requested to the user according to the server script managing the calculation. For example, in same cases you must select the database to process or put some parameters, in other cases a full graphic interface is shown for the set-up of the calculation (e.g. PLANTS). When the set-up phase is completed, the server is ready for the incoming connection and you can minimize it on the system tray bar clicking Hide button.

 

WarpEngine minimized on the system tray

 

Clicking the WarpEngine icon on the tray bar with the right mouse button, you can show its menu:

 

WarpEngine server menu

whose functions are summarized in the following table:

 

Menu item Description
Monitor off Switch off the LCD monitor.
Show "Don't power off" Show a large "WarpEngine - Don't power off" message on the desktop to prevent accidental power off by other users. You can hide the message double clicking it.
Show Show VEGA ZZ and WarpEngine windows.
Quit Stop WarpEngine server and close the program. A dialog box is shown to confirm the action.

To stop the server without closing the program, you can click the Stop button: the action must be confirmed by a dialog box.

The Clients tab shows the connected clients, their status and some statistics about their activity:

 

WarpEngine server - Clients tab

 

More in detail, for each client the identification code (ID), the host name (Name), the IP address (IP), the ID of the project on which the client is working (PID), the session ID (SID) used to identify different WarpEngine instances running on the same client, the number of working threads (Threads), the number of completed jobs (Jobs), the calculation speed expressed as number of jobs per minute (Speed (jobs/min)), the number or recoverable errors occurred, the time passed from the first contact (Uptime) and the hour of the last client contact (Last contact) are shown. Moreover, global information is reported at the bottom box: the number of active clients (Active clients), the number of completed jobs (Completed jobs), the total number of thread running at the same time (Total threads), the total number of jobs required to complete the calculation (Total jobs), the average number of jobs processed by each client (Average jobs/client) and the average number of jobs completed by each thread (Average jobs/thread).

After five consecutive errors, the client is automatically disconnected from the server and you can decide to disconnect manually the client by the context menu. By this menu, you can also recruit all client of the local network that are in waiting status. In this way, you don't need to connect manually each client to the server.

In Performances tab, you can monitor the performances of the calculation system in real time:

 

WarpEngine server - Performances tab

 

Here, you can check the average speed, the maximum average speed, the current speed (all these quantities are expressed as number of completed jobs per minute) and the CPU load of the server (as percentage).

 

12.12.2.2 The client personality

As for the server mode, to start WarpEngine with the client personality, you must select File WarpEngine Client. Also in this case, administrative rights are required. You can decide to start the client and to connect it manually to a specific server or leave it in a waiting status to be recruited by a server trough a broadcast message. This second operative mode is available only if the server is in the same network of the client or the client can access to the same local network through a Virtual Private Network (VPN).

 

WarpEngine Client

 

The servers are automatically detected if they are in the local network (Server column). Alternatively, they can be added manually clicking the Add button or choosing the Add item in the context menu:

 

Add a new server

 

In this dialog window, you can specify the server name (Name, used only as alias), the IP address (Address) and the communication port (Port). Clicking Add, you can add the server to the list. The server is not saved and needs to be added every time that you need it.

Before to add the client to the calculation pool, you can choose the action performed at the end of the calculation: None (nothing is done), Close VEGA ZZ (closes the program) and Shutdown the system (power off the system).

To connect the client to the server and run the calculation, you must select the server and choose the project, thus click the Run button. The program is automatically minimized on the system tray showing a notification. You can minimize the client on the system tray without attaching it to a server just clicking the Hide button. In this way, the client remains in waiting mode and can be recruited by the server.

 

WarpEngine minimized on the system tray

 

As for the WarpEngine server, if you click the icon on the system tray, you can show the control menu:

 

WarpEngine client menu

 

In addition, you can change the action performed at the end of the calculation, selecting the End action submenu as explained above.

 

12.12.3 WarpEngine pre-installed projects

VEGA ZZ package includes WarpEngine projects ready-to-use: some of them are for test purposes, while others are specific for intensive calculations.

 

 

12.12.3.1 Test projects

These projects named with TEST prefix are suitable to test the network configuration, to check the client/server communication and to evaluate the transfer performances.

 

Project name Description
TEST - Communication test This is a simple stress-test to check the client/server communication in extreme conditions. When you start the server, a file requester is shown to choose the output file name that will be in CSV format, thus the project asks you if you want to switch off all messages shown in VEGA ZZ console. This function is useful to reduce the latencies an test the full power of the network connection.

The server send a packet of data to each client and collect the answers in the output CSV file. The test is repeated 10000 times and you can evaluate the speed in the Performances tab of the server.

The output file includes four columns: the job number (JOBID, from 1 to 10000), the identification number of the client (CLIENTID), the identification number of the thread processing the message (THREADID, from 0 to n, where n is the maximum number of cores/threads minus 1 manageable by the client) and a progressive number as returning message (RESULT).

TEST - Database test Also this project is a stress test to check if the database functions implemented in WarpEngine work properly. It requires a SQL database of molecules in any format supported by VEGA ZZ (for more information, click here). The server asks you also for the output file name that will be written in CSV format.

The server send a molecule to the client and receive a confirm message. If the operation is successfully completed the output file is updated. It includes two columns: the identification number of the molecule (JOBID) and the molecule name (MOLECULE).

TEST - Database sort test This project is quite similar if compared to the previous one, but the main difference consists of how the output is written. The client downloads a molecule from the server, calculates its mass and returns this value as answer. The server sorts the results by mass and periodically (every 60 seconds) writes the output file. This file includes three columns: the job identification number (JOBID), the molecule name (MOLECULE) and the mass (MASS).

 

12.12.3.2 APBS - Solvation energy

This project calculates the solvation energy (in water solvent) of a set of molecules in a database. It uses APBS (included in VEGA ZZ package) that is a software, developed by Nathan Baker in collaboration with J. Andrew McCammon and Michael Holst, for modelling biomolecular solvation through solution of the Poisson-Boltzmann equation (PBE).

When you start the project, you can select the input database and the output CSV file in which will be stored the following data:

 

Column Description
JOBID Identification number of the job.
MOLECULE Molecule name.
APBS_REF Reference electrostatic energy in vacuum.
APBS_SOLV Electrostatic energy in solvated state.
APBS_DIFF Solvation energy calculated as difference between APBS_SOLV and APBS_REF.

All energies are expressed in kJ/mol.

 

A log file is also created and named as the CSV one changing the extension from csv to log.

You can change the calculation parameters editing apbs.in file in ...\VEGA ZZ\Data\WarpEngine\Projects\APBS directory.

For more information on the implemented method, you can look here.


 

12.12.3.3 MOPAC - Semiempirical calculation

By this project, you can perform MOPAC calculations on molecules included into a database. MOPAC 7.01-4, that is included in VEGA ZZ package, is used by default but if a newer release is installed (click here for the installation guide), it is automatically detected and used. Don't mix different MOPAC versions: all clients must have the same MOPAC release.

When you start the server, you can select the input database including the molecules to process, the output CSV file in which the parameters calculated for each molecule are stored  and the keywords required by MOPAC. The pre-defined keywords are AM1 PRECISE GEO-OK, while  CHARGE keyword is not required, because the total charge is calculated automatically.

 

MOPAC keywords

 

A new database is also created with the same format of the input database and with the same name of the CSV file adding - MOPAC suffix to store the structures optimized by MOPAC.

If any molecule is skipped during the calculation, a CSV file with the same name of the output file is created with skipped suffix in which the job identification code (JOBID) and the molecule name (MOLECULE) of the molecule with errors is saved.

If you stop the calculation accidentally or a heavy problem occurs to  the server, you can restart the calculation just starting the server and setting up the calculation with the same parameters and files (including the output).

 

MOPAC restart

 

When you confirm to overwrite the output file a requester is shown to ask you if you want to restart the calculation.

The CSV output file includes the first two columns that are common to all calculation types: the identification number of the job (JOBID) and the molecule name (MOLECULE).  Additional columns are added according to the specified MOPAC keywords and the relative values are retrieved from .arc files. If you add SUPER as keyword, the superdelocalizability data is read from the MOPAC output file.

 

 

12.12.3.4 PLANTS - Virtual screening

WarpEngine allows large scale virtual screening campaign to be performed in easy way by PLANTS software. This program must be installed at least on the server because the PLANTS server sends not only the data required for the calculation (protein target, control file and ligands to dock) but also the executable of the docking program. The executable is digitally signed in order to avoid the injection of malicious programs. To install PLANTS, you must follow the steps shown in the activation and installation section.

When you start WarpEngine with the server personality selecting PLANTS - Virtual Screening as project, a dialog to setup the calculation is shown:

 

PLANTS project setup

 

The setup procedure is quite similar to that for the normal PLANTS docking. More in detail, you can set:

File Description
base_name.csv Best poses of each ligand ranked by lowest-to-highest total interaction energy (TOTAL_SCORE).
base_name All.csv All poses of each ligand not ranked.
base_name Mean.csv Mean, minimum, maximum, range and standard deviation values of each PLANTS score evaluated for all poses of a ligand (see Clusters).

All these files are updated every 300 seconds and you can change this frequency editing WES_UPDFREQ constant in server.c file. If the number of clusters (Clusters) is set to 1, base_name All.csv and base_name Mean.csv have no additional meaning because include the same information of base_name.csv file.

Moreover, the menu bar allow other functions to be accessed as shown in the following table:

 

Menu Item Shortcut Description
File Load config. Ctrl+L Load the settings from file.
Save config. Ctrl+S Save the settings to file.
Quit - Close the set-up window and stop the project execution.
Help Manual Ctrl+H Show this manual.

 

Clicking the Start button, the server is initialized and waits for incoming connections. As for MOPAC, If the output CSV file is already present by because a previous calculation was performed without finishing it, a dialog window asks you if you want restart the calculation or repeat it from the beginning.

 

 

12.12.3.5 PLANTS - M2 (3UON)

This project is an example showing how to set up a PLANTS virtual screening without the use of the graphic user interface. More in detail, this project performs a docking calculation on M2 muscarinic receptpor (PDB ID 3UON). Pre-defined PLANTS projects are useful if you have to perform several docking studies on the same target keeping the same parameters.

To build your own pre-defined project you must follow these steps:

  1. Go to ...\Data\WarpEngine\Projects directory and make a copy of PLANTS_M2 in the same directory.
  2. Rename the duplicated directory (e.g. PLANTS_MyTarget).
  3. Go to ...\Data\WarpEngine\Projects\PLANTS_MyTarget and edit the project.xml file with your preferred text editor (MiniEd included in VEGA ZZ is enough).
  4. Change the project name (name tag), eventually update or remove the project description (description tag) and save the file.
  5. Edit plants.cfg file according to the parameters that you need for the calculation (for more information, see PLANTS manual). Take care: don't change protein_file, ligand_file, output_dir, write_multi_mol2, write_protein_bindingsite, write_protein_conformations and write_protein_splitted commands.
  6. Replace protein.ml2 file with your target in Mol2 format.

Restarting VEGA ZZ, your project will appear in the main window of WarpEngine server. When you run the project, two file requesters are shown to choose the ligand database and the base file name of the CSV outputs. The restart feature is also available as for calculations prepared by graphic user interface.

 

 

12.12.3.6 RESCORE+

RESCORE+ is a WarpEngine project that allows the calculation of different scores from a given set of poses obtained by a previous docking simulation. It is also possible to perform the same calculation using a trajectory file as input in order to evaluate how the interaction between two molecules (usually a receptor and a generic ligand) evolves during the molecular dynamics simulation.

RESCORE+ accepts different input combinations:

The files must be in one of the file/database formats supported by VEGA ZZ (see supported file formats, supported database formats). If you provide files including both ligand and receptor (such as a single database or MD trajectory), the ligand must be le last molecule in the molecular assembly in order to be correctly detected.

Before to calculate the scores, the complexes can be minimized by NAMD 2 (that must be installed at least on the WarpEngine server), applying spherical constraints around the ligand if needed by the user. Moreover, the processed complexes can be saved as single files (you can choose the file format) or collected in a whole database (this is the best choice if you need to process a large number of molecules).

When you start WarpEngine, with the server personality selecting RESCORE+ - Rescoring of docked poses as project, a dialog to setup the calculation is shown:

 

RESCORE+ project setup

 

In the Input files box, you can choose the receptor file or the complex file if you want to rescore a trajectory (Receptor). This field could be empty if the database doesn't include the ligand poses but the whole ligand-receptor complexes.

You can also set the trajectory file (Trajectory) if you are rescoring the output of a MD simulation, the first (First) and the last (Last) pose/frame number and the pose/frame increment (Step) if you want to process only a part of the set of poses/frames.

In the Output files box, you can select the file in which are stored the calculated score for each pose/frame (CSV output). This file is in Comma Separated Values format (CSV) that is read by the most popular spreadsheet programs. Furthermore, you can select the log file (Log file) in which are recorded the calculation settings and the possible error messages. Checking Save complexes, you enable the capability to save the ligand-receptor complexes in a specific directory. More in detail, you can specify also the file format, the compression algorithm (Compression) and if to save the connectivity for PDB files (Save connectivity).

Checking Save database, the complexes are collected in a database that you can specify by the file requester.

In the Complex minimization box, you can find the parameters required for the complex minimization. Checking Minimize the complexes by NAMD 2, you can enable this feature and in particular you can set the number of iterations (Steps), the force field (Force filed), the parameter file (Parameters) that must be in ...\VEGA ZZ\Data\Parameters directory and the optional extra parameter file (Extra parameters) that is used to add parameters not included in the main file. Checking Spherical const., only the atoms included included in a sphere of a given radius (e.g. 10 Å) centred on the ligand barycentre are free to move and the others out of this sphere are kept fixed.

In the Scores to calculate box, you can choose the scores to consider in the rescore procedure as shown in the following table:

 

Score Type Program

Included

in VEGA ZZ

Description
AMMP External AMMP Yes Electrostatic and Van der Waals interaction calculated by SP4 force field.
APBS External APBS Yes Electrostatic interaction evaluated by Adaptive Poisson-Boltzmann Solver (APBS).
CHARMM Internal - Yes R6-R12 non-bond interaction evaluated by CHARMM 22 force field provided by Accelrys. To perform this calculation, the parm.prm file must be copied in the ...\VEGA ZZ\Data\Parameters directory. This file is not included in the package for copyright reasons.
CHARMM_22 Internal - Yes R6-R12 non-bond interaction evaluated by CHARMM 22 force field.
CHARMM_36 Internal - Yes R6-R12 non-bond interaction evaluated by CHARMM 36 force field.
CVFF Internal - Yes R6-R12 non-bond interaction evaluated by CVFF force field.
ChemPlp External PLANTS No Knowledge score implemented in PLANTS software.
Contacts WarpEngine - Yes Score that evaluates the number of contacts between the interaction partners.
Elect Internal - Yes Electrostatic interaction based on Coulomb equation. The dielectric constant is set to 1.0.
ElectDD Internal - Yes Distance-dependent electrostatic interaction based on Coulomb equation. The dielectric constant is set to 1.0.
MLPInS Internal - Yes Hydrophobic interaction calculated using the Broto's and Moreau's atomic constants.
MLPInS2 Internal - Yes Hydrophobic interaction in which the distance between interacting atom pairs is considered as square value.
MLPInS3 Internal - Yes Hydrophobic interaction in which the distance between interacting atom pairs is considered as cube value.
MLPInSF Internal - Yes Hydrophobic interaction in which the distance is evaluated by the Fermi's equation.
Plp External PLANTS No Knowledge score implemented in PLANTS software.
Plp95 External PLANTS No Knowledge score implemented in PLANTS software.
X-Score External X-Score No Binding score evaluated by X-Score program.

For more information about MLPInS, click here.

 

Clicking the Start button, the WarpEngine server is initialized and becomes ready for incoming connections.

Other functions are available through the menu bar as shown in the following table:

 

Menu Item Subitem Shortcut Description
File Load config. - Ctrl+L Load the settings from a configuration file.
Save config. - Ctrl+S Save the current settings to a configuration file.
Quit - - Close the configuration dialog window.
Edit Select scores Default - Select the default scoring functions.
All - Select all scoring functions.
None - Unselect all scoring functions.
Clear config. - - Clear all configuration fields and revert to default.
Help Manual - Ctrl+H Show this manual.

 

 

Notes:

to enable all functions of this WarpEngine project, you must install the following external programs/files:

You don't need to install these optional components on the clients, because WarpEngine sends them when a new worker is added to the calculation pool.

 

12.12.4 Developing a new WarpEngine application

The general purpose WarpEngine core can be adapted to specific calculations through server and client scripts. As explained above, they must be written in C-Script language that allows the direct access to WarpEngine and HyperDrive APIs.

The WarpEngine files are located in ...\VEGA ZZ\Data\WarpEngine directory whose full path changes on the basis of operating system version. To find it in easy way, you can type OpenDataDir in VEGA Console (command prompt) or select Help Explore data directory in  VEGA ZZ menu bar.

Here is the typical directory tree:

 

VEGA ZZ
  Config
    Data
      WarpEngine
        Projects
          Project_1
        Project_2
        Project_n
      Templates
        Template_1
        Template_2
        Template_n
  Scripts

 

The Projects directory includes the data for each project that must be placed in sub-directory (e.g. Project_1), while Templates directory contains the auxiliary files that can be used without changes in different projects.

In each project directory, project.xml file must be present to describe the calculation and the following scheme shows the meaning of each XML tag:

 

Configuration file

 

Description


<weproject version="1.0" enabled="0"
multithread="1" runalone="1">
     

Main tag:

  • version Version number of the configuration file.

  • enabled If this flag is set to 1, the project will appears already activated when you open the project manager.

  • multithread This flag set to 1 means that the calculation uses the maximum number of threads available for each node.

  • runalone If it is set to 1, this project can be executed only alone, otherwise (set to 0) the project can run together the other ones.


  <startuplogo
  file="%WEPRJECTSDIR%/Project_1/logo.png"
  delay="2000" fadespeed="250">
 

Splash logo shown at start-up (optional):

  • file Full path file name of the logo in PNG format. Transparencies (alpha channel) are supported.

  • delay Time in ms during which the logo is shown.

  • fadespeed Time in ms for fade-in and fade-out transition of the logo (0 = appears and disappears immediately).


  <name lang="english">Project title</name>
 

Project name. This tag supports the language localization by lang option and therefore it can be present one time fore each language that you want to support:

  • lang localization language (e.g. dansk, deutsch, english, español, français, italiano, etc).


  <description lang="english">
    Description of the project
  </description>
 

Description of the project. Also in this case, the description can be localized by lang option:

  • lang localization language (e.g. dansk, deutsch, english, español, français, italiano, etc).


  <arch>ALL</arch>
 

Type of hardware architectures supported by the project: ALL (= all supported by WarpEngine), LINUX_ARM, LINUX_X64, LINUX_X86, WIN_ARM, WIN_X64 and WIN_X86.


  <client src="%WETEMPLATEDIR%/Template_1/client.c"/>
  Client script (optional). It must be specified if the client script is not in the project directory:
  • src full file path of the script

  <server src="%WETEMPLATEDIR%/Template_1/server.c"/>
 

Same of above but for the server. This tag is optional: if it's missing, it will be used the server.c file placed in the project directory.


  <cliramdisk enabled="1" basesize="20" threadsize="1"/>
 

Client ram disk used for the temporary files. It is a block of ram used as disk drive to improve the I/O performances and to preserve the integrity of drives that are sensible to continuous read/write operations such as SSDs. The ram disk is provided by ImDisk driver that must be installed on the client.

  • enabled enable (1) / disable (0) the ram disk at client side.

  • basesize size in Mbytes of ram reserved for the disk.

  • threadsize increase in Mbytes of the total amount for each thread. For example, if you set basesize="20", threadsize="1" and you have 4 working thread in the calculation node, the total amount of memory allocated for the ram disk will be 24 Mbytes.

WARNING:

If ImDisk is not installed, the calculation runs anyway and the temporary files are created in the system disk. A warning message is shown.


  <srvramdisk enabled="1" size="20"/>
 

It is the same of above, but for the server side.

  • enabled enable (1) / disable (0) the ram disk.

  • size size in Mbytes of ram reserved for the disk.


  <download>
  Begin of the download section in which the files needed by the client must be specified.

    <file src="client.c"
    map="%WETEMPLATEDIR%/Template_1/client.c"
    unzip="0"/>
    <file src="data.zip"
    map="%WETEMPLATEDIR%/Template_1/data.zip"
    dest="%WorkDir%" unzip="1"/>
 

File to download:

  • dest is the destination directory in which the file will be downloaded.

  • map this options maps the file into the virtual file system of the HTTP server.

  • src file name to download. If you don't specify the path, you imply that the file must be in the project directory.

  • unzip if you set to 1 this flag and the file is a zip archive, it will be automatically uncompressed by the client after the download.

 


  </download>
 

End of download section.



</weproject>
 

End of the project configuration file.


The empty project (see ...\Projects\EMPTY directory) is a good starting point to build a new calculation project. It includes a pre-defined project.xml file in which you can define the main parameters as explained above and client.c and server.c scripts. Both scripts supports the language localization, includes different functions called when a specific event occurs and use extensively the HyperDrive library.

To modify these scripts, you must have basic skills in C programming (C-Scripts are fully C-99 compliant).

 

 

12.12.4.1 Global variables

Both client and server scripts can access to global variables declared in .../VEGA ZZ/Tcc/include/vega/vgplugin.h, .../VEGA ZZ/Tcc/include/vega/wengine.h and .../VEGA ZZ/Tcc/include/vega/wetypes.h

 

 

12.12.4.2 Events managed through the server script

This script implements the actions given as answer for a specific event at server-side. In the following flowchart are summarized the event handled by the server script:

 

Event managed by the server script

 

The system and the client requests are dispatched by the event handler calling the specific functions of the server script that implement user-defined actions. Each event function return a code to inform the Event handler if the action successes or not.

More in detail, the event are managed by the following functions:

 

 

12.12.4.3 Events managed through the client script

Also the client script can handle several events that are depicted in the following scheme:

 

Event managed by the client script

 

In particular, here is the description of each event function:

 

12.12.4.4 WarpEngine APIs

The prototypes of WarpEngine APIs are defined in .../VEGA ZZ/Tcc/include/vega/wengine.h header.

 

 

APIs for both client and server scripts:

 

 

 

APIs only for client scripts:

 

 

 

12.12.4.5 Macros

Several macros are defined in .../VEGA ZZ/Tcc/include/vega/wengine.h header in oder to help you in script programming.

 

HD_DLONG a = 10;

printf("64 bit integer: %" _FMT64 "d\n", a);
HD_ATOM *Atm;

for(Atm = VegaFisrtAtom; Atm; Atm = Atm -> Ptr) {

  /* Put here your code */

}

 

12.12.4.6 Minimalist server code

This section shows the minimalist server script that you can use to process a database of molecules. It is a simplified version of EMPTY project

/*********************************
**** WarpEngine Server Script ****
*********************************/

/* Save this file as ...\VEGA ZZ\Data\WarpEngine\Projects\Example\server.c */

/* WarpEngine header */

#include <wengine.h>

/* HyperDrive headers */

#include <hdargs.h>
#include <hddir.h>
#include <hdtime.h>

/* Standard C headers */

#include <string.h>
#include <stdio.h>
#include <stdlib.h>

/**** Global variables ****/

HD_BOOL         Running    = TRUE;       // Flag to control the server activity (FALSE = stop it, boolean variable)
HD_BYTE *       StatVect   = NULL;       // Vector to monitor the job activities (see OnGetComplexity(), byte pointer)
HD_STRING       hDbIn      = NULL;       // Handle of the database to process (HyperDrive string)
HD_STRING       DbInName   = NULL;       // Name of the database to process (HyperDrive string)
HD_UDLONG       NumJob     = 0LL;        // Number of jobs to complete (64 bit unsigned integer)


/**** Show an error ****/

HD_VOID Error(const HD_CHAR *Err)
{
  /* Uses VEGA ZZ MessageBox to show the error */

  VegaCmdSafe(NULL, "MessageBox \"%s.\" \"ERROR\" 16", Err);
}


/**** Destroy event ****/

HD_BOOL OnDestroy(HD_VOID)
{
  Running = FALSE;                                        // Set the run flag to FALSE

  /*
   * Put here your code
   */

  /* Free the resources */

  HD_FreeSafe(StatVect);                                  // Free the vector to monitor the jobs
  HD_StrFree(DbInName);                                   // Free the HyperDrive string of database name

  /* Close the database */

  if (!HD_StrIsEmpty(hDbIn)) {                            // Check if the handle is not empty
    VegaCmdSafe(NULL, "DbLock %a 0", hDbIn);              // Unlock the database
    VegaCmdSafe(NULL, "DbClose %a", hDbIn);               // Close the database
  }

  /* Print into VEGA ZZ console */

  VegaPrint("* Server terminated\n");

  return TRUE;
}


/**** Get the complexity ****/

HD_BYTE * OnGetComplexity(HD_UDLONG *JobTot)
{
  HD_STRING      Res = HD_StrNew();                       // Create a new HyperDrive string variable

  /* Ask to VEGA how many molecules are in the database */

  if (!VegaCmdSafe(Res, "DbInfo %a Molecules", hDbIn)) {  // If it falis,
    Error("Unable to get the number of molecules");       // the error message is shown,
    HD_StrFree(Res);                                      // the Res string is freed 
    return NULL;                                          // and the function return a NULL pointer (error condition)
  }

  /* Convert the string to a 64 bit unsigned integer */

  NumJob = HD_Str2ULint(Res);
  HD_StrFree(Res);                                        // Res is no more needed, so it is freed

  if (NumJob == 0LL) {                                    // If NumJob is 0 (the database is empty),
    Error("Empty database");                              // the error message is shown
    return NULL;                                          // and the function return a NULL pointer (error condition)
  }

  VegaPrint("* Molecules in database: %llu\n", NumJob);   // Print how many molecules are in the database

  /**** Allocate the byte vector to track the jobs ****/

  StatVect = (HD_BYTE *)HD_Calloc(NumJob);                // HD_Calloc() initilizes the vectot to 0
  if (StatVect == NULL) {                                 // If the vector pointer is NULL,
    Error("Out of memory");                               // the error message is shown
    return NULL;                                          // and the function return a NULL pointer (error condition)
  }

  *JobTot = NumJob;                                       // Put the number of jobs

 /*
  * Put here the user code
  */

  /* Show waiting message */

  VegaPrint("* Waiting for incoming connections ...\n\n");

  /* Return the job vector poiner */

  return StatVect;
}


/**** Get the data for the job ****/

HD_BOOL OnGetData(HD_STRLIST StrList, HD_UDLONG JobID, HD_ULONG SrvIP)
{
  HD_STRING      IpStr = HD_StrNew();                     // Create new HyperDrive string variables
  HD_STRING      DbURL = HD_StrNew();

  /* Convert the IP V4 address to string */

  HD_StrFromIPV4(IpStr, SrvIP);

  /* Create the URL to get the molecule */

  HD_StrPrintC(DbURL, "http://%a:%d/dbase.ebd?Cmd=getmol&#38;Db=%a&#38;RowID=%llu",
               IpStr,                                     // Server IP address
               *WeInfo -> SrvPort,                        // Server IP port
               DbInName,                                  // Database name
               JobID);                                    // Job ID = Molecule ID to download

  /* Put the URL string in the the answer list */

  HD_StrListAdd(StrList, DbURL);

  /* Free the resources */

  HD_StrFree(IpStr);
  HD_StrFree(DbURL);

  /* Show the message */

  VegaPrint("* Sending job %llu\n", JobID);

  return TRUE;
}


/**** Initialization code ****/

HD_BOOL OnInit(HD_VOID)
{
  /* Starting message */

  VegaPrint("\n**** WarpEngine Server Example ****\n\n");

  /* Ask for the input database */

  DbInName = HD_StrNew();
  VegaCmdSafe(DbInName, "OpenDlg \"Open input database ...\" \"\" \"All supported databases|*.accdb;*.db;*.dsn;*.mdb;*.sdf\" 1");
  if (HD_StrIsEmpty(DbInName))                            // If the database name is empty (cancel or no selection),
    return FALSE;                                         // the function return FALSE, forcing the exit

  /* Open the database */

  hDbIn = HD_StrNew();                                    // Create a new string variable in which to put the database handle
  VegaCmdSafe(hDbIn, "DbOpen \"%a\"", DbInName);          // Open the database and put in hDbIn the handle 
  if (*hDbIn -> Cstr == '0') {                            // If the database handle is 0,
    Error("Can't open the database");                     // the error message is shown
    return FALSE;                                         // and the function return FALSE, forcing the exit
  }

  /* Remove the path from the database file name */ 

  HD_StrFileName(DbInName);

  /* Lock the database to prevent the accidental close */

  VegaCmdSafe(NULL, "DbLock %a 1", hDbIn);

  /*
   * Put here other initialization code
   */

  VegaPrint("* Server initialized\n");

  return TRUE;
}


/**** Receive the data from the client ****/

HD_BOOL OnPutData(HD_STRLIST StrList, HD_UDLONG JobID, HD_LONG JobStatus,
                  HD_VOID *Data, HD_ULONG DataSize)
{
  HD_STRING       Line     = HD_StrNew();                 // Create new HyperDrive string variables
  HD_STRING       Molecule = HD_StrNew();

  /* Get the molecule name from database */

  VegaCmdSafe(Molecule, "DbMolName %a %llu", hDbIn, JobID - 1LL);

  if (HD_StrIsEmpty(Molecule))                            // If the molecule name is unknown,
    HD_StrCpyC(Molecule, "Unknown");                      // set Molecule to "Unknown"
  else                                                    // otherwise
    HD_StrTrimRight(Molecule);                            // trim the string removing spacing and tabs

  /*
   * Put here the code to manage the results
   */

  VegaPrint("* Results from job %llu (%a) received\n", JobID, Molecule);

  /* Free the resources */

  HD_StrFree(Line);
  HD_StrFree(Molecule);

  return Running;
}

 

12.12.4.7 Minimalist client code

This section shows the minimalist client script that is a simplified version of EMPTY project

/*********************************
**** WarpEngine Client Script ****
*********************************/

/* Save this file as ...\VEGA ZZ\Data\WarpEngine\Projects\Example\client.c */

/* WarpEngine header */

#include <wengine.h>

/* HyperDrive headers */

#include <hdsocket.h>
#include <hdtime.h>

/* MXML header */

#include <mxml.h>

/* Standard C headers */

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

/**** Global variables ****/

HD_MUTEX        MtxVega    = NULL;       // HyperDrive mutex handle for exclusive access to VEGA ZZ resources (handle)
HD_UDLONG       JobCount   = 0LL;        // Job counter variable (64 bit unsigned integer)
HD_ULONG        Threads    = 0;          // Number of threads (32 bit unsigned integer)


/**** Show an error ****/

HD_VOID Error(const HD_CHAR *Err)
{
  /* Uses VEGA ZZ MessageBox to show the error */

  VegaCmdSafe(NULL, "MessageBox \"%s.\" \"ERROR\" 16", Err);
}


/**** Destroy event ****/

HD_BOOL OnDestroy(HD_VOID)
{
  HD_MthCloseMutexEx(MtxVega);          // Close the mutex

  /*
   * Put here your code
   */

  return TRUE;
}


/**** Initialization code ****/

HD_BOOL OnInit(HD_VOID)
{
  /* Starting message */

  VegaPrint("\n**** WarpEngine Client Example ****\n\n");

  /* Create the mutex */

  MtxVega = HD_MthCreateMutexEx();

  /*
   * Put here other initialization code
   */

  /* Set the client status to running */ 

  WecRunSignal(TRUE);

  /* Show the message that the initialization is OK */ 

  VegaPrint("* Client initialized\n");

  return TRUE;
}


/**** Run the job ****/

/*
 * This function is called by each thread whose number depends
 * on the number of cores and is the hyper-threading is available.
 * For example, if the client node has 2 CPUs with 8 cores each and
 * hyper-threading enabled (we assume 2 threads for each core),
 * there are:
 * 2 * 8 * 2 = 16 threads
 * that run concurrently OnRun()
 */

HD_BOOL OnRun(HD_ULONG ThreadID, HD_ULONG ClientID)
{
  HD_HTTPCLIENT           DataClient;                     // Handle of HyperDrive HTTP client
  HD_ULONG                JobID;                          // ID of the running job
  mxml_node_t *           Node;                           // Node pointer of XML structure
  mxml_node_t *           Tree;                           // Tree pointer of XML structure

  HD_STRING               Data = HD_StrNew();

  /* Trace the number of threads */

  HD_MthMutexOnEx(MtxVega);                               // The mutex activation allows the exclusive access to code (only one thread at time)
  ++Threads;                                              // Increment the total number of threads
  HD_MthMutexOffEx(MtxVega);                              // Disable the exclusive access of the code 

  /* Create a new HTTP client */

  DataClient = HD_HttpClientNew();
  if (DataClient == NULL)                                 // If it is impossible to do it,
    goto ExitErr;                                         // jump to ExitErr release the resources


  /* Set the URL (Data) to get the data for the job */

  HD_StrPrintC(Data, "http://%a:%d/getdata.ebd?ID=%u&ProjectID=%u",
               WeInfo -> Server,                          // IP address of the server
               *WeInfo -> SrvPort,                        // Port of the server
               ClientID,                                  // Client ID 
               *WeInfo -> PrjID);                         // Project ID

  if (!HD_HttpClientParseUrl(DataClient, Data))           // Parse the URL, but if it fails,
    goto ExitErr;                                         // jump to ExitErr to release the resources

  /* Here is the main loop for calculation */

  while(WecIsRunning()) {                                 // Check if the status is "run"

    /* Get the data for the job */

    HD_HttpClientGetStr(DataClient, Data);                // Download from the server the XML data of the job
    if (HD_StrIsEmpty(Data))                              // If Data is empty (an error is occurred),
      break;                                              // the main loop exits

    /* Parse the XML data */

    Tree = WeDecodeXmlReply(Data, NULL, NULL);            // Obtain the pointer of the XML tree
    if (Tree != NULL) {                                   // If the XML data is consistent ...

      /* Decode the data for the job */

      JobID = 0;                                          // Initialize the variables
      Node  = Tree;
      while ((Node = mxmlFindElement(Node, Tree, "data", "id", NULL, MXML_DESCEND)) != NULL) {
        if (atoi(mxmlElementGetAttr(Node, "id")) == 1) {
          sscanf(Node -> child -> value.opaque, "%u", &JobID);
          break;
        }
      } /* End of while */
      mxmlDelete(Tree);                                   // Free the XML tree

      /* Check if the calculation is finish */

      if (!JobID) break;

      /* Show the progress */

      VegaPrint("* Running job %u\n", JobID);

      /*
       * Put here your code to perform the calculation
       */

      /* Send the results */

      HD_MthMutexOnEx(MtxVega);
      HD_StrPrintC(Data, "&CLIENTID=%u&THREADID=%u&RESULT=%llu", ClientID, ThreadID, ++JobCount);
      HD_MthMutexOffEx(MtxVega);
      if (!WecSendData(ClientID, JobID, WE_JOBST_DONE, Data)) break;
    }
  } /* End of while */

  /* Release the resources */

ExitErr:

  HD_HttpClientFree(DataClient);                          // Free the HTTP client
  HD_StrFree(Data);                                       // Free the Data string

  HD_MthMutexOnEx(MtxVega);                               // Enable the exclusive access to the code
  --Threads;                                              // Decrease the number of working threads
  if (Threads == 0)                                       // If there are no more working threads,
    VegaPrint("* Calculation terminated\n");              // the calculation is terminated
  HD_MthMutexOffEx(MtxVega);                              // Disable the exclusive access to the code

  return TRUE;
}


/**** Terminate event ****/

HD_BOOL OnTerminate(HD_VOID)
{
  WecRunSignal(FALSE);                                    // Set the client status to stop

  return TRUE;
}

 


12.14 PropKa - Prediction of protein pKa values

 

12.14.1 Introduction

Hui Li, Andrew D. Robertson and Jan H. Jensen developed a very fast empirical method for protein pKa prediction and rationalization (PROTEINS: Structure, Function and Bioinformatics 61:704-21, 2005). The desolvation effects and intra-protein interactions, which cause variations in pKa values of protein ionizable groups, are empirically related to the positions and chemical nature of the groups proximate to the pKa sites. The Authors developed a program (PROPKA) to automatically predict pKa values based on these empirical relationships within a couple of seconds. Unusual pKa values at buried active sites, which are among the most
interesting protein pKa values, are predicted very well with the empirical method.
 

12.14.2 Usage

PropKa plug-in  requires a pre-loaded molecule in VEGA ZZ workspace and it works with proteins only. To start the prediction, you must select  Calculate Protein pKa in main menu. The text output generated by PROPKA is shown in VEGA ZZ console and the pKa values in the 3D graphic environment:

 

pKa visualization

 

Example of console output:

-----------------------------------------------------------------------------------------------
--                              PROPKA: A PROTEIN PKA PREDICTOR                              --
--                            VERSION 1.0,  04/25/2004, IOWA CITY                            --
--                                         BY HUI LI                                         --
--                                                                                           --
--                      PROPKA PREDICTS PROTEIN PKA VALUES ACCORDING TO                      --
--                              THE EMPIRICAL RULES PROPOSED BY                              --
--                       HUI LI, ANDREW D. ROBERTSON AND JAN H. JENSEN                       --
-----------------------------------------------------------------------------------------------
  
-------   -----   ------   --------------------   -------------   -------------   -------------
                           DESOLVATION  EFFECTS       SIDECHAIN        BACKBONE       COULOMBIC
RESIDUE     pKa   LOCATE     MASSIVE      LOCAL   HYDROGEN BOND   HYDROGEN BOND     INTERACTION
-------   -----   ------   ---------   --------   -------------   -------------   -------------
  
GLU   1    4.50   SUFACE   0.00   82   0.00   0    0.00 000   0    0.00 000   0    0.00 000   0
  
ASP   9    2.76   SUFACE   0.00  147   0.56   8   -0.80 LYS   8    0.00 000   0    0.00 000   0
ASP   9                                           -0.80 ARG  16    0.00 000   0    0.00 000   0
  
TYR   3   10.00   SUFACE   0.00  142   0.00   0    0.00 000   0    0.00 000   0    0.00 000   0
  
N+    1    7.51   SUFACE   0.00  117  -0.49   7    0.00 000   0    0.00 000   0    0.00 000   0
  
LYS   8    9.94   SUFACE   0.00  145  -0.56   8    0.00 000   0    0.00 000   0    0.00 000   0
  
ARG  16   12.08   SUFACE   0.00  143  -0.42   6    0.00 000   0    0.00 000   0    0.00 000   0
  
-----------------------------------------------------------------------------------------------
SUMMARY OF THIS PREDICTION
   ASP   9      2.76
   GLU   1      4.50
   TYR   3     10.00
   N+    1      7.51
   LYS   8      9.94
   ARG  16     12.08
-----------------------------------------------------------------------------------------------

12.15 RamaPlot - Ramachandran Plot

 

12.15.1 Introduction

G. N. Ramachandran used computer models of small polypeptides to systematically vary Phi and Psi torsion angles with the aim to find stable conformations. For each conformation, the structure was examined for close contacts between atoms. Atoms were treated as rigid spheres with dimensions corresponding to their Van der Waals radii. Therefore, Phi and Psi angles which cause spheres to collide correspond to sterically disallowed conformations of the polypeptide backbone.

 

12.15.2 Usage

RamaPlot plug-in allows to calculate Phi and Psi torsion angles of the protein backbone and to show their values in a two dimensional plot. To open the Ramachandran plot window, you must open a protein structure and select Calculate Ramachandran plot in main menu:

 

Ramachandran Plot

 

You can use the mouse to explore the plot: press the left button and move the mouse to translate the plot area, click the points by the left button to enlarge the view, click the points by the right button to reduce the view and use the mouse wheel to zoom the plot area.
Other controls are accessible by the keyboard: use the arrow keys to translate the plot area and press the space bar to revert to the default view.

 

12.14.3 The main menu

Menu Item Subitem Accelerator Description
File Save As ...   Ctrl+S

Save the plot. The supported file formats are: Bitmap, Comma Separated Values (CSV), JPEG, Encapsulated PostScript, LaTex, PCX, PDF, PNG, PPM, PostScript, Raw bitmap, Silicon Graphics (SGI), SVG standard, SVG for the Web, Targa, TIFF, VRML 2.0 and VRML 2.0 packed.

Print   Ctrl+P

Print the plot.

Exit   Ctrl+E Close the Ramachandran plot window.
Edit Color molecule   -

Color the molecule from witch the plot was generated using the corresponding color of the area in witch each residue is contained.

Copy   Ctrl+C

Copy the plot in the clipboard using the bitmap format.

View Labels None -

Enable/disable the residue labels for each Phi/Psi pair of values.

Residue -
Residue name -
Residue number -
Zoom Reset F1 Change the scale factor. 
200 % F2
300 % F3
400 % F4
Visible residues   -

Show the Phi/Psi values of the active/visible residues only. You can change the active/visible residues by using the selection tools provided by VEGA ZZ main window. In this way, you can reduce the number of points/labels in the plot area, clarifying the view.

Settings Colors Background -

Change the background color (default: black).

Inner area -

Change the inner area color (default: red).

Outer area -

Change the outer area color (default: yellow).

Axis -

Change the color of the axis (default: white).

Labels -

Change the color of the labels (default: white).

Points -

Change the color of the points (default: white).

Fonts Big -

Change the font size of the labels (default: Medium).

Medium -
Small -
Smallest -
Points Big -

Change the point size (default: Small).

Medium -
Small -
Smallest -
Filled areas   -

Enable/disable the filled areas.

Presets Default -

Revert to default settings.

Last saved -

Revert to last saved settings.

Printer color -

Load the color printer profile.

Printer B&W - Load the B&W printer profile.
Save   -

Save the current settings.

Help Content   Ctrl+H

Show this document.

About   -

Show the copyright message.

 

12.15.4 Output examples

Download a VRML 2.0 plug-in to show the 3D object

VRML 2.0
Recommended viewers: Cortona 3D Viewer or Cosmo Player

 

Download a SVG plug-in to show the plot

SVG for the Web
Recommended viewer: Adobe SVG Viewer

 

Download a SVG plug-in to show the plot

Standard SVG output

 


12.16 STRIDE - Protein secondary structure assignment

 

12.16.1 Introduction

STRIDE is a well know software to recognize the protein secondary structure starting from atomic coordinates. It was developed by Dimitrij Frishman and Patrick Argos using the method explained in Frishman D., Argos P., "Knowledge-Based Protein Secondary Structure Assignment", Proteins: Structure, Function, and Genetics 23:566-579 (1995).
STRIDE plug-in interfaces VEGA ZZ to the original STRIDE code allowing to assign the secondary structure and to color the molecule by secondary structure.

 

12.16.2 Secondary structure table

To show the secondary structure table, you must select Calculate Stride Table in main menu:

 

STRIDE table

 

Each table row defines a protein segment starting from the First to the Last residue placed in a specific Chain and Molecule. The secondary structure is indicated by the code (S) and the full description (Structure) as reported in the following table:

Code Description
B Bridge
C Coil
E Extended
H Alpha helix
G 3.10 helix
I Pi helix
T Turn

Selecting File Save menu item, you can save the table in CSV (Comma Separated Values) format in which the column order is preserved.

 

12.16.3 Secondary structure chart

To show the secondary structure pie chart, you must select Calculate Stride Table in the main menu:

 

Secondary structure chart

 

Each sector illustrates the relative frequencies of the specific secondary structure type and their labels show the number of the residues classified inside them.

 

12.16.4 Color the molecule by secondary structure

To show the secondary structure pie chart, you must select View Color By structure in the main menu:

Color by structure

The structure is coloured using the following scheme:

Color Structure
Blue Extended
Cyan Turn
Green Pi helix
Magenta 3.10 helix
Red Alpha helix
White Coil
Yellow Bridge

 

12.16.5 Copyright

Original STRIDE copyright message:

 

All rights reserved, whether the whole or part of the program is concerned. Permission to use, copy, and modify this software and its documentation is granted for academic use, provided that:

  1. this copyright notice appears in all copies of the software and related documentation;
  2. the reference given below (Frishman and Argos, 1995) must be cited in any publication of scientific results based in part or completely on the use of the program;
  3. bugs will be reported to the authors.

The use of the software in commercial activities is not allowed without a prior written commercial license agreement.

WARNING: STRIDE is provided "as-is" and without warranty of any kind, express, implied or otherwise, including without limitation any warranty of merchantability or fitness for a particular purpose. In no event will the authors be liable for any special, incidental, indirect or consequential damages of any kind, or any damages whatsoever resulting from loss of data or profits, whether or not advised of the possibility of damage, and on any theory of liability, arising out of or in connection with the use or performance of this software.

For calculation of the residue solvent accessible area the program NSC [3,4] is used and was kindly provided by Dr. F. Eisenhaber (EISENHABER@EMBL-HEIDELBERG.DE). Please direct to him all questions concerning specifically accessibility calculations.

 


12.17 Plug-in Software Development Kit (SDK)

The plug-in system is supported only by VEGA ZZ. A plug-in is a DLL that must be placed in the Plugin directory and it's loaded automatically when VEGA ZZ starts. This DLL must have three exported functions:

 

VGP_EXTERN VGP_PLUGINFO * VGP_EXPORT Init(VGP_VEGAINFO *);
VGP_EXTERN VG_BOOL VGP_EXPORT Free(void);
VGP_EXTERN VG_BOOL VGP_EXPORT Call(VG_UWORD, void *);

 

All definitions, constants and macros are included in plugin.h header file.

 

12.17.1 Function description

VGP_EXTERN VGP_PLUGINFO * VGP_EXPORT Init(VGP_VEGAINFO *)

 

It's the first function that VEGA ZZ calls to initialize the plug-in. It must contain the initialization code for the plug-in. VEGA ZZ passes the pointer to VGP_VEGAINFO structure in which are present some useful information:

typedef struct {
  HD_UWORD      Version;            /* VEGA version                             */
  HD_UWORD      Release;            /* VEGA release                             */

  HD_ULONG *    GlobErr;            /* Pointer to global error variable         */
  HD_CHAR *     ErrStr;             /* Pointer to error string                  */

  HD_ATOM **    BegAtm;             /* Pointer to the pointer of the atom list  */
  HD_ATOM **    LastAtm;            /* Pointer to the pointer to the last atom  */
  HD_ULONG *    TotalAtm;           /* Pointer to the number of atoms variable  */
  HD_LIST **    SrfList;            /* Pointer to the pointer of the surface    */
                                    /* list defined by HD_LIST in hyperdrive.h  */
  HD_CHAR *     Result;             /* Pointer to the result string             */
  HD_VOID *     AppHandle;          /* Application handle                       */
  HWND          ComPort;            /* Communication port                       */
  HD_VOID *     Res1;               /* Reserved pointer                         */
  HDC           hDC;                /* Device context                           */
  HGLRC         hRC;                /* Rendering context                        */
  HMENU         hMenu;              /* Handle of the main menu                  */
  HMENU         hPopUpMenu;         /* Handle of the popup menu                 */
  HWND          hWnd;               /* Handle of the main window                */

  HD_CHAR       IniFile[MAX_PATH];  /* Plugin .ini file with full path          */
  HD_CHAR       PrgPath[MAX_PATH];  /* Program path \ terminated                */

  /**** Super API ****/

  HD_VOID       (*VegaCmd)(const HD_CHAR *);            /* Send a command               */
  HD_VOID       (*Free)(HD_VOID *);                     /* Free the memory              */
  HD_VOID *     (*Malloc)(HD_ULONG);                    /* Alloc the memory             */
  HD_ULONG      (*ChoosePixelFormat)(HD_VOID *Dc, HD_LONG *PixelFormat, HD_LONG Multisample, HD_LONG Stereo, HD_LONG RbgBits);
                                                        /* Choose the pixel format      */
  HD_VOID *     (*AW_InitAlphaWin)(HWND);               /* Initialize the alpha blend   */
  HD_VOID       (*AW_FadeOut)(HWND);                    /* Fade out the window          */
  HD_VOID       (*WaitCalc)(HD_VOID);                   /* Wait the calculation end     */
  HD_VOID       (*UndoDisable)(HD_BOOL);                /* Enable/disable the undo      */
  HD_BOOL       (*UndoPop)(HD_BOOL);                    /* Pop the redo/undo object     */
  HD_BOOL       (*UndoPush)(HD_LONG, const HD_CHAR *);  /* Push the undo object         */
  HD_BOOL       (*GetProcAddresses)(HD_VOID **, HD_CHAR *, int, ... );
                                                        /* Load a DLL dynamically       */
  HD_VOID       (*RegisterForm)(const HD_CHAR *Name, HD_VOID **Form, HD_VOID (*ShowFunc)(int));
                                                        /* Register the VCL form        */
  HD_VOID       (*UnRegisterForm)(HD_VOID **Form);      /* Unregister the VCL form      */
#ifdef __HDRIVE_H
  HD_LONG       (*VegaCmdThs)(HD_STRING Result, const HD_CHAR *Cmd);
                                                        /* VageCmd() thread safe        */
#endif
} VGP_VEGAINFO;

You must remember that this structure is read-only and the reserved pointers are for future uses.
The user-defined plug-in must return the pointer to VGP_PLUGINFO structure that VEGA ZZ manage it without writing anything.

typedef struct {
  HD_UWORD      Version;            /* Plugin version                           */
  HD_UWORD      Release;            /* Plugin release                           */
  HD_UWORD      VegaVer;            /* Minimum VEGA version required            */
  HD_UWORD      VegaRel;            /* Minimum VEGA release required            */

  HD_UWORD      Type;               /* Plugin type                              */
  HD_CHAR *     Name;               /* Plugin name                              */
  HD_CHAR *     Copyright;          /* Copyright message                        */

  VGP_FUNC *    FuncList;           /* List of the functions                    */
} VGP_PLUGINFO;

In this structure you can specify the version and the release of the plug-in, the minimum required version and release of VEGA ZZ (VegaVer and VegaRel), the plug-in type (Type),  the plug-in name (Name), the copyright message (Copyright) and the exported function list (FuncList). The plug-in type can be:

 

Value Constant name Description
0 VGP_TYPE_GENERIC Generic plug-in
1 VGP_TYPE_CALC Calculation plug-in
2 VGP_TYPE_CONSOLE Console plug-in
3 VGP_TYPE_RENDER Rendering plug-in
4 VGP_TYPE_CUSTOM Custom plug-in (for internal use only)

 

At the present time, only the VGP_TYPE_GENERIC is available for the user.

FuncList is a vector in which is included the entry for each user-defined function that VEGA ZZ can call.

typedef struct {
  HD_CHAR  *    MenuItem;           /* Menu item string                         */
  HD_UWORD      MenuPos;            /* Menu item to call the plugin function    */
  HBITMAP       MenuBmp;            /* 16x16 bitmap handle for menu icon        */
  HD_BOOL       MenuEnabled;        /* Set to TRUE to enable from the beginning */
  HD_ULONG      MenuAct;            /* Menu activation                          */
  HD_UWORD      Function;           /* Function code                            */
} VGP_FUNC;

MenuItem is the pointer to the string that is shown in the main menu that can be used to activate the specific function. VEGA ZZ calls Call function using Function as argument. Function is the function code associated to the menu item. The reserved function codes are:

 

Value Constant name Description
0 VGP_FUNC_NONE None
1 VGP_FUNC_ABOUT About function (called when you press the About button in the plug-in manager).
2 VGP_FUNC_CONFIG Configure function (called when you press the Configure button in the plug-in manager).
3 VGP_FUNC_HELP Help function (called when you press the Help button in the plug-in manager).
4 VGP_FUNC_MINIMIZE This function is called when the main window is minimized.
5 VGP_FUNC_RESTORE This function is called when the main window is restored.

 

The user functions must have a function code greater than 100 (e.g. 101, 102, etc) and no limits are present about the number of them.

MenuPos is the code that you can use to set the menu in which the item will be shown. The vertical position is selected by VEGA ZZ at the end of the standard menu item. The following tables shows the MenuPos values:

 

Value Constant name Menu name
0 VGP_MPOS_NONE Invisible menu item
1 VGP_MPOS_EDIT Edit menu
2 VGP_MPOS_VIEW View menu
3 VGP_MPOS_CALC Calculate menu
4 VGP_MPOS_TOOLS Tools menu
5 VGP_MPOS_HELP Help menu
6 VGP_MPOS_POPUP Popup menu
7 VGP_MPOS_PLUGCFG Tools Plug-in configuration submenu
8 VGP_MPOS_FILEOPEN File (open) menu
9 VGP_MPOS_FILESAVE File (save) menu
10 VGP_MPOS_BIOTOOLS Bioinformatics menu
11 VGP_MPOS_COLOR Color menu
12 VGP_MPOS_DISPLAY Display menu
13 VGP_MPOS_PROTCHK Calculate Protein check submenu
14 VGP_MPOS_DOCKING Calculate Docking submenu
15 VGP_MPOS_DOWNLOAD File Download submenu
16 VGP_MPOS_BUILD Edit Build submenu

 

MenuBmp is the handle of the 16x16 bitmap that is shown at the left of the item in the menu. If NULL, no bitmap is shown. A good idea is to store the bitmap in the resources of the DLL.
 

Example:

In the .rc file:

MMPIC_USER01 BITMAP "icon_16.bmp"
...

The initialization  code can be:

VGP_FUNC FuncList[] = {
  {"My function", VGP_MPOS_TOOLS, NULL, TRUE , VGP_CM_ALL , VGP_FUNC_USER_01},
  /**** Don't delete the last line ****/
  {NULL            , VGP_MPOS_NONE   , NULL, FALSE, VGP_CM_NONE, VGP_FUNC_NONE   }
};
...
PlugInfo.FuncList[1].MenuBmp = LoadBitmap(GetModuleHandle("MyPlugin.dll"),
                                          MAKEINTRESOURCE(MMPIC_USER01));
...

If MenuEnabled is TRUE (0),  the menu item is already enabled when VEGA starts. If it's FALSE (0), the item is disabled. The activation can be changed trough MenuAct variable. The following table shows the activation conditions:

 

Value Constant name Condition
0 VGP_CM_NONE Never
1 VGP_CM_NEW The New command is executed
2 VGP_CM_MOLE The molecule is loaded
4 VGP_CM_DEMO The demo mode is activated
8 VGP_CM_CALC A calculation is performed
16 VGP_CM_SURF A surface is loaded
32 VGP_CM_TRJA The trajectory analysis is started
64 VGP_CM_PKMS Measure picking
128 VGP_CM_NOEDIT No molecule edit
256 VGP_CM_SAVETRJ Trajectory saving
512 VGP_CM_MANUAL Manual control

 

You can combine more than one condition using the or operator (e.g. VGP_CM_NEW|VGP_CM_MOLE). If you want the item always enable, use the special VGP_CM_ALL constant.

 

IMPORTANT:
You must remember to end the VGP_FUNC array  with a null item, because it's used by VEGA ZZ to detect the last item.

 

 

VGP_EXTERN VG_BOOL VGP_EXPORT Free(void)

 

This function is called by VEGA to release all resources when the program is closing. In this subroutine you can include all code to free the resources that are used by your plug-in.

 

 

VGP_EXTERN VG_BOOL VGP_EXPORT Call(VG_UWORD, void *)

 

It's the core of the plug-in because this function select the  code associated with a specific menu item. When you select a plug-in menu item or press a button in the plug-in manager, VEGA ZZ calls this subroutine passing the function code and a void pointer that is reserved for future uses. A generic Call() function could be:

/**** Generic Call function ****/

VGP_EXTERN VG_BOOL VGP_EXPORT Call(VG_UWORD Func, void *Arg)
{
  switch(Func) {

  case VGP_FUNC_ABOUT:          /* About the plug-in           */
    printf("About\n");
    break;

  case VGP_FUNC_CONFIG:         /* Configure the plug-in       */
    printf("Configuration\n");
    break;

  case VGP_FUNC_HELP:           /* Show the help               */
    printf("Help\n");
    break;

  case VGP_FUNC_USER_01:        /* Activate the first function */
    printf("Function 1 activated\n");
    break;

  /**** If needed, you can insert other cases ****/

  } /* End of switch */

  return TRUE;
}

The Call() function should return a value: TRUE (1) if it's executed without errors, FALSE (0) if an error occurs.

 

12.17.2 How to read/write the atom list

VEGA ZZ stores the atom information in a memory list. Each atom has a its memory space allocated by calloc().  The end signal of the list is a null pointer to next atom structure. In the VGP_VEGAINFO structure you can find the pointer to the pointer to the first element in the atom list (**BegAtm), the pointer to the pointer to the last element (**LastAtm) and the pointer to the total number of atoms in memory (*TotalAtm).
This is a simple code to read the atom list:

VGP_VEGAINFO *VgInfo;    /* Initialized by Init() */
void MyReadAtm(void)
{
  ATOMO    *Atm;
  for(Atm = *VgInfo -> BegAtm; Atm; Atm = Atm -> Ptr) {

    /* Print the atom name and the coordinates */

    printf("%4.4s %f %f %f\n", Atm -> Name.C, Atm -> x, Atm -> y, Atm -> z);
  }
}

For more information about the ATOMO structure, see vgtypes.h header file.

 

12.17.3 How VEGA ZZ can be controlled by a plug-in

VEGA ZZ can be controlled by a plug-in using the standard windows messaging system. You can use this simple subroutine:

VGP_VEGAINFO *VgInfo;    /* Initialized by Init() */
/**** Send a VEGA command ****/

VG_ULONG SendVegaCmd(char *Com)
{
  COPYDATASTRUCT        Cds;

  Cds.dwData = 0;
  Cds.lpData = (void*)Com;
  Cds.cbData = strlen(Com) + 1;

  return SendMessage(VgInfo -> hWnd, WM_COPYDATA, NULL, (LPARAM)&Cds);
}

The argument is the string of the command to send to VEGA ZZ. If the command fails, the function return the global error code, otherwise return 0. If the sent command returns a value, you can read it trough the Result string pointer in VGP_VEGAINFO structure.

 

12.16.4 Saving/loading the plug-in configuration

As convention, the plug-in configuration should be loaded and saved in ...\VEGA ZZ\Config\Plugins.ini file. To manage this file, use GetPrivateProfileString() and WritePrivateProfileString() API functions. 

 

12.17.5 The null plug-in

This is a simple example of a plug-in that performs anything but is useful as skeleton to build your plug-in.


/*******************************************
****         VEGA Plug-in System        ****
****              Main code             ****
**** (c) 2002-2023, Alessandro Pedretti ****
*******************************************/


#include "..\plugin.h"

/**** Global variables ****/

VGP_VEGAINFO    *VgInfo;

/**** Description of the functions ****/
/**** All items are optional       ****/

VGP_FUNC FuncList[] = {
  {NULL          , VGP_MPOS_NONE   , NULL, TRUE , VGP_CM_NONE, VGP_FUNC_ABOUT  },
  {"Null Config.", VGP_MPOS_PLUGCFG, NULL, TRUE , VGP_CM_ALL , VGP_FUNC_CONFIG },
  {"Null Help"   , VGP_MPOS_HELP   , NULL, TRUE , VGP_CM_ALL , VGP_FUNC_HELP   },
  {"Start Null"  , VGP_MPOS_EDIT   , NULL, FALSE, VGP_CM_MOLE, VGP_FUNC_USER_01},

  /**** Don't delete the last line ****/

  {NULL          , VGP_MPOS_NONE   , NULL, FALSE, VGP_CM_NONE, VGP_FUNC_NONE   }
};

/**** Plug-in info structure ****/

VGP_PLUGINFO PlugInfo = {
  1,                            /* Plug-in version                         */
  0,                            /* Plug-in release                         */
  1,                            /* Minimum VEGA version required           */
  4,                            /* Minimum VEGA release required           */

  VGP_TYPE_GENERIC,             /* Plug-in type                            */
  "Null",                       /* Plug-in name                            */
  "Alessandro Pedretti",        /* Copyright message                       */
  FuncList                      /* List of the functions                   */
};


/**** Plug-in initialization ****/

VGP_EXTERN VGP_PLUGINFO * VGP_EXPORT Init(VGP_VEGAINFO *VegaInfo)
{
  VgInfo = VegaInfo;

  /* Enter here your initialization code */
  /* if needed.                          */

  printf("Null: Initialization\n");

  return &PlugInfo;
}


/**** Execute the plug-in function ****/

VGP_EXTERN VG_BOOL VGP_EXPORT Call(VG_UWORD Func, void *Arg)
{
  switch(Func) {

  case VGP_FUNC_ABOUT:          /* About the plug-in           */
    printf("Null: About\n");
    break;

  case VGP_FUNC_CONFIG:         /* Configure the plug-in       */
    printf("Null: Configuration\n");
    break;

  case VGP_FUNC_HELP:           /* Show the help               */
    printf("Null: Help\n");
    break;

  case VGP_FUNC_USER_01:        /* Activate the first function */
    printf("Null: Activated\n");
    break;
  } /* End of switch */

  return TRUE;
}


/**** Deallocate the resources ****/

VGP_EXTERN VG_BOOL VGP_EXPORT Free(void)
{
  printf("Null: Release all resources\n");

  return TRUE;
}

You can find a more complex example in Dhrystone plug-in source code, included in the SDK.

 


13.1 C-scripts

 

13.1.1 Introduction

If REBOL and batch file script engines aren't enough fast for you, you can use the C-scripts. They aren't based on a script engines because they are real C programs that are compiled on-the-fly and converted in machine code. Thanks to the powerful Tiny C compiler, this step is so fast  that the user thinks to use scripts executed by an interpreter instead of source codes built by a compiler.  The C-scripts are executed inside the VEGA ZZ environment allowing to access to the same resources used by the master software. This approach allows to obtain extreme performances, but it have some risks related to the master program (VEGA ZZ) stability. For this reason, the C-scripts are executed inside an exception-trapping box that protects the VEGA ZZ main core from illegal memory accesses.
The C compiler supports the ANSI C, the ISO C99 standard and many GNU C extensions including inline assembly. For more information, see the Tiny C reference documentation.

 

13.1.2 Machine code generation

VEGA ZZ calls Tiny C compiler to build the C source code in a dynamic link library and if an error occurs, the compiling procedure is stopped showing a message in the console. The resulting link library, called VEGA Link Library (VLL), is loaded, linked to the main VEGA process and at this step only, is executed calling the entry point using a separate thread. The main process waits the end of the execution but if the C-script performs an illegal operation, it's halted and an error message is shown. When the script is halted or it's normally terminated, the main process releases all resources. VEGA ZZ can run more then one C-script in the same time in the same environment.

 

13.1.3 Script management

PowerNet plug-in has the job to manage the C-scripts, allowing to create, to delete, to edit, to rename and to run them as the batch and REBOL files. Selecting File Run script in main menu, you can perform all above operations. When you want create a new C-script, right-clicking the Select script window and selecting New C-script, two multiple templates are available. New templates can be added coping them to ...\VEGA ZZ\Scripts\_Templates directory.

 

13.1.4 How to create a C-script

The C-script creation is very easy: you can use the tools built-in in VEGA ZZ or an external text editor. Remember to place the script in the Scripts directory (or in its subdirectories). If you want to use template scripts, you can follow these steps:

The standard C-script code is the following:

/*******************************************
****          VEGA ZZ C Script          ****
****         Standard  template         ****
**** (c) 2005-2023, Alessandro Pedretti ****
*******************************************/
#define VGVLL
#include <vega.h>
int VllMain(VGP_VEGAINFO *VegaInfo)
{
  /**** Put here your code ***/
  return 0;
}

A C script or a VLL must always include the vega.h header defining the VGVLL symbol. The header contains the prototypes of the functions callable inside the script. The C-script entry point is defined by the VllMain() function and without it the script can't be linked. The VllMain() function should return a non-zero value if an error occurs, otherwise zero if no error is found. This function receives the address of the VGP_VEGAINFO structure defined in vgplugin.h header:

typedef struct {
  HD_UWORD      Version;            /* VEGA version                             */
  HD_UWORD      Release;            /* VEGA release                             */

  HD_ULONG *    GlobErr;            /* Pointer to global error variable         */
  HD_CHAR *     ErrStr;             /* Pointer to error string                  */

  HD_ATOM **    BegAtm;             /* Pointer to the pointer of the atom list  */
  HD_ATOM **    LastAtm;            /* Pointer to the pointer to the last atom  */
  HD_ULONG *    TotalAtm;           /* Pointer to the number of atoms variable  */
  HD_LIST **    SrfList;            /* Pointer to the pointer of the surface    */
                                    /* list defined by HD_LIST in hyperdrive.h  */
  HD_CHAR *     Result;             /* Pointer to the result string             */
  HD_VOID *     AppHandle;          /* Application handle                       */
  HWND          ComPort;            /* Communication port                       */
  HD_VOID *     Res1;               /* Reserved pointer                         */
  HDC           hDC;                /* Device context                           */
  HGLRC         hRC;                /* Rendering context                        */
  HMENU         hMenu;              /* Handle of the main menu                  */
  HMENU         hPopUpMenu;         /* Handle of the popup menu                 */
  HWND          hWnd;               /* Handle of the main window                */

  HD_CHAR       IniFile[MAX_PATH];  /* Plugin .ini file with full path          */
  HD_CHAR       PrgPath[MAX_PATH];  /* Program path \ terminated                */

  /**** Super API ****/

  HD_VOID       (*VegaCmd)(const HD_CHAR *);            /* Send a command               */
  HD_VOID       (*Free)(HD_VOID *);                     /* Free the memory              */
  HD_VOID *     (*Malloc)(HD_ULONG);                    /* Alloc the memory             */
  HD_ULONG      (*ChoosePixelFormat)(HD_VOID *Dc, HD_LONG *PixelFormat, HD_LONG Multisample, HD_LONG Stereo, HD_LONG RbgBits);
                                                        /* Choose the pixel format      */
  HD_VOID *     (*AW_InitAlphaWin)(HWND);               /* Initialize the alpha blend   */
  HD_VOID       (*AW_FadeOut)(HWND);                    /* Fade out the window          */
  HD_VOID       (*WaitCalc)(HD_VOID);                   /* Wait the calculation end     */
  HD_VOID       (*UndoDisable)(HD_BOOL);                /* Enable/disable the undo      */
  HD_BOOL       (*UndoPop)(HD_BOOL);                    /* Pop the redo/undo object     */
  HD_BOOL       (*UndoPush)(HD_LONG, const HD_CHAR *);  /* Push the undo object         */
  HD_BOOL       (*GetProcAddresses)(HD_VOID **, HD_CHAR *, int, ... );
                                                        /* Load a DLL dynamically       */
  HD_VOID       (*RegisterForm)(const HD_CHAR *Name, HD_VOID **Form, HD_VOID (*ShowFunc)(int));
                                                        /* Register the VCL form        */
  HD_VOID       (*UnRegisterForm)(HD_VOID **Form);      /* Unregister the VCL form      */
#ifdef __HDRIVE_H
  HD_LONG       (*VegaCmdThs)(HD_STRING Result, const HD_CHAR *Cmd);
                                                        /* VageCmd() thread safe        */
#endif
} VGP_VEGAINFO;

The Super API section could be expanded in the next releases and it allows to access directly to the VEGA ZZ functions. The C-script must read only this structure (write operations aren't allowed).

The C scripts are linked to the startup code (see Tcc\src\Vgcrt2 and Tcc\Lib directories) including the functions to control the extended commands. They can used as in the REBOL scripts and in the batch files, but they must be called using the C wrapper:

 

13.1.5  Functions for C-scripts

Here are the functions that are provided to implement the communication between the C-Script and VEGA ZZ. Their code is automatically linked on-the-fly by TCC compiler.

 

 

HD_LONG VegaCmd(const HD_CHAR *Com)
Send an extended command to VEGA ZZ main process and wait the execution end. The function returns the error code (0 if no error occurs) and the command output, if available,  is copied in the Result character pointer of the VGP_VEGAINFO structure.

Example:

char	CurPath[256];
VegaCmd("Get CurDir");                // Send the Get command to VEGA ZZ
strcpy(CurPath, VegaInfo -> Result);  // Copy the result in the user defined variable

The function returns 0 if no error occurs, or an error code greater than zero if it fails (click here for a complete list of error codes). This function is dirty and deprecated, because is not thread-safe. It's maintained only for compatibility with the old scripts.

 

 

HD_LONG VegaCmdEx(const HD_CHAR *Com, ...)
This is the extended version of the VegaCmd() function. It accepts the format specifiers as printf() standard function combining a series of arguments.

Example:

VegaCmdEx("GraphAdd %d %f", Item, Value);

Also this function is dirty and deprecated, because is not thread-safe. It's maintained only for compatibility with the old scripts.

 

 

HD_LONG VegaCmdSafe(HD_STRING Result, const HD_CHAR *Com, ...)
Send a command to VEGA ZZ and copy the results to HyperDrive Result string. This function is thread safe and if you don't need to retrieve the output of the command, Result can be a NULL pointer.

Example:

HD_STRING	Result = HD_StrNew();
HD_ULONG	Atoms;
VegaCmdSafe(Result, "Get TotAtm");		// Send the Get command to VEGA ZZ
Atoms = HD_Str2Uint(Result);			// Convert it from character to an unsigned integer

 

HD_BOOL VegaIsCalc(HD_VOID)

This command is useful to check if VEGA ZZ is busy because is already running a calculation (e.g. AMMP, NAMD, MOPAC calculations). It returns 1 or 0 if a calculation is running or not.

Example:

if (VegaIsCalc()) {
  VegaPrint("ERROR: VEGA ZZ is already busy\n");
  return 0;
}

 

HD_BOOL VegaLoadMem(HD_VOID *MemPtr, HD_ULONG Size, HD_LONG Flags)

By this function, you can load a molecule directly from memory. You must specify the pointer to the memory section including the molecule (MemPtr), its size (Size) and the optional flags (Flags). At this time, only two type of flags are supported:

 

VG_LOADMEM_NONE None flag.

VG_LOADMEM_SILENT doesn't show any message in the console window.

 

If the function succeeds, a non-zero value is returned.

 

 

HD_VOID VegaPrint(const HD_CHAR *Fmt, ...)

This function print a message to the VEGA ZZ console by using the same formatting rules implemented in printf() C statement. It adds also the %a qualifier to print directly the value of a HD_STRING.

Example:

HD_STRING	Result = HD_StrNew();
VegaCmdSafe(Result, "Get WksCurBame");
VegaPrint("Name of the current workspace: %a\n", Result);
HD_StrFree(Result);

 

13.1.6  Macros

vega.h includes several macros to help you in programming the scripts:

 

Macro Description
VegaFirstAtom gives you the pointer of the first atom in the list used by VEGA to manage the molecule in the current workspace.
VegaIsEmpty() checks if there is a molecule in the current workspace. It returns a non-zero value if the current workspace is empty.
VegaLastAtom gives you the pointer of the last atom in the list used by VEGA to manage the molecule in the current workspace.
VegaTotAtom returns the number of atoms of the molecule in the current workspace.
VegaWaitCalc() waits the current calculation until it ends.

 

A C-script can read and write directly the atoms: please take care because no check are done if wrong data are inserted in the atom list. This is an example:

#include <stdio.h>
#define VGVLL
#include <vega.h>
/**** Write the X, Y, Z coordinates of each atom ****/
int VllMain(VGP_VEGAINFO *VegaInfo)
{
  HD_ATOMO *	Atm;
  FILE *	FH;
  /**** Check if a molecule is loaded ****/
  if (VegaIsEmpty()) return 0;
  /**** Show a message in the console ****/
  VegaPrint("* Saving the XYZ coordinates\n");
  /**** Open the output file ****/
  if ((FH = fopen("C:\\xyz.txt", "w")) == NULL) return 0;
  /**** Atom loop ****/
  for(Atm = VegaFirstAtom; Atm; Atm = Atm -> Ptr) {
    if (fprintf(FH, "%f %f %f\n", Atm -> x, Atm -> y, Atm -> z) <= 0) {
      VegaPrint("ERROR: Can't write the file\n");
      break;
    }
  } /* End of for (Atm) */
  /**** Close the file handle ****/
  fclose(FH);
  return 0;
}

 

13.2 How to build a VEGA Link Library

The VEGA Link Library (VLL) is a C-script compiled by Tiny C. It's in the middle between a script and a plug-in: it's already in binary format and the compiling and linking phases aren't required to run it. By this way, the VLL is started much faster than a C-script but you can't edited it. The use of a VLL is recommended if you have a complex and very large C-scripts that requires 2 or more seconds to start it. To build a VLL you must follow these steps:

 

13.3 The super APIs

The super APIs are real VEGA ZZ functions remapped into the plug-in layer. They are declared in vgplugin.h that is palced in VEGA ZZ\Tcc\include directory and in plugins.h file of the plug-in SDK. They can be called using the address of the VGP_VEGAINFO structure (e.g. VegaInfo -> WaitCalc()).

 

HD_VOID AW_InitAlphaWin(HWND hWnd)
Initialize the alpha channel use for the specified window handle (hWnd). This is an interface to the AwLib library linked to VEGA ZZ that allows the creation of transparent windows with fade-in and fade-out effects. This function doesn't have any effect if the glass windows are disabled (see Preferences dialog window).

 

HD_VOID AW_FadeOut(HWND hWnd)
Force the fade-out effect of the specified window (hWnd). This effect doesn't work if the glass windows aren't enabled in the Preferences control panel. This function should be called before closing the window. Please remember to initialize the window calling AW_InitAlphaWin() with the appropriate window handle.

 

HD_ULONG ChoosePixelFormat(HD_VOID *Dc, HD_LONG *PixelFormat, HD_LONG Multisample, HD_LONG Stereo, HD_LONG RgbBits)
This function replace the standard ChoosePixelFormat() provided by Windows APIs to choose the pixel format for the OpenGL rendering context. The required arguments are the device context (Dc); the pointer of the pixel format variable (PixelFormat); the ARB multisample anti-aliasing value (Multisample) that could be 0 (no anti-aliasing), 2 (2x), 4 (4x), 6 (6x), etc; the hardware stereo mode (Stereo), that could be 0 (disabled) or 1 (enabled). Not all graphic cards implement the stereo hardware and so it's possible that it can work. The the anti-alias mode currently enabled in VEGA ZZ is available getting the value of the MSAA system variable (see GET command).
The function returns zero if it fails, and the requested pixel format (PixeFormat ) that will be used to create the OpenGL rendering context.

 

HD_VOID Free(HD_VOID *Mem)
Free a memory segment (Mem), previously allocated by Malloc().

 

HD_BOOL GetProcAddresses(HD_VOID **Handle, HD_CHAR *DllName, HD_LONG NumberOfFunctions, ... )

This function loads dynamically a DLL, returning its handle.

 

HD_VOID *Malloc(HD_ULONG Size)
Allocate an uninitialized memory segment of specified size (Size). If you want to allocate memory blocks (e.g. atoms, surfaces, etc) that will be managed directly by VEGA ZZ, you must use this function only and not the equivalent malloc() function provided by the standard C library, because it's incompatible with the memory manager embedded in VEGA ZZ.

 

HD_VOID UndoDisable(HD_BOOL Disable)

Disable/enable the undo function.

 

HD_BOOL UndoPop(HD_BOOL Redo)

If Redo is TRUE, this function performs re-do, otherwise it does undo.

 

HD_BOOL UndoPush(HD_LONG Object, const HD_CHAR *Message)

Pushes the specified Object into the undo buffer with the Message string that is shown in the graphic interface.

 

HD_VOID VegaCmd(const HD_CHAR *Com)
It's the same function used in C-scripts. For more details, see above.

 

HD_VOID VegaCmdThs(HD_STRING Result, const HD_CHAR *Com)
It's the same function used in C-scripts (VegaCmdSafe). For more details, see above.

 

HD_VOID WaitCalc(HD_VOID)
Wait the end of a calculation (e.g. AMMP, MOPAC, etc). It's strongly recommended the use of this function instead of the polling of ISRUNNING system variables, because it uses the kernel events and doesn't loose the CPU performances.

 


13.2 REBOL

REBOL

 

13.2.1 Introduction

REBOL is the Relative Expression-Based Object Language designed by Carl Sassenrath, the software architect responsible for the Amiga OS -- one of the world's first personal computer multitasking operating systems.

REBOL is the next generation of distributed communications. REBOL code and data can span more than 40 platforms without modification using ten built-in Internet protocols. A script written and executed on a Windows platform can also be run on a UNIX platform with no changes. REBOL can exchange not only traditional files and text, but also graphical user interface content and domain specific dialects that communicate specific meaning between systems. Distributed communications includes information exchanged between computers, between people and computers, and between people. REBOL can be used for all of these.

REBOL is a messaging language that provides a broad range of practical solutions to the daily challenges of Internet computing. REBOL/Core is the foundation for al of REBOL’s technology. While designed to be simple and productive for novices, the language extends a new dimension of power to professionals. REBOL offers a new approach to the exchange and interpretation of network-based information over a wide variety of computing platforms.

REBOL scripts are as easy to write as HTML or shell scripts. A script can be a single line or an entire application.

(from REBOL/core User Guide, Copyright © 2000 REBOL Technologies)

 

 

PowerNet plug-in includes an interface to manage REBOL scripts. By these scripts, you can control the VEGA ZZ functions in order to automate the most common and repetitive operations.

 

13.2.2 How to create a simple REBOL script

This manual isn't a full exhaustive REBOL guide and for a complete description of this language, it's recommended the original documentation available at REBOL Technologies Web site.
PowerNet offers a set of REBOL functions in order to simplify the access to the VEGA ZZ TCP/IP port and they are included in  ...\VEGA ZZ\Scripts\Common\Vega.r file.
As first step, to create a REBOL script, you must add the script header:

REBOL [
  Title: "My first REBOL script"
  Date: 2-Feb-2000
  File: %test.r
  Author:  "My name"
  Version: 1.0.0
]

All keywords are optional. As second step, you must include the file with the predefined functions to interface REBOL to VEGA ZZ/PowerNet:

do %Common\Vega.r

You must remember to specify the path of Vega.r file in relation to the location where the script file is placed. In the present example, the file test.r must be placed in Script directory.
To activate the communication, you must use the VegaOpen function:

VegaOpen VegaDefHost VegaDefPort VegaDefUser VegaDefPass

VegaDefHost, VegaDefPort, VegaDefUser and VegaDefPass are special variables initialized by VEGA ZZ when it runs the script. They include the default values of host IP, host port, user name and password (see below).
Now the port is open and you can send commands by VegaCmd function:

VegaCmd {Open "..\Examples\Molecules\a3.msf"}

This command opens a3.msf file placed in the Molecules folder. The brackets ({ }) are string delimiters that allow the use of the " as  character and not as delimiter. Open is a VEGA ZZ extended command (click here for more information).
If you want to obtain a value of a VEGA ZZ environment variable, you must use Get or PluginGet command and the value is copied to VegaRes REBOL variable:

VegaCmd "Get TotAtm"
print VegaRes

The first line obtains the value of TotAtm variable (it's the total number of atoms), and the second one prints it to REBOL console (not to VEGA ZZ console). If you want to print the result to VEGA ZZ console, you must use Text command:

VegaCmd rejoin[{Text "Loaded atoms: } VegaRes {" 1}] 

The REBOL rejoin function join more strings together, creating a whole string that's the argument of VegaCmd function. For more information, consult the REBOL/Core user guide.
The script must end calling VegaClose function:

VegaClose

It closes the communication port and frees it for other applications. To run the script directly from VEGA ZZ, you must select File Run script in main menu as explained in PowerNet script section.

 

13.2.3 The REBOL functions included in Vega.r file

This section explains more in details the interface functions included in Scripts\Common\Vega.r file:

 

VegaClose
Close the communication port and free it.

 

Parameters:
None

 

Return values:
None.

 

Example:
VegaClose


VegaCmd   Command
Send a command to VEGA ZZ in synchronous mode.

Parameters:
Command   

Command to send to VEGA ZZ host.

Return values:
If an error occurs, this command returns the standard VEGA ZZ error code, otherwise it returns 0. The error code is also copied to VegaErrCode variable and the error description to VegaErrStr variable.  If the sent command returns a value, it's copied to VegaRes variable.

 

Example:
VegaCmd   "mOpen"


VegaGet   VariableName
Retrieve a system variable from VEGA ZZ.

Parameters:
VariableName    Name of the variable.

Return values:
This command returns the value of the VEGA ZZ variable.

 

Example:
VegaPrint   join   "Number of atoms: "   VegaGet   "TotAtm"


VegaOpen   Host   Port   User   Password
Connect the REBOL interpreter to the VEGA ZZ TCP/IP port.

Parameters:
Host   

Host name or its IP. Use VegaDefHost variable to obtain the default host.

Port

TCP/IP port number. Use VegaDefPort variable to obtain the default port.

User

User name for the authentication. Use VegaDefUser variable to obtain the default user name.

Password

Password for the authentication. Use VegaDefPass variable to obtain the default password. If the password check is disabled in the PowerNet configuration window, the User and Password items can be null (""). You must remember that VegaDefHost, VegaDefPort, VegaDefUser and VegaDefPass are valid for local connections only .

Return values:
None. If it fails, the execution of the script is halted and an error message is shown.

 

Example:
VegaOpen   127.0.0.1   2000   "MyUserName"   "MyPassword"


VegaPrint   Message
Print a string message to VEGA ZZ console.

Parameters:
Message    Message to print.

Return values:
None.

 

Example:
VegaPrint   "Hello World !"


 

13.2.4 Notes


13.3 Scripts

 

13.3.1 Introduction

The VEGA ZZ package includes several scripts, which are placed in ...\VEGA ZZ\Scripts directory with the following sub-directory structure:

Scripts
     _Templates (hidden folder)
  ADMET
  Ammp
  Build
  Calculation
Color
  Common
  Communication
  Database
  Development tools
  DNA tools
  Docking
     AutoDock
    PLANTS
    Vina
    Other docking scripts
Examples
  File conversion
  Interaction surface
  Movie
Protein tools
    Homology modelling services
  PubChem
     Database rename
    Download
    Get
  QSAR
    Linear regression
    Virtual screening
Trajectory
Utilities

 

13.3.2 _Templates

This folder contains the templates used when a new script is created. It is not shown in the script three, but it is available selecting Help Explore data directory in the Scripts folder.

OpenGL.c 

Template for OpenGL C scripts.

    
Rebol.r  Template for REBOL scripts.
    
Stabdard.c Template for standard C scripts.
    
Window API.c Template window with Close button (Windows API version).
    
Window GraphApp.c Template window with Ok button (GraphApp GUI version).
    
Window GraphApp Calc.c Template window with Calculate button. Clicking this button, the main window hides and the abort dialog is shown. Pressing its Abort button, the calculation is stopped. This script template requires the GarphApp GUI.

 

13.3.3 ADMET

This directory includes scripts for ADMET (adsorption, distribution, metabolism, elimination and toxicity) prediction.

BBB permeation predictor.c

This script was generated automatically by Tree2C and performs the classification of molecules between permeant and not permeant of blood-brain barrier (BBB) through a decision tree. For more information, click here.

    
MetaClass builder.c

 

MetaClass predictor.vll

MetaClass is a comprehensive classification system for the prediction of the metabolic reactions of a given molecule or of a set of molecules. The prediction is based on a machine-learning algorithm (Random Forest), which was trained by using the metabolic data collected and classified into the MetaQSAR database. MetaClass package includes two modules: MetaClass builder and MetaClass predictor. The former can generate automatically not only the models but also code, which can be used directly in the VEGA ZZ environment for the prediction, while the latter is the result of MetaClass builder run.

 

Software requirements for MetaClass predictor:

  • MOPAC 2016 (freely available after registration at http://openmopac.net). For the version selection and the right installation, you must consult click here.

Software requirements for MetaClass builder:

  • The same packages required for MetaClass predictor.

  • Weka 3.8 or greater (freely available at https://www.cs.waikato.ac.nz/ml/weka/index.html).

  • Java (freely available at https://www.java.com, required to run Weka).

  • Tree2C (included in VEGA ZZ package).

  • Tcc C compiler (included in VEGA ZZ package).

  • A MetaQSAR database in the supported format (ODBC data source, SQLite and Microsoft Access).

MetaClass predictor

The MetaClass predictor is a compiled C-Script (available for both x64 and x86 architectures), which allows the prediction of metabolic reactions which a given molecule undergoes according to MetaQSAR rules. To run it, you must start VEGA ZZ, select File → Run script in the main menu, expand the ADMET branch and double click MetaClass predictor.vll. If a molecule is present in the current workspace, the prediction is performed for a single molecule and the results are shown in the VEGA ZZ console. If the workspace is empty, a file requester is shown to select an input database (it must be in a format supported by VEGA ZZ: Microsoft Access, Mol2, ODBC data source, SDF, SMILES, SQLite and Zip). In this second case, the prediction is performed for all molecules in the database and the results are saved into a CSV file. Since the training set used by the learning phase (the substrates classified in the MetaQSAR database) includes only molecules in non-ionized form, with the exception of quaternary ammonium salts, the molecules for which you want to predict the metabolic reactions must also be in their neutral form. Here is the typical output shown by the VEGA ZZ console for a single molecule prediction (eg. Naproxen):

 

* Prediction of MetaQSAR metabolic reactions
* Assigning atom charges
  Total charge: 0.00

   Reaction Substrate Dom. viol.
  ======================================================================
   01 - Oxidation of Csp3 Yes 0
   02 - Oxidation of Csp2 & Csp Yes 0
   03 - -CHOH <-> >C=O -> -COOH Yes 0
   04 - Various redox reactions of carbon atoms No 0
   05 - Redox reactions of R3N No 0
   06 - Oxidation of >NH, >NOH and -N=O // Reduc Yes 0
   07 - Oxidation to quinones or analogs // Redu Yes 0
   08 - Oxidation and reduction of S atoms No 0
   09 - Redox reactions of other atoms Yes 0
   11 - Hydrolysis of esters, lactones and inorg Yes 0
   12 - Hydrolysis of amides, lactams and peptid No 0
   13 - Epoxide hydration No 0
   14 - Other hydrolysis/hydration reactions // No 0
   21 - O-Glucuronidations & glycosylations No 0
   22 - N- and S-Glucuronidations // All other g No 0
   23 - Sulfonations (O-, N-, ...) Yes 0
   24 - GSH & RSH conjugations + sequels // GSH- No 0
   25 - Acetylations & acylations No 0
   26 - CoASH-Ligation followed by amino acid co Yes 0
   27 - Methylations (O-, N-, S-) No 0
   28 - Other conjugations (PO4, CO2, ...) // Tr No 0

For each reaction class (according to the metabolic reaction classification in MetaQSAR), the output table shows the code and the description (Reaction column), if the molecule is substrate or not (Substrate column) and the number of the domain violations (Dom. viol. column). This counter indicates how many parameters/attributes are out of the range of the property space of the training set. If this value is not zero, the prediction might be less accurate.
If the input is a database of molecule, the output is saved to a CSV file thanks to a file requester, which allows you to choose the file name. The prediction can be aborted in any time just clicking the Abort button shown in the progress window. The output file includes a column with the name of the molecule for which the prediction is given, and two columns for each reaction class reporting respectively the prediction (1 if the molecule is substrate, 0 if it is not) and the number of domain violations.

 

MetaClass builder
As explained above, MetaClass builder can generate the predictive models based on MetaQSAR dataset as well as the C-Script code required to build the MetaClass predictor. To run it, you must start VEGA ZZ, select File → Run script in the main menu, expand the ADMET branch and double click MetaClass builder.c. The only input required by the script is a database, which must be in a format supported by VEGA ZZ (ODBC data source, SQLite and Microsoft Access).
MetaClass builder modifies the database structure by adding three new tables, which include the descriptors/attributes calculated with MOPAC and Kier-Hall approach (namely Prop_Mopac, Prop_Mopac_Atom and Prop_KierHall). Therefore, if you want to keep the original structure, you must create a work-copy of the database. Moreover, if the script finds these tables, the calculation of the descriptors is not performed so speeding-up the whole process. If you want to force the descriptors calculation, you should delete these three tables from the database.

How MetaClass builder works
MetaClass builder uses a multi-step approach to build the final models, which are compiled as link-libraries that can be used directly in VEGA ZZ environment as shown here:

  1. Checking the required programs/components. If one of them is missing, the script aborts.

  2. Checking if the input file/data source (specified by the file requester) is a MetaQSAR-compatible database.

  3. Extracting the reaction classes for which the predictive models will be developed.

  4. Calculating and storing into the same database the Kier-Hall descriptors if required.

  5. Calculating and storing the MOPAC descriptors if required by applying the following keywords: PM7 GEO-OK MMOK 1SCF SUPER THREADS=1. If your molecules are not optimized by MOPAC, you must delete the 1SCF keyword from VGS_MOPAC_KEYS definition of the script.

  6. Extracting the VEGA-based molecular descriptors from the database, which are calculated by MetaQSAR when the user compile it.

    For each reaction class:

  7. Building for each class a balanced dataset by selecting all substrates of the reaction class and an equal number of non-substrates (which are chosen randomly).

  8. Creating the input file for Weka (in ARFF format) by considering the most significant attributes previously chosen by Select attributes tool implemented in Weka (see ADMET\_MetaClass builder\*.txt files) according to the BestFirst search algorithm (direction = Forward; lookupCacheSize = 1; searchTermination = 5) and the WrapperSubsetEval attribute evaluator (classifier = RandomForest with default settings; doNotCheckCapabilities = False; evaluationMeasure = accuracy, RMSE; folds = 5; seed = 1; threshold = 0.01).

  9. Running Weka to build the models by Random Forest algorithm with the default parameters, which are: weka.classifiers.trees.RandomForest -P 100 -print -I 100 -num-slots 1 -K 0 -M 1.0 -V 0.001 -S 1.

  10. Checking if the Weka calculation is completed without errors and reads the output file to extract the statistical data.

  11. Running Tree2C to convert the decision trees generated by Weka into C-Script code.

  12. Compiling the C code (for both x64 and x86 versions) into the object file by using Tcc.

    For all reaction classes:

  13. Creating the configuration header file of the main code according the data collected during the generation of the models.

  14. Copying the main code template (main.c) from ADMET\_MetaClass builder directory to the working directory, compiling and linking it by Tcc with the object files created for each reaction class.

  15. Installing the resulting compiled scripts (.vll and .vl1) into the ADMET scripts directory of VEGA ZZ program.

  16. Cleaning the working directory if VGS_CLEANUP macro is defined in the code of the script (by default this is not performed).

The MetaClass builder generates both x64 and x86 versions of the MetaClass predictor only if both VEGA ZZ x86 and x64 are installed. Usually, only one of the two versions is installed according to your operating system, but you can override this behaviour during the VEGA ZZ setup by choosing the installation of the Live CD creator component.
The working directory is the same in which the MetaQSAR database file is placed and here several intermediate files are saved. In detail, you can find:

  • config.h: the configuration header of the main part of MetaClass predictor (main.c).

  • DATABASE_NAME - Model performances.csv: this file includes several statistical data of the models created by Weka (see below).

  • main.c: the main code of MetaClass predictor.

  • main_32.o: the object file compiled by Tcc from main.c (x86 version).

  • main_64.o: the object file compiled by Tcc from main.c (x64 version).

  • MetaClass predictor.vll: the final script compiled and linked by Tcc (x86 version).

  • MetaClass predictor.vl1: the final script compiled and linked by Tcc (x64 version).

For each reaction class you can find:

  • DATABASE_NAME – REACTION_CODE.arff: the Weka input file in ARFF format.

  • DATABASE_NAME – REACTION_CODE.txt: the Weka output file with the trees in text format.

  • model_REACTION_CODE.c: the source code of the decision tree translated by Tree2C.

  • model_REACTION_CODE.o: the object file of the decision tree compiled by Tcc (x86 version).

  • model_REACTION_CODE_32.o: the object file of the decision tree compiled by Tcc (x86 version).

  • model_REACTION_CODE_64.o: the object file of the decision tree compiled by Tcc (x64 version).

As explained above, DATABASE_NAME - Model performances.csv includes several statistical data about the performances of the models built by Weka:
 

Column

Description

Class code

Reaction class code

Description

Description of the metabolic reaction

Attributes

Number of the attributes used to build the model

Non-substrates_(0)

Number of non-substrates (0 class)

Substrates_(1)

Number of substrates (1 class)

Correctly_classified

Number of molecules correctly classified

Correctly_classified_%

Percentage of molecules correctly classified

Incorrectly classified

Number of molecules incorrectly classified

Incorrectly classified_%

Percentage of molecules incorrectly classified

Kappa

Kappa statistic

MAE

Mean absolute error

RMSE

Root mean squared error

RAE

Relative absolute error

RRSE

Root relative squared error

TP_Rate_0

True positive rate for non-substrates (0 class)

FP_Rate_0

False positive rate for non-substrates (0 class)

Precision_0

Precision for non-substrates (0 class)

Recall_0

Recall for non-substrates (0 class)

F-Measure_0

F-Measure for non-substrates (0 class)

MCC_0

Matthews correlation coefficient for non-substrates (0 class)

ROC_Area_0

ROC area for non-substrates (0 class)

PRC_Area_0

PRC area for non-substrates (0 class)

TP_Rate_1

True positive rate for substrates (1 class)

FP_Rate_1

False positive rate for substrates (1 class)

Precision_1

Precision for substrates (1 class)

Recall_1

Recall for substrates (1 class)

F-Measure_1

F-Measure for substrates (1 class)

MCC_1

Matthews correlation coefficient for substrates (1 class)

ROC_Area_1

ROC area for substrates (1 class)

PRC_Area_1

PRC area for substrates (1 class)

TP_Rate_WA

Weighted average of true positive rate

FP_Rate_WA

Weighted average of false positive rate

Precision_WA

Weighted average of precision

Recall_WA

Weighted average of recall

F-Measure_WA

Weighted average of F-Measure

MCC_WA

Weighted average of Matthews correlation coefficient

ROC_Area_WA

Weighted average of ROC area

PRC_Area_WA

Weighted average of PRC area

 

    
Mutagenicity predictor.c

This script was generated automatically by Tree2C and performs the classification of molecules between mutagen and not mutagen through a decision tree. For more information, click here.

 

13.3.4 Ammp

The scripts included in this directory, are useful to control some AMMP jobs in automatic way.

Automatic Boltzmann jump.c This script performs a conformational analysis of the current molecule in the workspace by Boltzmann jump algorithm. More in detail, it generates 1000 conformations at 500 K temperature and each of them is minimized by conjugate gradients algorithm (3000 steps, 0.01 RMS). The conformations are automatically saved into a DCD trajectory. After the conformational search, it is also performed a cluster analysis in order to discard the redundant conformations and to keep only the most significant conformers (one for each cluster). In particular, the conformations whose the differnce of the average value of the flexible torsion angles is no more than 60 degrees are included in the same cluster. Two files are automatically generated: a trajectory file (* - clust.dcd) with the best conformers of each cluster and a text file (* - clust.ene) with the energy of the best conformer and the number of conformers of each cluster.
All calculation parameters can be set by the user changing the parameters at the beginning of the script source code. For more information on the conformational search, click here.
    
Dipole.c

It calculates the dipole momentum by AMMP. If the charges aren't assigned, they are fixed by Gasteiger - Marsili method (see AMMP's DIPOLE command).

    
Interaction analysis.c It evaluates the non-bond interaction energy between two molecules. This calculation requires two molecules in the workspace: the first one must be the receptor and the second one must be the ligand. For more information, see ANALYZE command in AMMP manual.
The results are shown in VEGA ZZ console. AMMP shows the energy for each atom in the selection range:
Vnonbon internal lys.n 137 Eq -12.860423 E6 -1.397398 E12 2.191076
Vnonbon external lys.n 137 Eq 16.632879 E6 -5.806829 E12 9.177713
Vnonbon total lys.n 137 Eq 3.772456 E6 -7.204227 E12 11.368790

where internal is intramolecular energy, external is the intermolecular (interaction) energy, total is the sum of intramolecular and intermolecular energies, Eq is the electrostatic (coulombic) energy, E6 and E12 are the Lennard - Johnes terms. At the end of the atom dump, AMMP shows also:

Vnonbon total internal 151.439880
Vnonbon total external 2.272158
Vnonbon total 153.712067
153.712067 non-bonded energy
153.712067 total potential energy

where Vnonbon total internal is the total intramolecular energy, Vnonbon total external is the total intermolecular (interaction) energy, Vnonbon total is the total non-bond interaction energy (it's the sum of Vnonbon total internal and Vnonbon total external). Non-bonded energy and total potential energy are self explaining.

Finally, the results (Vnonbond total internal, Vnonbond external and Vnonbond total) are copied to the clipboard.

    
Neural network.c

The AMMP's Kohonen neural network is used to find the 3D space filling curve corresponding to the structure.  If the charges aren't assigned, they are fixed by Gasteiger - Marsili method (see AMMP's KOHONEN command).

    
Rigid docking.c

It performs a rigid rocking calculation by genetic algorithm as implemented in AMMP program. This calculation requires two molecules in the workspace: the first one must be the receptor and the second one must be the ligand. This last molecule is moved to obtain the complex. Both molecules must have the hydrogens and the charges are automatically fixed (Gasteiger - Marsili method) if they are unassigned.
This script has a graphic user interface (provided by GraphApp library) and to understand the meaning of each field, it's strongly recommended to read the GDOCK documentation.

 

13.3.5 Build

By these scripts, it's possible to build complex structures:

Aromaticity fix.c It fixes the bond order in aromatic rings, changing the alternated single and double bonds to partial double bonds.
    
Coordinate transformation.c This script applies the specified transformation matrix to all atoms or to visible/active atoms only (see Active atoms only checlbox). It's useful to build multimeric structures from the information included in the REMARK 300 and 350 tags of PDB files.
REMARK 300
REMARK 300 BIOMOLECULE: 1
REMARK 300 THIS ENTRY CONTAINS THE CRYSTALLOGRAPHIC ASYMMETRIC UNIT
REMARK 300 WHICH CONSISTS OF 2 CHAIN(S). SEE REMARK 350 FOR
REMARK 300 INFORMATION ON GENERATING THE BIOLOGICAL MOLECULE(S).
REMARK 350
REMARK 350 GENERATING THE BIOMOLECULE
REMARK 350 COORDINATES FOR A COMPLETE MULTIMER REPRESENTING THE KNOWN
REMARK 350 BIOLOGICALLY SIGNIFICANT OLIGOMERIZATION STATE OF THE
REMARK 350 MOLECULE CAN BE GENERATED BY APPLYING BIOMT TRANSFORMATIONS
REMARK 350 GIVEN BELOW.  BOTH NON-CRYSTALLOGRAPHIC AND
REMARK 350 CRYSTALLOGRAPHIC OPERATIONS ARE GIVEN.
REMARK 350
REMARK 350 BIOMOLECULE: 1
REMARK 350 APPLY THE FOLLOWING TO CHAINS: B, A
REMARK 350   BIOMT1   1  1.000000  0.000000  0.000000        0.00000
REMARK 350   BIOMT2   1  0.000000  1.000000  0.000000        0.00000
REMARK 350   BIOMT3   1  0.000000  0.000000  1.000000        0.00000
REMARK 350   BIOMT1   2 -1.000000  0.000000  0.000000      174.00000
REMARK 350   BIOMT2   2  0.000000 -1.000000  0.000000      174.00000            
REMARK 350   BIOMT3   2  0.000000  0.000000  1.000000        0.00000

To build this homodimeric macromolecule:

  • Open the original PDB file.
  • Run Coordinate transformation script,
  • Put in the dialog window the values shown in red.
  • Click Apply button.
  • Reopen the original PDB file in the same workspace of the transformed structure and click Append in the dialog window.
    
Graphite.r This script build one or more graphite planes.
    
Nanotube.r

This scripts build a single-walled carbon nanotube (SWCNT) structures. It's based on VBS code developed by Roberto G. A. Veiga at Instituto de Física - Universidade Federal de Uberlândia (UFU) - Brazil, using the algorithm described in the article: White et al., Phys. Rev. B, 1993, Vol. 47, No. 9, pp. 5485-88.

   
Peptide library.c By this script, you can build a peptide library of a given length (Peptide length) starting from a set of residues (Residues to use, usually the 20 natural aminoacid). Optionally, you can indicate one or more base peptide to which the residues are added to the C-terminal side. Each base peptide (Base peptides field) must be separated by spaces, commas, semicolons and tabs. The peptides are built as beta-sheet in zwitterionic form and with the side chains ionized according to the physiological pH. They are stored in a database (see Output box, Database) in any format supported by VEGA ZZ.
   
Protein mutagenesis.c This script generates mutated proteins from a template structure and a list of mutations. As first step, it ask if you want to perform all possible permutation of the mutation or only one mutation for each column of the mutation file. The output molecules are stored in a database and an additional CSV file is also generated, containing the molecule names and their aminoacid sequence.
The file of the mutation list must include one mutation for each line in the following format:
ResName:ResNum:ChainID:MolNum List_Of_Aminoacids

where ResName is the name of the residue (max. 4 characters), ResNum is the residue number (max. 4 characters), ChainID is the chain identifier (1 character), MolNum is the molecule number (non zero, unsigned integer) and List_Of_Aminoacids is the list of the aminoacids that will be sequentially replaced (max. 20 characters, aminocid single character code). ChainID and MolNum are optional parameters, but it you want to specify the molecule number without to indicate the chain, you can use * as ID. # and ; at the beginning of each line can be used for remarks.

 

Example:

; Mutation list example

THR:3 EYF
SER:6:Y AL

It generates 6 mutants, involving the residues in 3 and 6: EA, YA, FA, EL, YL and FL.

 

Each mutated protein is automatically minimized by NAMD 2 (5000 steps), keeping the backbone fixed.

 

WARNING:
To run this script, NAMD 2 package and parm.prm parameter file must be installed. For more detail, click here and here.

    
Protonation fix.c By this script, you can fix the protonation state of the molecule in the current workspace, removing the acid hydrogens (bonded to carboxylate, solphonate, phosphite and phosphate groups) and adding the basic hydrogens (to nitrogens of primary amines and guanidines).
    
Solvent cluster racemizer.c This script creates a racemic mixture from a solvent cluster of chiral molecules built from a single enantiomer. The solvent cluster must be opened in the current workspace.
    
Stereoisomers.c This script builds all possible stereoisomers from a chiral molecule that must be opened in the current workspace. Diastereoisomers are automatically minimized (conjugate gradients, 3000 steps, toler 0.01).
For security reasons, the maximum number of chiral centers is limited to 8 (28 = 256 stereoisomers), but it can be incresed to 32 changing the VGP_MAX_CHIRAL_CENTERS and VGP_MAX_CHIRAL_CENTERSSTR definitions.

When you start the script, a file requester is show in which you can put the output format and the file name that is used as prefix, because each stereoisomer is named adding the configuration of all stereocenters. You must remember that if the bond order of the starting molecule is assigned in wrong way, the chirality attribution could be incorrect (according to Cahn-Ingold and Prelog rules).
    
Zero coord.c

It moves the atoms at the specified coordinates. Checking Active atoms only, only the visible atoms are moved.

 

13.3.6 Calculation

This directory includes scripts for generic calculations:

APBS membrane energy.c This script evaluates the energy required by a molecule to leave the hydration shell and to reach a biological membrane. This calculation is performed by APBS and both solvents are implicity defined by their dielectric constants (78.0 for water and 9.0 for membrane).
This script uses APBS for Windows that is included in VEGA ZZ package. APBS is a software for modeling biomolecular solvation through solution of the Poisson-Boltzmann equation (PBE), developed by Nathan Baker in collaboration with J. Andrew McCammon and Michael Holst.

For more information about APBS, visit http://www.poissonboltzmann.org/apbs/
    
APBS solvation energy.c It calculates the solvation energy of the molecule in the current workspace by APBS. The results are shown in VEGA ZZ console and copied to the clipboard.
This script uses APBS for Windows that is included in VEGA ZZ package. APBS is a software for modeling biomolecular solvation through solution of the Poisson-Boltzmann equation (PBE), developed by Nathan Baker in collaboration with J. Andrew McCammon and Michael Holst.

For more information about APBS, visit http://www.poissonboltzmann.org/apbs/
    
Copy properties.c This script copies some molecular properties to the clipboard in selective mode.
    
Database properties.c This script calculates several properties for all molecules included in a database as 3D structures. The script asks for a database in one of the VEGA ZZ supported formats as input and for a CSV file as output. During the calculation, a log file is also created in which all errors are recorded.
This script is especially useful for that database formats that don't include molecular properties such as Mol2, Sdf and Zip.
   
Druglikeness.c By this script, you can check the druglikeness of the molecule in the current workspace. Two methods are used:

 

Lipinski's rule of five
This rule establishes that  an orally active drug must have:

  • not more than 5 hydrogen bond donors (nitrogen or oxygen atoms with one or more hydrogen atoms);
  • not more than 10 (2 x 5) hydrogen bond acceptors (nitrogen or oxygen atoms) ;
  • a molecular weight under 500 g/mol ;
  • a partition coefficient logP less than 5.

Ghose's rule
This rule establishes that  an orally active drug must have:

  • partition coefficient logP in -0.4 to 5.6 range;
  • molar refractivity from 40 to 130;
  • molecular weight from 160 to 480;
  • number of heavy atoms from 20 to 70.

The molecular refractivity is calculated according to the Ghose and Crippen method.

 

References:
Lipinski, C. A.; Lombardo, F.; Dominy, B. W.; Feeney, P. J.
"Experimental and computational approaches to estimate solubility and permeability in drug discovery and development settings"
AdV. Drug DeliVery ReV. 1997, 23,3-25.

Ghose, A. K.; Viswanadhan V. N.; Wendoloski, J.J.
"A Knowledge-Based Approach in Designing Combinatorial or Medicinal Chemistry Libraries for Drug Discovery. 1. A Qualitative and Quantitative Characterization of Known Drug Databases"
J. Comb. Chem. 1999, 1, 55 68.

    
Elecrostatic energy.c

It evaluates the electrostatic energy of the molecule in the current workspace. The default dielectric constant is 1 (vacuum).

    
Log kw IAM.MG/DD2.c Since the scale of log kwIAM values was frequently found to better mimic the drug/membrane interactions actually occurring in vivo than lipophilicity in n-octanol, this script implements a method to predict the kwIAM for both MG and DD2 chromatographic columns. In particular, you can estimate the retention time as log kw values for a molecule in the current workspace or, alternatively, for any molecule in PubChem database. The results can be copied to the clipboard and if the descriptors used for the prediction or the calculated log kw is out of prediction domain, warning messages are shown in the console.

You can choose between two prediction methods that use two different approaches to predict log P: the former, more accurate, is based on miLogP and requires to send the data to Molinspiration software and the latter, less accurate, is based on virtual log P and runs off-line. If you have to manage sensible data that you don't want to share on the Web, you should choose the second method.

The predictions miLogP-based exploit these two correlative equations:

log kwIAM.MG = -0.1405 + 0.4401 miLogP + 0.0536 HeavyAtoms - 0.0833 HLBM - 0.0435 FlexDihedrals
n = 204   r2 = 0.81   q2 = 0.80   SE = 0.438   F = 213.92   P < 1.0 10-8   PC = 39.403

log kwIAM.DD2 = -2.3989 + 0.4936 miLogP + 0.4354 Vdiam - 0.0640 HLBPSA - 0.0497 FlexDihedrals
n = 160   r2 = 0.85   q2 = 0.84   SE = 0.459   F = 212.94   P < 1.0 10-8   PC = 33.974

where:

FlexDihedrals  = number of flexible dihedral angles;
HeavyAtoms = number of heavy atoms;
HLBM = hydrophilic-lipophylic balance (HLB) as mean of HLBD, HLBG and HLBPSA;
HLBPSA

= hydrophilic-lipophylic balance (HLB) calculated as ratio between PSA and total surface;

Vdiam = volume diameter in Å.

The predictions virtual log P-based exploit these other correlative equations:

 

log kwIAM.MG = -0.3867 + 0.4159 VirtualLogP + 0.0741 HeavyAtoms - 0.0806 HLBG - 0.0657 FlexDihedrals

n = 205   r2 = 0.75   q2 = 0.74   SE = 0.501   F = 151.79   P < 1.0 10-8   PC = 51.739

 

log kwIAM.DD2 = -3.0812 + 0.4809 VirtualLogP + 0.5464 Vdiam - 0.0765 HLBPSA - 0.0829 FlexDihedrals

n = 161   r2 = 0.80   q2 = 0.79   SE = 0.523   F = 155.22   P < 1.0 10-8   PC = 44.319

 

where:

HLBG   =  hydrophilic-lipophylic balance (HLB) calculated with Griffin's method.

 

 

WARNING:
These two equations are valid only for neutral non-ionic molecules.

   
Mopac.r  It runs multiple Mopac jobs.
XLOGP2.c Calculate the logP by XLOGP V2 method. The result is shown in VEGA ZZ console and copied to the clipboard.
This script requires X-Score 1.3 for Windows that is not included in VEGA ZZ package. To install X-Socre, read the X-Score script manual.

 

For more information about X-Score and XLOGP, visit http://www.sioc-ccbg.ac.cn/

 

13.3.7 Color

Scripts to color the molecule:

Color RasMol.c It colors the molecule in the current workspace according to the RasMol color scheme.
    
Color VMD.c

It colors the molecule in the current workspace according the VMD color scheme.

 

13.3.8 Common

This directory contains the initialization scripts to include in REBOL scripts:

Fmod.r Fmod commands.
    
Formats.r File format keywords and other definitions.
    
Utils.r Functions for path manipulation.
    
Vega.r VEGA ZZ interface (don't change it without any real reason !).
    
Vutils.r REBOL/View utilities.

The C header files contained in this directory are hidden and they can't changed directly by VEGA ZZ environment.

 

13.3.9 Communication

This directory includes communication and Internet-related scripts:

Download molecule from URL.c This script download a molecule from a given URL.
   
E-mail PDB send.c This script saves the current molecule in PDB format, compress it and attach it to a user-editable e-mail. This script uses the MAPI layer and so it's compatible with MAPI compliant e-mail clients only (e.g. Outlook, Outlook Express, etc). To change the output format or other settings, see the script source code.

 

13.3.10 Database

This directory includes scripts to manage databases:

Count functional groups.c This script counts the functional groups for each molecule in a database. The functional groups are recognized by Kier-Hall SMARTS template, but you can use also ATDL templates such as GROUPS, GROUPS_EXT, TRIPOS, etc. You can change the template by editing VGS_DEF_TEMPLATE constant in the code. If the input database supports SQL, you can decide to save the data in the same database or to a separated CSV file. These data are useful for QSAR analysis in which you need to recognize and count the functional groups.
    
Database expander.r It's a REBOL/View script to extract the molecules contained in a database to a directory. It allows to specify the file format, the compression and the save attributes (connectivity and constraints). 
    
Database logP.c It calculates the logP by Testa's MLP method for each molecule in the database and export the results in a CSV (Output file) file. The input must be a supported database (Input database) and its structures can be pre-processed adding the hydrogens (Add the hydrogens) applying the geometry method (default) or the bond order method (Use bond order). This last method is recommended if the molecules have an assigned bond order. In the pre-processing phase, the structures can be optimized by the steepest descend (Steepest minimization) and/or the conjugate gradients (Conjugate minimization) methods. For both minimization algorithm, it's possible to put the number of iterations (Steps), the toler value (Toler) and the dielectric constant (Dielectric). Checking Update the graphic, the 3D graphic output is updated every 20 minimization steps. Increasing the Dot density value, it's possible to make a better prediction of the logP. A good value is from 10 to 50 dots for Å2.

 

Warning:

even if in the theory it's possible to manage a 2D database, adding the hydrogens by the bond order method and optimizing the structures, this procedure is not recommended because the distance geometry optimization is not performed. For this reason, a better choice is the conversion of the database from 2D to 3D (see the Database 2D to 3D.c script) and the resulting database can be used directly to predict the logP values.

    
Database volume.c It calculates the volume of each molecule in the database. It have the same options of the Database logP.c script.
    
Database to 0D.c This script converts a 2D or 3D database to a 0D SDF database, translating all atoms at the specified coordinates, usually at (0, 0, 0).
    
DrugBank SDF fix.c The DrugBank SDF files aren't standard, because the header of each reacord has two lines only instead of three and the first line contains a tab character to delimit the molecule name from the DrugBank ID.
This script create a new file adding _fix.sdf suffix to the file name and fixing the files adding the missing line, removig the tab character and "SDF file of " string in the molecule name line.
    
Force field check.c This script assigns the force field to each molecule in the database and checks if it is correctly assigned. An output file in the same directory of the database file is created and named as the database followed by - force field check.txt suffix.
This script is useful to check if there are problems in atom type assignment before to run a virtual screening calculation.
    
Mol2 merge.c It joins two or more databases in Mol2 format into a new file. This script doesn't perform any change to the data and therefore it's extremely fast.
    
SDF merge.c It joins two or more databases in SDF format into a new file. This script doesn't perform any change to the data and therefore it's extremely fast.
    
SDF metadata extractor.c This script extracts the metadata (e.g. InChi, SMILES, biological activity, etc) from a SDF file and puts it into a Comma Separated Values (CSV) file. The output file is placed in the same directory of the source database and its name is generated from it adding _meta.csv suffix.
    
SMILES to database.c This script converts the SMILES molecules of a CSV file to 3D and puts them in a database. The CSV file must have two fields for each line separated by a semicolon (;): the former must be the molecule name and the latter must be the SMILES string.
    
Splitter.c This script splits a database into more than one file, that can be useful to distrubute calculations on different PCs. The Input database must be in one of the formats supported by VEGA ZZ.
    
Subset creator.c It creates a new database in SQLite format, including a subset of molecules of another database. The molecules must be specified in a text file in which molecule names (not ID) are placed one for each line.
The subset database is created in the same directory of the source preserving its name as prefix and adding _subset.db suffix. A log file is generated also in which  possible problems are reported.

This script was specially developed to prepare input databases for virtual screening studies.
    
ZINC get by ID.c This script downloads a structure from ZINC database to the current workspace by specifying the molecule ID. If the code is wrong or the entry doesn't exist, an error message is shown.

 

13.3.11 Development tools

Scripts for development.

 

Decision tree to C converter.c This program converts the machine learning models, in particular the classification trees, generated by Weka program to C source code and requires no or very limited modifications to be used. It is the conversion of Tree2C command line program to a VEGA VLL extension.

Weka model preparation - Mini how to
This part of the manual don't want to be exhaustive and more information can be found in Weka manual and tutorials.
  • Start Weka and choose Explorer as application.
  • In Process tab, click Open file... and select the ARFF input file. This file could require to be pre-processed to be usable (Use the Edit button).
  • Go to Classify tab and choose the classifier (press Choose button in Classifier box). For example, select RandomForrest in trees.
  • In the options of the classifier (click on the classifier parameters of Classifier box), set printClassifiers option to True to generate the right output with the tree models.
  • Press Start button to generate the model.
  • If the model is acceptable, save it by clicking with the right mouse button on Result list and choose Save result buffer. Put the file name adding .txt extension and press Save.

Decision tree conversion to C

  • Run this program and select the output text file in Weka tree model.
  • Optionally, you can choose also the ARFF file used to generate the model. Its data will be used to generate the code to check if the calculated attributes are include in the classification domain defined as range of the properties used to build the model.
  • Set the output file name (Output C file).
  • You can specify the name of the model if the proposed one is not ok (Model name field).
  • Optionally, you can specify the labels printed as output for each class (Class labels field). The labels must be comma separated and their number must be the same of number of classes detected by the model.
  • Select the source code type to generate. More in detail you can choose:
     
    • VEGA ZZ C-script: create a C-script for VEGA including the code to calculate the known molecular properties.
    • C source + header: generic code for classification. You can use it also not in VEGA.
    • Header only: same of above with the difference that all code is written in the header file.
  • If you are building a VEGA ZZ C-script and you want to install it into VEGA ZZ environment, you can check Install VEGA ZZ C-Script and put the installation directory in Script directory field. If you leave this field empty, the C-Script will be installed in home directory. You can use the disk button to explore the directory tree and you must remember you cannot install scripts outside the directory tree of the scripts.
  • Finally, click the Convert button.

When you choose VEGA ZZ C-script, the attribute names are analyzed and if are calculable by VEGA ZZ the right code is automatically added to the output, otherwise a warning message is shown because the resulting code will be incomplete and requires further implementations by the user.

 

13.3.12 DNA tools

Scripts for the manipulation of the nucleic acids (DNA, RNA and PNA).

DNA to PNA.c This tool converts the DNA to PNA, acting only on the selected atoms.
    
RNA to DNA.c This tool converts the RNA to DNA single stranded, acting only on the selected atoms.

 

13.3.13 Docking

Scripts for molecular docking.

 

13.3.13.1 AutoDock

These scripts allow to prepare input files for AutoDock 4:

Box calc.c It calculates the box dimensions and its center coordinates containing the active (visible) atoms and shows the results in the console. This script is useful to define a macromolecule region to dock ligands.
    
DLG to PDB multimodel.c It converts an AutoDock 4 DLG output to a standard PDB multimodel file, keeping in the remarks the energy information. This conversion is not required by VEGA ZZ that read DLG files as trajectories, but is needed by programs that are unable to manage this kind of files.
    
Ki calculator.c It evaluates the Ki and the interaction energy of a given ligand - receptor complex. This script is useful to recalculate the AutoDock 4 score after an energy minimization (e.g. performed by NAMD). This calculation requires at least two molecules in the workspace and atom constraints defining the region in which the AutoDock 4 grid maps will be calculated. The free atoms only are considered to define this region. If there are more than two molecules or the ligand is ambiguous, the script ask to specify the molecule ID of the ligand.
The results are shown in the VEGA ZZ console and copied to the clipboard.
    
Ligand.c By this script, you can prepare the current molecule to be used as ligand with AutoDock 4, performing these steps:
  1. If needed, adds the hydrogens by protein method.
  2. If required, assigns the atom charges.

If the molecule has two dimensions only, the 2D to 3D conversion is performed as explained below:

  1. Sends the molecule to AMMP.
  2. Performs the Gauss-Siedel distance geometry optimization (15 steps).
  3. Performs the steepest descent energy minimization (50 steps, toler = 1).
  4. Performs the conjugate gradients energy minimization (3000 steps, toler = 0.01).
  5. Sends the resulting structure to VEGA ZZ.

These steps are performed for both 2D and 3D structures:

  1. Fixes the atom types, applying the AutoDock force field.
  2. Removes the apolar hydrogens.
  3. Saves the molecule in PDBQT format.
    
Receptor.r By this script, you can prepare the current molecule as receptor for AutoDock 4, performing these steps:
  1. If needed, adds the hydrogens by protein method.
  2. If required, assigns the atom charges.
  3. Fixes the atom types, applying the AutoDock force field.
  4. Removes the apolar hydrogens.
  5. Saves the molecule in PDBQT format.
  6. Runs AutoGrid4 to calculate the maps if the user confirms the operation.

The pre-defined docking box is set to explore the entire receptor, but if you want explore a specific protein region, you must select the atoms defining that region before to run the script.
The grid spacing is automatically adjusted if the number of grid points exceeds the 63 value because AutoGrid 4 and AutoDock 4 can't manage grid greater than 63x63x63 points.

 

13.3.13.2 PLANTS

These scripts are useful to manage PLANTS docking software.

Docking.c This script performs a molecular docking or a virtual screening calculation by PLANTS software, that must be installed as explained in the manual an in the PLANTS node of the script tree. The receptor and the ligand must be in Sybyl Mol2 format and if you want to run a virtual screening the ligands must be included into a Mol2 database (Mol2 multimodel format).

In the graphic interface, some parameters can be set:

  • Receptor
    File name of the target macromolecule (receptor) in Mol2 format.
  • Ligand
    File name of the ligand to dock in Mol2 format.
  • Output directory
    Directory in which the output files will be created. This field is automatically completed by selecting receptor and ligand.
  • Flex. residues
    List of residues (space separated, in ResNum format) whose side chain will be considered flexible. By clicking the Get button, the field is automatically filled the residues that are active in the current workspace.
  • Center
    X, Y, Z coordinates of the binding site center.
  • Radius (Å)
    Radius in Å of the sphere including the binding site atoms. Clicking Calc. button, Center and Radius fields are automatically filled considering as binding site the visible atoms of the molecule shown in the current workspace.
  • Clusters
    Number of solution clusters.
  • RMSD
    Root Mean Square Deviation for the cluster analysis.
  • Multimodel output
    Checking this gadget, it's possible to save all solutions in a whole multimodel file in Mol2 format.
  • Atom scoring
    This checkbox allows the scoring values of each atom to be saved in the Mol2 output. The atomic charges are replaced by scoring values.
  • Rigid ligand
    The ligand is kept rigid.
  • Shape constraints
    In these fields, you can specify the molecule and the weight that is used for the volume overlap calculation (the more ligand atoms overlap, the better). For more information, read the PLANTS manual.
  • Score
    Scoring function (chemplp, plp and plp95).
  • Search
    Search mode: speed1 (highest reliability, slowest settings), speed2 (good reliability, twice as fast as speed1) and speed4 (modest reliability, four time fast as speed1).

By clicking Run button, the calculation starts and a window is shown in which it's possible to stop the run by clicking Abort button.

 

WARNING:

if you close VEGA ZZ, the PLANTS calculation is not stopped, but when it finishes, the scripts doesn't convert the output files to be read directly by Microsoft Excel.

 

For more information about PLANTS, visit http://www.tcd.uni-konstanz.de/

 

PLANTS installation:

  • Complete the registration form in download page at http://www.tcd.uni-konstanz.de/
  • Download the PLANTS Win32 (minGW).
  • Rename the file name to Plants.exe and copy it to ...\VEGA ZZ\Bin\Win32 directory, where ...\VEGA ZZ is the VEGA installation directory.
  • Download mingwm10.dll and copy it to ...\VEGA ZZ\Bin\Win32 directory.

If you installed the 1.1 version built by Mingw32, it's strongly recommended to patch it by running Patch bin 1.1 script.

Patch bin 1.1.c This script applies a patch to PLANTS 1.1 binary (Mingw32 version) in order to fix S.O and S.O2 atom types that are defined in wrong way as S.o and S.o2.
A backup copy of the original version of PLANTS is made in ...\VEGA ZZ\Bin\Win32 directory (Plants.bak).

 

WARNING:

To run this script, you need the administrative rights, otherwiese it will be impossible to patch PLANTS. If User Account Control (UAC) is enabled, you must run VEGA ZZ as administrator. To do it, click the VEGA ZZ icon on the desktop with the right mouse button and select Run as administrator.

Receptor.c This script saves the receptor in the current workspace to be used in PLANTS calculations. In particular, it marks the backbone atoms and bonds by BACKBONE label that is required to consider the flexibility of the receptor side chains during the docking.

WARNING:
If you don't need to consider the receptor flexibility, you can save a normal Sybyl Mol2 file from VEGA ZZ main menu.
Rescore ChemPlp.c

 

Rescore Plp.c

 

Rescore Plp95.c

It evaluates the ligand - receptor interaction energy by ChemPlp, Plp and Plp95 scoring functions implemented in PLANTS. This calculation requires at least two molecules in the workspace and if there are more than two molecules or the ligand is ambiguous, the script asks to specify the molecule ID of the ligand.
The results are shown in VEGA ZZ console and copied to the clipboard.
This script requires PLANTS for Windows that is not included in VEGA ZZ package.
RMSD calc.c This script calculates the root mean square deviation (RMSD) of a given set of poses obtained by a docking calculation. As reference structure, the first pose of each ligand is considered that, in case of PLANTS, is the best ranked. The script calculates also the RMSD (ALNRMSD) aligning each pose to the reference one (this is useful to evaluate the conformational changes between the poses) and the mean values of both type of RMSDs. You must specify only the database including the docking poses (without the target/protein) and the name of the output CSV file.

You can give also a database as input including both receptors and ligands. The script try to detect automatically the ligand and when it's not possible, a requester is shown.

 

13.3.13.3 Vina

These scripts allow to prepare input files and to run AutoDock Vina:

Docking.c This script performs a molecular docking calculation using AutoDock Vina. The receptor and the ligand files must be in PDBQT format and can be prepared by Receptor.c and Ligand.c scripts. In the graphic interface of this script, you can specify the following parameters:
  • Receptor
    File name of the target macromolecule (receptor) in PDBQT format.
  • Ligand
    File name of the ligand to dock in PDBQT format.
  • Output model
    File name of the ligand poses in PDBQT multimodel format. Remember that this file doesn't include the receptor structure.
  • Log file
    Vina log file name.
  • Center
    X, Y, Z coordinates of the binding site center.
  • Size (Å)
    Dimensions in Å of the cube including the binding site.
  • Exahaustiveness
    Exhaustiveness of the global search (roughly proportional to time).
  • Binding modes
    Maximum number of binding modes to generate.

For more information about AutoDock Vina, click here.

    
Ligand.c It prepares and saves the current molecule as ligand for Vina, performing these steps:
  1. If needed, adds the hydrogens by protein method.
  2. If required, assigns the atom charges.

If the molecule has two dimensions only, the 2D to 3D conversion is performed as explained below:

  1. Sends the molecule to AMMP.
  2. Performs the gauss-Siedel distance geometry optimization (15 steps).
  3. Performs the steepest descent energy minimization (50 steps, toler = 1).
  4. Performs the conjugate gradients energy minimization (3000 steps, toler = 0.01).
  5. Sends the resulting structure to VEGA ZZ.

These steps are performed for both 2D and 3D structures:

  1. Fixes the atom types, applying the Vina force field.
  2. Removes the apolar hydrogens.
  3. Saves the molecule in PDBQT format.
    
Receptor.c It prepares and saves the molecule in the current workspace as receptor for Vina, performing these steps:
  1. If needed, adds the hydrogens by protein method.
  2. If required, assigns the atom charges.
  3. Fixes the atom types, applying the Vina force field.
  4. Removes the apolar hydrogens.
  5. Saves the molecule in PDBQT format.
    
Virtual screening.c This script performs structure-based virtual screenings by AutoDock Vina. To do them, you need:
  • the receptor structure in PDBQT format. You can prepare it from any type of file using Receptor.c script;
  • the database containing the ligands to screen. It must be in any format supported by VEGA ZZ (Microsoft Access, Merck MMD, Mol2 multimodel, ODBC data source, SDF file, SQLite and Zip archive). The database don't require to be prepared before the screening, because the script has the capability to detect the missing features and to fix them. In particular, it can add hydrogens using the best strategy, fix the atomic charges and to convert structures from 2D to 3D.

The graphic user interface of this script allows to setup the screening in easy way, changing the following parameters:

  • Receptor
    File name of the target macromolecule (receptor) in PDBQT format.
  • Energies
    Output file in localized CSV format containing the energy of the best pose for each ligand. The first column is the molecule progressive number (MolID), the second one is the molecule name (Name) and the third one is the Vina energy of the best pose (Energy).
  • Ligand database
    Database of the ligands to screen.
  • Output models
    File name of the Zip archive in which the poses in PDBQT multimodel format are stored. The script add a numerical suffix to file name that is incremented automatically every time in which the file size exceeds the limit of 2 Gb.
  • Log file
    Log file name.
  • Center
    X, Y, Z coordinates of the binding site center.
  • Size (Å)
    Dimensions in Å of the cube including the binding site.
  • Exhaustiveness
    Exhaustiveness of the global search (roughly proportional to time, default 8).
  • Binding modes
    Maximum number of binding modes to generate (default 1).


Clicking Calc button, Center and Size fields are automatically completed using the atoms selected in the current workspace that will be considered as binding site.
Clicking Save cfg, you can save the current configuration that can be restored clicking Load cfg. The resulting .vcf file is not compatible with Vina, while that generated by Docking.c maintains the compatibility (see --config option of Vina).

 

About the restart
The restart procedure is automatically performed if the energy CSV file is found. You can choose to restart the calculation or to run it from the beginning by a requester window.

For more information about AutoDock Vina, click here.

If you want to run a Vina docking calculation, follow these steps:

 

13.3.13.4 Other docking scripts

Here are other scripts for generic analysis.

APBS binding energy.c This script evaluates the binding energy of a given ligand - receptor complex. This calculation requires at least two molecules in the workspace and if there are more than two molecules or the ligand is ambiguous, the script asks to specify the molecule ID of the ligand. The results are shown in VEGA ZZ console and copied to the clipboard.
This script uses APBS for Windows that is included in VEGA ZZ package. APBS is a software for modeling biomolecular solvation through solution of the Poisson-Boltzmann equation (PBE), developed by Nathan Baker in collaboration with J. Andrew McCammon and Michael Holst.

For more information about APBS, visit http://www.poissonboltzmann.org/apbs/
    
Best score of isomers.c This script was developed with the aim to manage the docking results obtained when the database of ligands was expanded with stereoisomers, geometric isomers and tautomers of each molecule. It chooses the best isomer of a molecule on the basis of the best (lowest) docking score. When you run the script, you must put the input file in CSV format including the data (molecule name, scores etc) of all docked species, the output CSV file, the column with the ligand names and the column of the score.
The isomers are detected by name: they must share the same prefix followed by the underscore character ("_").
    
Contact surface.c This script measures the ligand/receptor contact surface (shared surface) in a complex. The results are automatically copied to the clipboard and are: contact surface, percentage of contact surface referred respectively to the ligand, receptor and complex surfaces. All data are expressed in Ų.
   
Fred2 scrore.c It calculates the interaction score of a ligand - protein complex using OpenEye's Fred2 docking software. This calculation requires two molecules in the workspace: the first one must be the receptor and the second one must be the ligand. The scores extracted from Fred's outputs are: Chemgauss2, Chemscore, Plp, Screenscore, Shapegauus and Zapbind. The results are automatically copied to the clipboard.

 

Warning:

This script requires Fred2 installed on your PC. You can request/buy it at http://www.eyesopen.com/

   
GOLD score extractor.c This script extracts the docking scores of each pose stored in the mol2 file generated by GOLD and saves them into a csv file. The output file is created in the same directory of the mol2 one and is named as XXX_GOLD.csv, where XXX is the name of the source file.
   
Hypervolume analyzer.c This script calculates the shared area (hyperarea) and the shared volume of a set of multiple poses (hypervolume) obtained by a docking calculation. As input, you must specify the database with the docking poses in one of the formats supported by VEGA ZZ, while the output CSV file is saved in the same directory of the database with the name DATABASE_PREFIX - HyperVol.csv. In the output file, you can find the following columns:
  • Name: Name of the ligand;
  • Poses: Number of poses;
  • Area: Area of the first pose;
  • HyperArea: Shared area of the set of docking poses;
  • DeltaArea: HyperArea - Area;
  • RatioArea: HyperArea / Area.
  • Volume: Volume of the ligand;
  • HyperVolume: Shared volume of the set of docking poses;
  • DeltaVolume: HyperVolume - Volume;
  • RatioVolume: HyperVolume / Volume.

The multiple poses of the same molecule are detected by their names: they must share the same prefix followed by the underscore character ("_").

   
Mean score of multiple poses.c This script calculates mean, minimum, maximum, range and standard deviation of docking scores for all poses of each ligand. When you run the script, you must put the input file in CSV format including the data (molecule name, scores etc) of all docked species, the output CSV file, the column with the ligand names and the column of the score.
The ligands are detected by name: they must share the same prefix followed by the underscore character ("_").
   
Mopac binding enthalpy.c This script evaluates the binding enthalpy with MOPAC:
  • the calculation requires at least two molecules in the workspace and if there are more than two molecules or the ligand is ambiguous, the script asks to specify the molecule ID of the ligand;
  • the receptor is simplified keeping only the residues included in a spheroid of 3 Å around the ligand. The user can change this value in the script (VS_PROXIMITY constant);
  • the complex geometry is optimized until the termination criteria GNORM is achieved. By default, this value is set to 10 (see VS_MOPACKEYS_MIN constant in the script);
  • the heat of formation is evaluated for both ligand and receptor separated and complexed;
  • the binding enthalpy is obtained by subtracting the two energies;
  • the results are shown in VEGA ZZ console and copied to the clipboard, if requested by the user.

This script requires at least Mopac 2012 for Windows that is not included in VEGA ZZ package. For more information, see Installation of optional components.

   
Rescore+.c This script recalculates the interaction scores between a given set of ligand poses in a database and a target molecule or, alternatively, between a ligand and a receptor both included in a trajectory file. To run the calculation, you must specify the Receptor file name, the Database including the docked ligands, the CSV output file to store the scores, the Log file in which are written the errors and finally one or more scoring functions. For more information about the scoring functions, you can consult the VEGA ZZ manual.

WARNING:
the database must contain ligand poses obtained by a previous docking calculation. This script doesn't perform any kind of docking calculation.

To calculate the RPScore, the ligand must be a peptide/protein with the residue names indicated in the sequence.

   
RPScore.c It calculates the RPScore of a given protein-protein complex or a trajectory of protein-protein complexes. In this second case, the results are saved to a CSV file. The complex or the trajectory must open in the current workspace.

This script is the VEGA ZZ implementation of the well known RPScore program. For more details:

http://www.sbg.bio.ic.ac.uk/docking/rpscore.html

Gidon Moont, Henry A. Gabb, and Michael J.E. Sternber, "Use of Pair Potentials Across Protein Interfaces in Screening Predicted Docked Complexes", PROTEINS: Structure, Function, and Genetics 35:364-373 (1999).
   
WarpEngine GRAMM extractor.c This script extracts one or more complexes from the output generated by GRAMM docking software used in WarpEngine parallel execution environment. To complete the extraction, the script asks you:
  • the database containing the ligands that were docked;
  • the receptor file in any format supported by VEGA ZZ;
  • the WarpEngine GRAMM output file (it have the .csv file extension);
  • the output directory;
  • the numbero of top ranked complexes that you want to extract.

By default, the script saves the complexes in IFF format and assigns CHARMM force field and Gasteiger-Marsili atom charges. These default parameters can be changed by editing the script code.

   
X-Score.c It evaluates the interaction score of a given ligand - receptor complex. This calculation requires at least two molecules in the workspace and if there are more than two molecules or the ligand is ambiguous, the script asks to specify the molecule ID of the ligand.
The results are shown in the VEGA ZZ console and copied to the clipboard.

This script requires X-Score 1.2 or 1.3 for Windows that is not included in VEGA ZZ package.

For more information about X-Score, visit http://www.sioc-ccbg.ac.cn/

To install X-Score package in VEGA ZZ enviroment:

  • Open the following Web site:
    http://www.sioc-ccbg.ac.cn/?p=42&software=xscore
  • Complete the on-line registration form.
  • Log-in with your credential and download X-Score package for Windows platform.
  • Open the tar file by WinRAR or other suitable software able to unpack tar gizipped files.
  • Extract xscore_win32.exe from xscore_win32\bin to ...\VEGA ZZ\Bin\Win32, where ...\VEGA ZZ is the VEGA ZZ installation path (usually C:\Program Files\VEGA ZZ).
  • Rename xscore_win32.exe to xscore.exe.
  • Extract parameter directory from xscore_win32 to ...\VEGA ZZ\Data directory. This last directory is hard to identify, because every Windows version creates it in a different place. To find it, open VEGA console from Start menu and type OpenDataDir.
  • Rename parameter to Xscore.
  • Now, you are ready to use X-Score script. If you want to use xscore.exe from command prompt, open VEGA console and use xs command, that is a shell script that fixes the environment variable required by X-Score.

 

13.3.14 Examples

This directory includes the example scripts:

Benzene In this folder, you can find several examples showing you how to build a benzene ring using different scripting languages (C-Script, JavaScript, PHP, Python, REBOL).
    
HyperDrive This folder includes C-scripts showing you how to use HyperDrive APIs.
    
Log kw IAM In this folder, there are minimalist codes in different scripting languages to calculate log kwIAM.DD2 and log kwIAM.MG of the molecule in the current workspace.
    
Command console.htm This script demonstrates how it's possible to control VEGA ZZ by JavaScripts in a HTML page.
    
Demo.bat Demo script.
    
Demo.r The same of the above, but written in REBOL.
    
Distances.r This REBOL script explains how to measure interatomic distances.
    
Graph.r Demo of the extended commands to manage the plots.
    
GraphApp demo.r Demo of the GraphApp GUI library.
    
Info.r  It shows some information in the VEGA ZZ console.
    
Meshload.r Il loads and shows a 3D rabbit mesh model.
    
Mini-XML demo.c Demo script of Mini-XML library.
   
MP3 player.r Minimalist mp3 player (fmod demo).
    
NAMD minimization.c This script shows how to use the NAMD helper to perform an energy minimization by NAMD 2. It requires only a molecule in the current workspace.
    
REBOL View\VEGA ZZ toolbar.r It shows a REBOL/View toolbar to control the VEGA ZZ main features.
    
Requesters.r Simple demo of the VEGA ZZ built-in requesters.
    
VEGA GL.c Application example of VEGA GL commands.

 

13.3.15 File conversion

This directory includes scripts for file format conversion :

CSSR SOMFA export.c This script exports the current molecule in CSSR format readable by SOMFA.
    
CSV export.c It saves the current molecule in Comma Separated Values (CSV) format.
    
Format conversion.r 

This script performs the batch file format conversion of all molecules contained in a folder. Some parameters can be changed in the dialog window:

  • Source dir.
    Name of the source directory in which the converting files are placed. Click Open button to show the directory requester.
  • Destination dir.
    Name of the destination directory in which all converted files will be inserted. Click Open button to show the directory requester.
  • Output format
    Use this list to select the output format.
  • Compression
    Compression method (default none).
  • Add hydrogens
    - None
    No hydrogens will be added.
    - Generic
    Generic organic geometry-based method.
    - Generic BO
    Generic organic bond order-based method.
    - Nucleic acid
    Nucleic acid geometry-based method.
    - Nuc. acid BO
    Nucleic acid bond order-based method.
    - Protein
    Protein geometry-based method.
    - Protein BO
    Protein bond order-based method.
  • Include the connectivity
    If checked, the atom connectivity is included (if the file format supports it).
  • Include the atom constraints
    If checked, the atom constraints are saved into the file (if the file format supports it).
  • Normalize the coordinates
    If checked, the molecule is translated at the axis origin (0, 0, 0).
  • Assign the Gasteiger/Marsili charges
    If checked, the Gasteiger - Marsili atom charges are assigned.

    Clicking Convert button, the conversion starts and clicking Close the dialog window is closed.
    
PDB ren export.c It exports the molecule in PDB format renumbering the atoms.
    
XYZ import.c It imports XYZ files giving the possibility to adapt the filter to each sub-format.

 

13.3.16 Interaction surface

These scripts calculate and manage ligand-receptor interaction surfaces.

CHARMM interaction surface.c It calculates the CHARMM non-bond interaction energy of each ligand-receptor atom pair and project it on the Van der Waals surface. You must enter the molecule ID/number to indicate the ligand.
    
Lipophilic interaction surface.c It calculates the lipophilic interaction of each ligand-receptor atom pair and project it on the Van der Waals surface. You must enter the molecule ID/number to indicate the ligand.
    
MEP interaction surface.c It calculates the electrostatic interaction energy of each ligand-receptor atom pair and project it on the Van der Waals surface. You must enter the molecule ID/number to indicate the ligand.
    
MLPInS color ramp.c This script normalizes the color ramp calculated by MLPInS interaction surface script, using the user-defined range of values. The normalization is useful to compare surfaces of different molecules using the same color scheme.
It recognizes MLPInS surfaces only and changes them selectively.
   
MLPInS interaction surface.c It calculates the MLP Interaction Score (MLPInS) of each ligand-receptor atom pair and project it on the Van der Waals surface. The user must enter the molecule ID/number to indicate the ligand.

 

13.3.17 Movie

Scripts to create movies.

Movie maker.c This script generates a movie file starting from the molecule in the current workspace, rotating it around one or more axis. The parameters that the user can change are: Output movie (file name of the output movie), Number of frames (number of frames to put in the trajectory),Preview (checking this gadget, the animation is shown in the main window not saving the output movie), X rotation (rotation in degrees around the X axis), Y rotation (rotation in degrees around the Y axis) and Z rotation (rotation in degrees around the Z axis).
Clicking Animate, the movie will be created. The codec requester is shown to select the required compression options. Take care choosing the Render mode because not all graphic cards supports the Hardware mode. The Software rendering is the most reliable even if it's unable to reach the Hardware quality.
    
Sec. structure anim.c This script generates a movie file starting from the peptide in the current workspace, changing the secondary structure. The parameters that you can change are: Output movie (File name of the output movie), Number of frames (number of frames to put in the animation), Preview (checking this gadget, the animation is shown in the main window not saving the output movie), Start Phi (starting value of the Phi dihedral angle), Start Psi (starting value of the Psi dihedral angle, Start Omega (starting value the Omega dihedral angle), End Phi (ending value of the Phi dihedral angle), End Psi (ending value of the Psi dihedral angle), End Omega (ending value of the Omega dihedral angle).
Click Animate to create the movie file. The codec requester is shown to select the required compression options. Take care choosing the Render mode because not all graphic cards supports the Hardware mode. The Software rendering is the most reliable even if it's unable to reach the Hardware quality.
For the most common Phi, Psi and Omega values, click here.

 

13.3.18 Protein tools

This directory includes the visualization scripts:

Aminoacid selector.r

It shows the amino acid by selection and/or by chemical/physical properties.

    
Dump backbone torsions.c It dumps the phi and psi backbone torsions of a protein.
    
Fasta to text.r

It convert a Fasta into a text file. That's is useful to load it into Microsoft Excel.

    
HIS protonantion.c

It finds the histidine protonantion state (on NE2 or on ND1) using the CHARMM potential and swap the hydrogens (e.g. H-NE2 to H-ND1) according to the hydrogen bond energy. If the energy difference between the H-NE2 and H-ND1 tautomers is more than 2.0 Kcal/mol the hydrogen is placed on the nitrogen realizing a structure with lower hydrogen bonding energy. The starting structure must have the hydrogens.

    
Move hydrogens to end.c

This script moves the hydrogen atoms to the end of the atom list. In this way, you can obtain files split in two parts: the first one containing the heavy atoms and the second one, placed at the end, containing the hydrogens. As an example, that's useful to write mol2 files compatible with GOLD docking system.

    
Score.c It calculates the interaction score between a ligand and a generic target biomacromolecule. The ligand must be previously docked in the target structure. This calculation requires two molecules in the workspace: the first one must be the receptor and the second one must be the ligand.
The script can calculate:
  • Electrostatic energy (Coulomb).
  • Electrostatic energy with distant-dependent dielectric constant.
  • R6-R12 Lennard-Johnes non-bond energy using the CHARMM and CVFF force fields.
  • Hydrophobic interaction using the Broto-Moreau parameters with different distance functions (linear, square, cube and Ferm's function).

The results are automatically copied to the clipboard.

 

13.3.18.1 Homology modelling services

This folder includes on-line services for homology modelling.

FUGUE.htm FUGUE is a program for recognizing distant homologues by sequence-structure comparison. It utilizes environment-specific substitution tables and structure-dependent gap penalties, where scores for amino acid matching and insertions/deletions are evaluated depending on the local environment of each amino acid residue in a known structure. Given a query sequence (or a sequence alignment), FUGUE scans a database of structural profiles, calculates the sequence-structure compatibility scores and produces a list of potential homologues and alignments.

For more information, visit this Web site: http://tardis.nibio.go.jp/fugue/
    
I-TASSER.htm I-TASSER server is an Internet service for protein structure and function predictions. 3D models are built based on multiple-threading alignments by LOMETS and iterative TASSER assembly simulations; function inslights are then derived by matching the predicted models with protein function databases. I-TASSER (as 'Zhang-Server') was ranked as the No 1 server for protein structure prediction in recent CASP7, CASP8 and CASP9 experiments. It was also ranked as the best for function prediction in CASP9. The server is in active development with the goal to provide the most accurate structural and function predictions using state-of-the-art algorithms.
    
Phyre 2.htm Protein Homology/analogY Recognition Engine.
    
ROBETTA.htm Robetta provides both ab initio and comparative models of protein domains. It uses the ROSETTA fragment insertion method (Simons et al. (1997) J Mol Biol. 268:209-225). Domains without a detectable PDB homolog are modeled with the Rosetta de novo protocol (Bonneau et al. (2002) J Mol Biol. 322:65-78). Comparative models are built from Parent PDBs detected by UW-PDB-BLAST or HHSEARCH and aligned by various methods which include HHSEARCH, Compass, and Promals. Loop regions are assembled from fragments and optimized to fit the aligned template structure (Rohl et al. (2004) Proteins 55:656-677). The procedure is fully automated.

For more information, visit this Web site: http://robetta.bakerlab.org/
    
SWISS-MODEL.htm SWISS-MODEL is a fully automated protein structure homology-modeling server, accessible via the ExPASy web server, or from the program DeepView (Swiss Pdb-Viewer). The purpose of this server is to make Protein Modelling accessible to all biochemists and molecular biologists worldwide.

For more information about the service, visit: http://swissmodel.expasy.org/

 

13.3.19 PubChem

 

PubChem-related scripts. They requires an Internet connection.

 

13.3.19.1 PubChem database rename

Scripts to rename the molecules in a database.

By CID.c This script allows to rename all molecules in a database according to CID code. A log file containing the errors is automatically created in the database directory by adding "- rename.log" as suffix to the database file name.
    
By IUPAC.c This script allows to rename all molecules in a database according to IUPAC name. A log file containing the errors is automatically created in the database directory by adding "- rename.log" as suffix to the database file name.
    
By name.c This script allows to rename all molecules in a database according to the most common name in PubChem. A log file containing the errors is automatically created in the database directory by adding "- rename.log" as suffix to the database file name.

 

13.3.19.2 PubChem download

Multiple by CID.c This script downloads multiple molecules to a directory by specifying their CID in a CSV file (with semicolon separated fields). This file must contain the first line with the labels, the first column with CIDs and, optionally, a second column with the molecule names that are used for the files.
The molecules are downloaded in 3D SDF format and if an error occurs, it is reported in the log file that has the same prefix of CSV one and " - download.log" as suffix.

CSV file example with CIDs only:

CID
10075246
10110916
10111186
10114637

CSV file example with CIDs and names:

CID;Name
10075246;"Mol 1"
10110916;"Mol 2"
10111186;"Mol 3"
10114637;"Mol 4"
    
Multiple by name.c This script downloads multiple molecules to a directory by specifying their name in a text file. This file must contain the name of the molecules to download one for each line. The molecules are downloaded in 3D SDF format and if an error occurs, it is reported in the log file that has the same prefix of the input one and " - download.log" as suffix.

Text file example:

Ethanol
Benzene
Aspirin
Phenol
    
Single by CID.c It downloads a structure from PubChem to the current workspace by specifying the CID code. If the code is wrong, an error message is shown.
    
Single by name.c It downloads a structure from PubChem to the current workspace by specifying its name. If the molecule is not available, an error message is shown.

 

13.3.19.2 PubChem get

CID.c This script asks PubChem for the CID code of the molecule in the current workspace. If the molecule is not included in the database, an error message is shown. The molecule is identified by submitting its SMILES string.
    
IUPAC name.c This script asks PubChem for the IUPAC name of the molecule in the current workspace. If the molecule is not included in the database, an error message is shown. The molecule is identified by submitting its SMILES string.
    
Name.c This script asks PubChem for the name of the molecule in the current workspace. If the molecule is not included in the database, an error message is shown. The molecule is identified by submitting its SMILES string.
    
Multiple IUPAC names.c This script asks PubChem for  the IUPAC names of the molecules by specifying their CID in a CSV/text file. The first line of this file can be the column label (not mandatory). The IUPAC names are stored in a CSV file that can be specified by the user.

Input file example:

CID
243
3339
128563
3236

Output file example:

CID;IUPAC
243;"benzoic acid"
3339;"propan-2-yl 2-[4-(4-chlorobenzoyl)phenoxy]-2-methylpropanoate"
128563;"methyl (2S,4aR,6aR,7R,9S,10aS,10bR)-9-acetyloxy-2-(furan-3-yl)-6a,10b-dimethyl-4,10-dioxo-2,4a,5,6,7,8,9,10a-octahydro-1H-benzo[f]isochromene-7-carboxylate"
3236;"1-(4-ethylphenyl)-2-methyl-3-piperidin-1-ylpropan-1-one"
    
XLogP.c This script gets the XLogP name of the molecule in the current workspace from PubChem. If the molecule is not included in the database, an error message is shown. The molecule is identified by submitting its SMILES string.

 

13.3.20 QSAR

 

Scripts for QSAR.

 

Data normalizer.c The script normalizes the values of the specified columns in 0-1 range of a given spreadsheet in CSV format, assuming that the first row is the header of each column. The output spreadsheet is saved using "- normalized.csv" extesion to the file name.
   
Principal component analysis.c This scripts performs the Principal Component Analysis of a given dataset in CSV format. You can chose the columns to include in the matrix to be analyzed. The script saves two files: the first one includes statistical data for each selected column such as the mean of the values, their standard deviations and the PCA results such as the eigenvalues, the eigenvectors and the coefficients to project the data in the PCA space, whose values are in the second file. The PCA calculation is done only for the first three principal components.
    
Table join.c This script joins two or more tables in CSV format. That's useful when the number of colums/rows is too large to be managed by Microsoft Excel. You can select an unlimited number of tables/spreadsheets and you can specify individually the join position (Bottom or Right). The output file is automatically saved when you stop to add other spreadsheets clicking Cancel in the file requester and its name is obtained from the first file by adding - join.csv extension.
    
Training and test set creator.c This script helps the user to create a random training and test sets from a given data set in CSV format. This is useful to validate a QSAR model, by calculating the linear regression of the training set and using the test set to predict the dependent variable.
You can create homogeneus sets (the script ask you if you want that) in terms of mean and standard deviation. You can select the properties that you want to keep homogenus in both sets. The script standardizes the data and performs several trials to split randomly the two sets. When the differences between the traing and test set of means of the means and the means of the standard deviations of the properties is less than a user-defined value (0.01) the iterative process is stopped.
This script writes two CSV files as output for the training set and for the test set, respectively adding to the file name "- training" and "- test".

 

13.3.20.1 Linear regression

Scripts for linear regression.

Automatic linear regression.c This script generates automatically all possible multiple regression models by these steps:
  • Selection of the best independent variables by calculating the correspondent equation with a single regressor. Regressions with R2 value less than 0.10 determine automatically the exclusion of the independent variable. If the number of found variables is less than the maximum number of regressors, the "desperate mode" is automatically enabled and 50% of the best variables are selected.
  • Identification of collinear independent variables by calculating the Variance Inflation Factor (VIF) value for each regressor pair. Variable pairs with VIF > 5.0 are considered collinear and aren't not considered in the model calculation.
  • Calculation of the models with a number of regressors from one to a user-defined value (default 3).
  • For each model, a cross-validation procedure (leave-one-out) is performend and the prediction power is shown ad Q2. If the number of observations is more than 200, the script asks to confirm the cross-validation.

The script requires a CSV file as input, that can be exported from your preferred spreadsheet software (e.g. Microsoft Excel) and generates an output file with the same prefix of the input followed by - regression.txt as name. The output file includes some information as the best independent variables, the collinear variable pairs, all regression models and the best regression models (three for each number of regressors).

   
Linear regression.c This script performs the multiple linear regression and requires a CSV file as input. In two steps, you can select the dependent variable (usually the activity) and the independent variables from the list built from the first row in the spreadsheet.
    
Model validator.c This script allows the QSAR models to be validated by splitting randomly the whole dataset in a number of training and test set pairs. For each training set, the regression coefficients are calculated to evaluate the test set in terms of standard deviation of errors, angular coefficient, intercept and r2 of the trend line of the chart of the predicted vs. experimental activities.
To use this script, you must specify the file containing the data of the regression analysis that must be in CSV format and can be exported in easy way from your preferred spreadsheet. Thus, you must select the dependent variable (usually the activity) and the independent variables of the QSAR model that you have found previously for example by Automatic Linear Regression script. Finally, you must put the number of molecules of the training set and the number of random trials. At the end of the calculation, a CSV output file is written in the same directory of the data file by adding "- validation.csv" suffix to the original file name. This output can be opened by a spreadsheet and it includes columns as shown below:
  • Trial
    Progressive number of the trial.
  • Rsq
    Multiple correlation coefficient of the training set (r2).
  • RsqAdj
    adjusted r2 if the training set.
  • PC
    Amemiya Prediction Criterion of the training set.
  • P
    Probability of the training set.
  • F
    Fisher F statistic for regression of the training set.
  • StdDevOfErrs
    Standard deviation of errors (SE) of the training set.
  • Test_MeanErr
    Mean error in prediction of the test set.
  • Test_StdErrOfErrs
    Standard deviation of errors (SE) of the test set.
  • Test_M
    Angular coefficient of the trend line of the chart of predicted vs. experimental activities.
  • Test_B
    Intercept of the trend line of the chart of predicted vs. experimental activities.
  • Test_Rsq
    r2 of the chart of predicted vs. experimental activities.
  • Test_PC
    Amemiya Prediction Criterion of the test set.
  • Test_P
    Probability of the test set.
  • Test_F
    Fisher F statistic for regression of the test set.
  • Intercept
    Intercept of the regression equations.
  • Coefficients of the independent variables
    The list of the coefficients for each regressor.

 

The output file includes also the mean (Mean) and the standard deviation (StdDev) of the previous columns and the labels of the columns selected as dependent (DepVar) and independent (InDepVar) variables.

 

13.3.20.2 Virtual screening

Scripts for the analysis of virtual screening results.

 

CSV to SVM light.c This script converts a standard CSV file to SVM Light format. It requires the molecule names as first column and an activity / dependent variable column that you can choose by a requester. Moreover, you can select also the dependent variables that are exported to the output file.
For more information, read http://svmlight.joachims.org/.
    
Enrichment factor analysis.c This script helps to to setup a virtual screening calculation by analyzing the enrichment factor that you can obtain by screenings on sets including true-active and decoy molecules. The data must be in CSV file format and you can select the activity and score columns. Moreover, you can also specify the activity threshold to indicate when a molecule must be considered active or not and the cluster size for the cluster analysis. The script sorts the rows in ascending order on the basis of the score/property used to predict the activity, thus performs the cluster analysis showing the results in a bar plot. If the score/property can successfully detect the active compounds, they must be ranked at the top of the sorted list populating the first clusters. The enrichment quality is evaluated in terms of skewness and kurtosis. In particular, a kurtosis value close to zero indicates a Gaussian distribution, otherwise an high value is synonym of an asymmetric curve. The aim of this kind of analysis is to obtain an highly asymmetric curve translated on the left of the plot and this result can be obtained when the kurtosis value is high. Just to give you an idea, kurtosis values less then 5 can be considered poor and, on the contrary, values greater than 5 are good.
    
Enrichment factor optimizer (manual).c This script can be used to improve the enrichment factors of a virtual screening analysis. More in detail, it allows a new scoring function to be obtained, resulting from the linear combination of two or more user-defined descriptors such as docking scores and molecular properties. The coefficients of this first-degree equation are calculated by maximizing the number of the active compounds in the top of the list in which the molecules are ranked by the score calculated through the new equation. The maximization is performed by the gradient-free Hooke-Jeeves algorithm and, in order to avoid local maxima, a random sampling is also applied. As input, a CSV file is required, containing one activity and several score/properties columns that you must select. Moreover, you must also specify the activity threshold to indicate when a molecule must be considered active or not. The output is shown in the VEGA ZZ console as in the following example:
  File name.....................: bestranking.csv
  Activity column...............: ACTIVITY
  Activity range................: 0.00 - 1.00
  Activity threshold............: 0.50
  Number of molecules...........: 2513
  Number of active molecules....: 38
  Max. minimization steps.......: 5000
  RMS to stop minimization......: 0.001
  Random sampling steps.........: 36
  Random selection probability..: 1.51 %

  Score = 1.0000 SCORE_0000 + 0.2309 SCORE_+000 - 0.5851 SCORE_0+00
   Top %  Mols   Act  Act %    EF
  =================================
    1.00    25     4  16.00  10.58
    2.00    50     6  12.00   7.94
    5.00   125    13  10.40   6.88
   10.00   251    18   7.17   4.74
   20.00   502    24   4.78   3.16

The coefficients of the equation are divided by the coefficient of the first term.

    
Enrichment factor optimizer.c The script uses the same approach of Enrichment factor optimizer (manual).c, introducing the automatic selection of the variables to obtain the best mathematic models in terms of enrichment factors. You can select the activity, the independent variables/molecular descriptors and scores to be combined to obtain the maximum enrichment factor. Although this script has a parallel design, it could require a long time to complete the calculation, especially when you select a large number of equation terms (more than three). You can also specify the threshold for the detection of active and inactive compounds, the number of variables used to build the models and the cluster size for the cluster analysis.
The results are sorted from best to worst enrichment factor and saved in a CSV file that can be analyzed by your preferred spreadsheet. The output file (named prefix - model.csv) includes several columns:
  • ModID = identification number of the model that are ranked by ModelScore (from the best to the worst);
  • NV = number of variables/scores used to build the model;
  • Active_N = number of active molecules in the first N percentile;
  • ActivePerc_N = percentage of the active molecules in the first N percentile;
  • EF_N = enrichment factor in the first N percentile;
  • Kurtosis = kurtosis of the histogram profile obtained by cluster analysis;
  • Skewness = skewness of the histogram profile obtained by cluster analysis;
  • ModelScore = score of the model (larger = better);
  • Model = equation of the model with calculated coefficients (if you selected more than one score);
  • ScoreMin = minimum score evaluated by the model;
  • ScoreMax = maximum score evaluated by the model;
  • Clustrer_N = percentage of active molecule in each cluster.

This script performs also the validation of the best models by building five pairs of training and external sets (with 70/30 % ratio) from the starting dataset. Training set is used to recalculate the models and external set to predict the activity. The results of this analysis are saved to prefix - valitadion.csv in which are present the same data as for the models obtained from the whole dataset with the exception of population of the clusters. The headers of the columns are named with ts and es prefix to identify respectively the training and the external sets.

 

13.3.21 Trajectory

It contains scripts for trajectory management.

Anim maker.c This script generates a trajectory file starting from the molecule in the current workspace, rotating it around one or more axis. That's useful to create video files. The parameters that the user can change are:
  • Output trajectory
    File name of the output trajectory. In the file requester, is it possible to select the output format (default Gromacs XTC).
  • XTC comp. (1-6)
    Gromacs XTC compression ratio. It has a meaning only if the Gromacs XTC format is selected as output (default 3).
  • Save the animation
    Check this gadget to save/render the animation (e.g. avi, mpeg, etc).
  • Number of frames
    Number of frames to put in the trajectory (default 50).
  • X rotation
    Rotation in degrees around the X axis (default 0). Negative values are allowed.
  • Y rotation
    Rotation in degrees around the Y axis (default 360). Negative values are allowed.
  • Z rotation
    Rotation in degrees around the Z axis (default 0). Negative values are allowed.
  • Animate
    Push this button to create the animation trajectory.
     
    
APBS trajectory.c This script calculates the solvation energy for each frame included in a MD trajectory and save the values in a CSV file. It uses APBS for Windows that is included in VEGA ZZ package. APBS is a software for modeling biomolecular solvation through solution of the Poisson-Boltzmann equation (PBE), developed by Nathan Baker in collaboration with J. Andrew McCammon and Michael Holst.

For more information about APBS, visit http://www.poissonboltzmann.org/apbs/
    
Automatic quenching.r This script extracts the frames from a trajectory file, then minimize them using AMMP or Mopac. The results will be stored to an output trajectory file. You can input some parameters:
  • Input molecule
    File name of the input molecule. When you select a molecule using Open button, Input trajectory, Output trajectory and Output energy fields are automatically updated.
  • Input trajectory
    File name of the input MD trajectory. When you select a new trajectory using Open button, Output trajectory and Output energy fields are automatically updated.
  • Output trajectory
    File name of the output trajectory. When you select a new trajectory using Open button, Output energy field is automatically updated. In the file requester, you can select the output format.
  • XTC comp. (1-6)
    Gromacs XTC compression ratio. It has a meaning only if Gromacs XTC format is selected as output.
  • Output energy file
    File in which the energy values are stored (CSV format). It's available only if Mopac is selected as Minimization type.
  • First frame
    Trajectory frame from which the quenching starts.
  • Last
    Trajectory frame to which the quenching ends.
  • Step
    Increment for the frame enumeration.
  • Minimization type
    This field allows to select the minimization type: None (nothing is performed), AMMP (molecular mechanics method based on the conjugate gradients algorithms) and Mopac (semiempirical method).
  • AMMP min. steps
    Number of minimization steps used by AMMP.
  • AMMP toler
    I's the convergence criterion used by AMMP to stop the minimization.
  • Mopac keywords
    In this field, you can put the keywords to control the Mopac calculation.
  • Calculate
    Press this button to perform the quenching. If a parameter is incorrect or missing, an error message is shown.
    
DCD fix for VMD.c All pre-3.0.0 VEGA ZZ releases write buggy DCD files that aren't readable by VMD. This scripts fix the problem patching the DCD trajectory only if the problem is detected.
    
Dump energy.c This script calculates the energy for each MD frame and dumps the molecular mechanics energy components in a CSV file. It also performs a histogram analysis.
  • Input molecule
    File name of the input molecule. When you select a molecule using Open button, Input trajectory, Output trajectory and Output energy fields are automatically updated.
  • Input trajectory
    File name of the input MD trajectory. When you select a new trajectory using Open button, Output trajectory and Output energy fields are automatically updated.
  • Output energy
    Output energy file in CSV format (Comma Separated Values). Each column contains the following data: frame number, bond, angle, torsion, hybrid, non-bond and total energies.
  • Output histogram
    Output histogram in CSV format.
  • First frame
    Trajectory frame from which the quenching starts.
  • Last
    Trajectory frame to which the quenching ends.
  • Step
    Increment for the frame enumeration.
  • Minimization type
    This field allows to select the minimization type: None (nothing is performed), AMMP (molecular mechanics method based on the conjugate gradients algorithms) and Mopac (semiempirical method).
  • AMMP min. steps
    Number of minimization steps used by AMMP.
  • AMMP toler
    I's the convergence criterion used by AMMP to stop the minimization.
  • Mopac keywords
    In this field, you can put the keywords to control the Mopac calculation.
  • Calculate
    Press this button to perform the quenching. If a parameter is incorrect or missing, an error message is shown.
    
Enantiomerizer.r It converts the trajectory to another format inverting all chiral atoms. You can specify the following parameters:
  • Input traj.
    File name of the input trajectory. Clicking Open button, the file requester is shown.
  • Output traj.
    File name of the output trajectory.
  • Output format
    File format of the output trajectory.
  • Compression
    Compression level. It has an effect only if XTC format is selected.
  • Append if the file exists
    If it's checked and the output trajectory exists, the converted frames are appended.
  • Consider selected atoms only
    If it's checked, the active (visible) atoms only are saved into the new trajectory.
  • Swap endian
    If it's checked, the endian of the converted trajectory is swapped. This function has an effect only if the DCD format is selected.

Click Go ! button to start the conversion and Cancel button to close the window.

    
Frame extractor.r It extracts the frames from a trajectory file (Input Traj.), saving them in the specified directory (Output Dir.). You can change Quenching step, Output format and Compression method.
    
NAMD SMD force plot.c This script shows the force/frame, force/distance and distance/frame of a steered molecular dynamics simulation by reading the NAMD output file.
    
PELE PDB fix.c This script fixes the non-standard PDB files generated by PELE to be read by VEGA ZZ.
For more information about PELE, click here.
   
Ramachandran.c

This script performs the Ramachandran analysis for each trajectory frame. Before running it, you must open a trajectory file. For each frame, the Phi and Psi backbone torsion angles are measured and evaluated if they are inside or outside the Ramachandran permission areas. For each frame is calculated the percentage referred to the total number of the residues and these values are visualized in a plot. This calculation is useful to highlight the secondary structure evolution during a MD simulation. If the percentage of the residues (Phi and Psi values) inside the permission areas is decreasing during the simulation, it means that the secondary structure evolves to a worse situation. Vice versa, if the percentage is growing, the secondary structure is improving.

    
SDF export.c It converts the current trajectory in a SDF database. Each structure in the database is equivalent to each frame in the trajectory file.
    
Water remover.r

It eemoves all water molecules from a trajectory converting it into a PDB multimodel file. This script is obsolete and it's maintained as example only. The same function is now implemented in VEGA ZZ without external scripts. 

 

13.3.22 Utilities

This directory includes the generic scripts. Some of these require REBOL/View.

Bin2h.c This script for developers converts a binary file to a C header file including a bite vector or a Base64 encoded string. In this last case, to decode the data, you can use HD_Base64EncodeMem() HyperDrive function by including hdbase64.h file.
   
Calculator.r Simple calculator (script by Ryan S. Cole).
    
Calendar.r Calendar and scheduler (script by Sterling Newton).
    
Clock.r Digital clock (script by Carl Sassenrath).
    
Console.r It opens the REBOL console.
   
CPU load.c It shows the CPU load in a small window.
    
Image viewer.r Image viewer.

 


14.1 Introduction to extended commands

VEGA ZZ can interpret commands with extended syntax that can be sent trough the console window, the  windows class port and the TCP/IP port (PowerNet plug-in).  The syntax of these commands is:

 

COMMAND_NAME   ARG1    ARG2 ...

 

The command name is case insensitive and the number of arguments is typical of each command. The arguments must be separated by one or more spaces. As shown in the following table, the argument types can be:

 

Type Description
BOOL Boolean value (0 = false, 1 = true).
CHAR ANSI character string. If it contains one or more spaces, you must use the double quotes " at the beginning and at the end of the string (e.g. "Hello World").
MCHAR Multiple selection string. The MCHAR argument must be a specific keyword (string).
FLOAT Floating point number with standard C format (the decimal separator must be a dot (.) and not a comma (,)).
UFLOAT Unsigned floating point number.
INT Integer number.
UINT Unsigned integer number.

 

In order to interpret much easier the syntax of the commands present in this guide, each argument is highlighted indicating its type (BOOL, CHAR, INT, etc).

 

14.1.1 Command index

Command     Type     Description
ACTIVATE Ogl Activate the main window giving the input focus on it.
ADDHYDROG Std Add hydrogens.
ADDIONS Std Add ions.
AMMPSEND Ogl Send a command string to AMMP.
AMMPSENDMOL Ogl Send the molecule in the current workspace to AMMP.
AMMPSETFF Ogl Set the AMMP force field.
AMMPSTARTCALC Ogl Notify to VEGA ZZ that a new AMMP calculation being to start.
AMMPUPDATEFREQ Ogl Set the AMMP update frequency for output files.
ANGLE Ogl Measure the bond angle.
ANTIALIAS Ogl Enable/disable the anti-aliased visualization.
ASSIGNBNDORD Std Assign the bond order.
ATMADD Std Add a new atom.
ATMBEGINUPDATE Std Notify to the system a massive atom update.
ATMBOND Std Bind/unbind two atoms or change the bond order.
ATMDELETE Std Delete one or more atoms.
ATMENDUPDATE Std Notify to the system that the update is finish.
ATMFIND Std Find an atom by element, atom name and atom type.
ATMGET Std Get an atom property.
ATMINVCHIRALITY   Std   Invert the chirality center.
ATMSET Std Set an atom property.
BACKCOLOR Ogl Change the background color.
BALLSTICKPROP Ogl Change the ball & stick visualization properties.
BEGINCALC   Ogl   Notify to VEGA ZZ that an asynchronous calculation being to start.
BIODOCK Ogl Start a BioDock background calculation.
BUILD3D   Ogl   Convert a structure to 3D.
BUILDDNA   Std   Build a nucleic acid from its nucleotide sequence.
BUILDPEPT   Std   Build a peptide from its amino acid sequence.
CHARGE Std Assign the atomic partial charges.
CHDIR Std Change the current directory.
COLOR Ogl Change the color of the current selection.
COLORIDDLG Gen Show the predefined color dialog box.
COLORRGBDLG Gen Show the RGB color table.
CONCLRHIST Ogl Clear the console command history buffer.
CONCLS Ogl Clear the console line buffer.
CONNBUILD Std Build the atom connectivity.
CONNDESTROY Std Destroy the atom connectivity.
CONREC   Ogl   Record the console output as log file.
CONRECPAUSE   Ogl   Pause the log recording.
CONRECRESUME   Ogl   Resume the log recording after pause.
CONRECSTOP   Ogl   Stop the log recording.
CONSAVE Ogl Save the console output to text file.
CONSET Ogl Set the console line buffer size and the command history size.
CONWIN Ogl Change the position and the size of the console window.
COPY Ogl Copy the current molecule to the clipboard.
COPYTEXT Ogl Copy a string to the clipboard.
CPKPROP Ogl Change the CPK visualization properties.
CPUFINDFILE Std Check if an executable is present and choose the best available for the installed CPU.
CTORCLEAR Ogl Clear all torsions.
CTORFIND Ogl Find the torsions to perform a calculation (conformational search, trajectory analysis, etc).
CTORGET Ogl Get the properties of a torsion angle.
CURSOR Ogl Change the mouse cursor.
DBCLOSE Dbase Close a database.
DBCREATE Dbase Create a new empty database.
DBGET Dbase Extract a molecule from the database specifying its name.
DBGETID Dbase Extract a molecule from the database specifying its identification number (ID).
DBGETMOLNAME   Dbase   Get the molecule name by database handle and molecule ID.
DBGETROWID   Dbase   Extract a molecule from the database specifying its primary key (row ID).
DBINFO Dbase Obtain the value of a database variable.
DBLOCK   Dbase   Lock/unlock an existing database.
DBOPEN Dbase Open an existing database.
DBPUT Dbase Put the current molecule to the database.
DBREOPEN   Dbase   Open a database already open and return the handle.
DBSETMOLNAME   Dbase   Set the molecule name by database handle and molecule ID.
DBSORTMOLNAMES   Dbase  

Sort alphabetically the molecule names of a database.

DBSQLEXEC   Dbase   Execute SQL commands.
DNSQLTABLEINFO   Dbase   Return the table structure of a SQL database.
DBUPDATE   Dbase   Update the current molecule in the specified database.
DEPTHCUE Ogl Enable/disable the depth cueing.
DIRDLG Gen Show the directory dialog box.
DISTANCE Ogl Measure the distance between two atoms.
ENDCALC   Ogl   Notify to VEGA ZZ that an asynchronous calculation is finished.
ENEPARGET Gen Get a parameter used for the MM energy evaluation.
ENEPARSET Gen Set a parameter used for the MM energy evaluation.
ERRMSG Std Return the error message.
FINGERPRINT   Std   Calculate the fingerprint of the molecule in the current workspace.
FIXAROM Std Fix the aromatic rings replacing the conjugated bonds with partial double bonds.
FORCEFIELD Std Assigns the atom types.
FPSIMILARITY   Std   Compare two fingerprints and return the similarity index.
GET Std Get the value of a specific internal variable.
GRAPHACTIVATE Ogl Activate the current graph window giving the input focus to it.
GRAPHADD Ogl Add a point value to the chart.
GRAPHBEGINUPDATE Ogl Notify to the graph window that it will be massively updated.
GRAPHCALC Ogl Calculate a statistical value.
GRAPHCLOSE Ogl Close the Graph Editor window.
GRAPHDELETE Ogl Delete a point.
GRAPHDERIVATIVE Ogl Calculate the derivative of the plot.
GRAPHENDUPDATE Ogl Notify to the graph window that the update is finish.
GRAPHEXCEL Ogl Export the data to Microsoft Excel.
GRAPHGET Ogl Get the point values.
GRAPHLABELX Ogl Set the X axis label.
GRAPHLABELY Ogl Set the Y axis label.
GRAPHLOAD Ogl Load the graph data file.
GRAPHMAXIMIZE Ogl Maximize the graph window.
GRAPHMINIMIZE Ogl Minimize the graph window.
GRAPHNEW Ogl Clear all data in the chart.
GRAPHNR Ogl Remove the noise from the plot signal.
GRAPHOPEN Ogl Open the Graph Editor window.
GRAPHPRINT Ogl Print the current plot.
GRAPHRESTORE Ogl Restore the position and the size of the graph window.
GRAPHSAVE Ogl Save the graph data to a file.
GRAPHSET Ogl Set the point values.
GRAPHSETCUR Ogl Set the current Graph Editor window.
GRAPHSPECTRUM Ogl Calculate the frequency spectrum using the Discrete Fourier Transformation (DFT).
GRAPHTITLE Ogl Set the chart title.
GRAPHTOCLIP Ogl Copy the plot to clipboard (Enhanced WMF).
GRAPHTYPE   Ogl   Set the chart type (bar, line, pie and mass).
GRAPHWIN Ogl Change the position and the size of the Graph Editor window.
IONIZE   Std   Ionize the molecule according to its acid/base groups and the specified pH.
ISODIST   Std   Calculate the isotopic distribution of a molecule formula.
LIGHT Ogl Enable/disable the lighting.
LIGHTAMB Ogl Enable/disable the ambient light.
LIGHTAMBCOLOR Ogl Change the ambient light color.
LIGHTCUR Ogl Set the current light source.
LIGHTCURDIFCOL Ogl Change the diffuse color of the current light source.
LIGHTCUREN Ogl Enable/disable the current light source.
LIGHTCURPOS Ogl Set the position of the current light source.
LIGHTCURSPECCOL Ogl Change the specular color of the current light source.
LOGOPOS Ogl Enable/disable the VEGA ZZ logo visualization and set its position.
LOGOSCALE Ogl Set the VEGA ZZ logo scale factor.
MAINWIN Ogl Change the position and the size of the main window.
MATSHINY Ogl Change the material shininess.
MATSPECULAR Ogl Change the material specularity.
MATVECTSPEC Ogl Enable/disable the vector specularity.
MENUENABLE   Ogl   Enable/disable the main menu.
MESSAGEBOX Gen Show a message box.
MERGE Std Merge the loaded molecule with one or more parts of another molecule.
MINIED Gen Open the mini text editor.
MOLDELETE   Std   Delete a molecule in the current workspace.
MONITORPOWER   Ogl   Change the monitor power status (CRT).
MOVIEADD Ogl Add a new frame to the movie file.
MOVIECLOSE Ogl Close the movie.
MOVIECREATE Ogl Create a new movie file (AVI, MPEG1 and MPEG2-VOB).
MOPAC Ogl Start a Mopac background calculation.
MSGERRMODE Std Set the mode used to show an error message.
MULTISELDLG Gen Show the multiselection dialog box.
MUSICPLAY Fmod Play a music file in .mod, .s3m, .xm, .it, .mid, .rmi, .sgt and .fsb format.
MUSICSTOP Fmod Stop the music.
NEW Std Clean all objects.
OPEN Std Open molecules/surface/trajectory by file name or URL.
OPENDATADIR   Ogl   Explore the data directory.
OPENEX   Std   Open molecules/surface/trajectory by file name or URL (extended version),
OPENDLG Gen Show the requester to open a file.
PLANEANG Ogl Angle between two planes.
PLUGINABOUT Ogl Show the plugin about information.
PLUGINCALL Ogl Call a plug-in user function.
PLUGINCONFIG Ogl Open the plugin configuration dialog.
PLUGINGET Ogl Get the value of a specific internal variable.
PLUGINHELP Ogl Show the plugin help.
REFRESH Ogl Force the main window refresh.
REMATOMS Std Remove one or more atoms using the pattern matching.
REMINVATOMS   Std   Remove the invisible atoms.
REMVISATOMS   Std   Remove the visible atoms.
RESETVIEW   Ogl   Reset the current view, resetting rotations, translations and scale factor.
ROTATE Ogl Rotate the active object.
ROTATEVIEW   Ogl   Rotate the point of view.
SAVE Std Save the molecule.
SAVEDLG Gen Show the requester to save a file.
SAVEMOLDLG   Gen   Show the requester to save a molecule.
SAVEIMG Ogl Save the current view as bitmap or vector graphics.
SAVEIMG2D   Ogl   Save the current molecule as 2D sketch.
SCORE   Std   Evaluate the interaction energy of a complex.
SECSTRUCT   Std   Change the secondary structure of a peptide.
SELECT Ogl Show atoms using the pattern matching.
SELPROX   Ogl   Show atoms or residues included in a sphere around specified atoms.
SELRANGE Ogl Show an atom or a residue range.
SELSMARTS   Pgl   Show atoms according to the SMARTS string.
SETLASTFILENAME   Ogl   Set the pre-defined name used to open a file.
SEGDELETE   Std   Delete a segment of a molecule in the current workspace.
SHUTDOWN Ogl Shutdown the system.
SMARTMOVE Ogl Enable/disable the SmartMove operation.
SMARTMOVEATM Ogl Change the atom threshold to auto enable the SmartMove.
SMARTSCOUNT   Std   Count the number of recurrences in the current molecule for a given SMARTS query.
SMILES   Std   Convert a SMILES string to a 3D structure.
SONGPLAY Fmod Start the streaming of a song file in in MPEG layer 2/3, Wav, WMA, ASF and RAW format.
SONGSTOP Fmod Stop the streaming.
SONGVOL Fmod Set the music volume.
SOUNDEFFECTS Ogl Enable/disable the sound effects for event notification.
SRFALPHA Ogl Enable/disable the alpha blending (transparency) of the current surface.
SRFALPHAVAL Ogl Set the alpha blending value (transparency level) to the current surface.
SRFCALC Std Calculate and show the molecular surface.
SRFCOLOR Ogl Change the surface color.
SRFCOLORBY Ogl Color the surface by a specific method.
SRFCOLORGRAD Ogl Color the surface by property using a gradient.
SRFDOTSIZE Ogl Set the dot size of the current surface.
SRFGRAD Ogl Define a new color gradient that can be used to color a surface by property.
SRFGRADAUTORNG Ogl Enable/disable the automatic range detection of the surface property values.
SRFGRADRANGE Ogl Define a range of property values to perform standardized gradient colorizations.
SRFREMOVE Std Remove the current surface from the current workspace.
SRFREMOVEALL Std Remove all surfaces from the current workspace.
SRFRENAME   Std   Rename the current surface.
SRFSAVE Std Save the specified surface.
SRFSETCUR   Std   Make current the specified surface.
SRFVISIBLE Ogl Make the current surface visible or not.
STICKPROP Ogl Change the stick visualization properties.
STRINGBOX Gen Open the string dialog box.
TEXT Gen Show a message in the console.
TORSION Ogl Measure a torsion angle.
TRACEPROP Ogl Change the trace visualization properties.
TRANSLATE Ogl Translate the active object.
TRJANIMPLAY Ogl Start the trajectory animation playback.
TRJANIMSET Ogl Set the trajectory animation range.
TRJANIMSPEED Ogl Set the trajectory animation speed.
TRJANIMSTOP Ogl Stop the animation playback.
TRJCLOSE Std Close a trajectory stream.
TRJCLUSTCOORD   Std   Perform the cluster analysis of the conformers included into the current trajectory by their atom coordinates.
TRJCLUSTTOR   Std   Perform the cluster analysis of the conformers included into the current trajectory by their values of the torsion angles.
TRJCLUSTTORRMSD   Std   Perform the cluster analysis of the conformers included into the current trajectory by RMSD differences of their torsion angles.
TRJCREATE Std Create a new trajectory stream.
TRJGRAPHENE Ogl Show the energy data in the Graph Editor.
TRJOPEN Std Open a trajectory file to analyze it.
TRJSAVE Std Save the current trajectory converting it into the specified file format.
TRJSEL Std Select the trajectory frame by number.
TRJSELFIRST Std Select the first frame of the trajectory.
TRJSELLAST Std Select the last frame of the trajectory.
TRJWRITE Std Write a frame into the trajectory stream.
TUBEPROP Ogl Change the tube visualization properties.
TURBO   Ogl   Enable/disable the turbo mode.
TURBOEX   Ogl   Enable the turbo mode changing the default message.
UNDOENABLE   Ogl   Enable/disable the undo buffer.
UNDOPOP   Ogl   Pop from the undo buffer.
UNDOPUSH   Ogl   Push the current molecule into the undo buffer.
UNSELECT Ogl Hide the atoms using the pattern matching.
UNSELPROX   Ogl   Hide atoms or residues included in a sphere around specified atoms.
UNSELRANGE Ogl Hide an atom range or a residue range.
UNSELSMARTS   Ogl   Hide atoms according to the SMARTS string.
UPDATELASTFILE Ogl Enable/disable the update of the last file menu.
VGLBEGIN Ogl Begin a new graphic primitive.
VGLCOLOR Ogl Change the current color.
VGLCOLORRGB Ogl Change the current color using the RGB scheme.
VGLDISABLE Ogl Disable a function used in the rendering pipeline.
VGLENABLE Ogl Enable a function used in the rendering pipeline.
VGLEND Ogl End the VGLBEGIN section.
VGLGROUPBEGIN Ogl Begin a group of primitives.
VGLGROUPEND Ogl End the group of primitives.
VGLGROUPHIDE Ogl Hide a group of objects.
VGLGROUPREMOVE Ogl Remove a group of objects.
VGLGROUPSHOW Ogl Show a group of objects.
VGLINIT Ogl Initialize the rendering pipeline.
VGLLABEL Ogl Add a new text label.
VGLLINEWIDTH Ogl Change the line width.
VGLLOADIDENTITY Ogl Replace the current matrix with the identity matrix.
VGLNORMAL Ogl Change the current normal vector used to calculate the lighting effects.
VGLPOINTSIZE Ogl Change the point size.
VGLPOPMATRIX Ogl Pop the current matrix from the stack.
VGLPUSHMATRIX Ogl Push the current matrix to the stack.
VGLRADIUS Ogl Change the x, y, z radii at the same time.
VGLRADIUS3 Ogl Change the x, y, z radii.
VGLROTATE Ogl Multiply the current matrix by a rotation matrix.
VGLSCALE Ogl Multiply the current matrix by a general scaling matrix.
VGLTRANSLATE Ogl Multiply the current matrix by a translation matrix.
VGLVERTEX Ogl Add a new vertex to the current primitive.
VOLUME Std Calculate the molecular volume.
WIREPROP Ogl Change the wire frame visualization properties.
WKSCHANGE Ogl Change the current workspace.
WKSCPYATM   Ogl   Copy the atoms from a workspace to another one.
WKSLOCK Ogl Lock the current workspace.
WKSNEW Ogl Create a new workspace and select it.
WKSNEXT Ogl Go to the next workspace.
WKSPREV Ogl Go to the previous workspace.
WKSREM Ogl Remove a workspace.
WKSREMALL Ogl Remove all workspaces.
WKSREMCUR Ogl Remove the current workspace.
WKSSETNAME Ogl Set the workspace name.
WKSUNLOCK Ogl Un lock the current workspace.
ZCLIP Ogl Set the Z clipping.
ZOOM Ogl Set the zoom factor.
   
Dbase = Database commands.
Fmod    = FMod commands.
Gen = Generic commands.
Ogl = OpenGL commands.
Std = Standard commands.
 

14.2 Standard commands

In this section, you can find the VEGA ZZ standard commands:

 

 

ADDHYDROG    (MCHAR)MolType   (MCHAR)HPos   (BOOL)IupacNames   (BOOL)ActiveOnly
Add the hydrogens to molecule in the current workspace. If the hydrogens are already present, they are removed before to add the new ones.

Parameters:
MolType   

Molecule type: GEN (generic organic), GENBO (generic organic, bond order method), NA (nucleic acid), NABO (nucleic acid, bond order method), PROT (protein) and PROTBO (protein, bond order method). Use the bond order method if the molecule has a 2D/3D structure and defined bond order (e.g. single, partial double, double, triple). The standard method doesn't work properly if the molecule structure is distorted or 2D.

HPos

Hydrogen position in the atom list. It must be HEAVYATM (the hydrogens are placed after each heavy atom) or RESEND (the hydrogens are placed at the end of each residue).

IupacNames

If it's true (1), IUPAC hydrogens name convention is used.

ActiveOnly

If it's true (1), the hydrogens are added to active (visible) atom only.

Return values:
The number of added hydrogens.

 

Example:
ADDHYDROG   GEN   RESEND   1   0

 

See also:
ADDIONS.


ADDIONS    (CHAR)Element   (INT)Charge   (UINT)Ions   (FLOAT)ExclAtomRad   (FLOAT)ExclIonRad   (FLOAT)GridStep   (FLOAT)BoxThick
Add counter ions to the molecule in the current workspace. For more information about the method, click here.

Parameters:
Element    Counter ion element (e.g. Na, K, Mg, Cl, etc).
Charge Ion charge (e.g. 1, 2, -1, etc).
Ions Number of ions to add.
ExclAtomRad Atom-ion closest distance.
ExclIonRad Ion/ion closest distance to reduce the electrostatic repulsion.
GridStep Grid step to build the grid used to place the ions.
BoxThick Box thickness surrounding the molecule.

Return values:
Error code if it fails.

 

Example:
ADDIONS   Na   1   5   6.5   11   0.5   10

 

See also:
ADDHYDROG.


ASSINGBNDORD    (BOOL)ActiveOnly
Assign the bond order (single, partial double, double and triple) to the molecule in the current workspace. This command works properly if all hydrogens are present.

Parameters:
ActiveOnly    If it's true (1), the command assigns the bond order to active atoms only.

Return values:
Error code if it fails.

 

Example:
ASSIGNBNDORD   0

 

See also:
ADDHYDROG, CONNBUILD, CONNDESTROY.


ATMADD
Add a new atom to the current workspace. The atom is placed at (0, 0, 0) coordinates, the default element is carbon (C), the atom  name is C, the residue name is UNK, the residue number is 1, the atom charge is 0, the atom type is ? and the color is green. To change these default properties see ATMSET command.

 

Parameters:
None.

 

Return values:
If the command fails, 0 is returned, otherwise the atom number is returned.

 

Example:
ATMADD

 

See also:
ATMBEGINUPDATE, ATMBOND, ATMDELETE, ATMENDUPDATE, ATMGET, ATMSET.


ATMBEGINUPDATE
Notify to the system a massive atom update. This command increases the performances of next atom-related commands.

 

Parameters:
None.

 

Return values:
Error code if it fails.

 

Example:
ATMBEGINUPDATE

 

See also:
ATMADD, ATMENDUPDATE, ATMGET, ATMINVCHIRALITY, ATMSET.


ATMBOND   (UINT)AtomNumber1   (UINT)AtmNumber2   (MCHAR)BondOrder
Bind/unbind two atoms or change the bond order if they are already bound.

Parameters:
AtomNumber1    Number of the first atom.
AtomNumber2 Number of the second atom.
BondOrder

The bond order can be: NONE (unlink two atoms), SINGLE, PARDOUBLE (partial double bond, aromatic), DOUBLE and TRIPLE.

Return values:
If the command fails, 0 (false) is returned, otherwise 1 (true) is returned.

 

Example:
ATMBOND   1   7   NONE
ATMBOND   4   9   SINGLE
ATMBOND   4   9   DOUBLE

 

See also:
ATMBEGINUPDATE, ATMADD, ATMENDUPDATE, ATMGET, ATMINVCHIRALITY, ATMSET.


ATMDELETE   (UINT)AtomNumber   (UINT)AtomsToDelete
Delete one or more atoms. The identification number of undeleted atoms is automatically renumbered and so the atom IDs could not be the same before the deletion.

Parameters:
AtomNumber    Number of the first atom to delete.
AtomsToDelete Total number of atoms to delete.

Return values:
The command returns the number of deleted atoms.

 

Example:
ATMDELETE   12   1
ATMDELETE   24   9

 

See also:
ATMBEGINUPDATE, ATMADD, ATMENDUPDATE.


ATMENDUPDATE
Notify the end of the atom update.

 

Parameters:
None.

 

Return values:
Error code if it fails.

 

Example:
ATMENDUPDATE

 

See also:
ATMBEGINUPDATE, ATMADD, ATMGET, ATMINVCHIRALITY, ATMSET.


ATMFIND   (MCHAR)Mode   (UINT)FirstAtom   (CHAR)String
Find an atom by element or atom name or atom type.

Parameters:
Mode   

Search mode: ELEM for atom element, NAME for atom name and ATMTYP for atom type.

FirstAtom

The first atom from which the search starts.

String

String to find. It could be: atom element (1 one or two characters, case insensitive), selection string (in standard VEGA ZZ format with/without wildcards), and atom type. The atom type search can be used only if the force field is applied to the molecule (see FORCEFIELD).

Return values:
The command returns the atom number of the first atom that satisfy the search criteria. If no atom is found, 0 is returned.

 

Example:
ATMFIND   ELEM   1   N
ATMFIND   NAME   1   C1
ATMFIND   NAME   25   CA:ALA
ATMFIND   NAME   1   N*:VAL:*:*:1
ATMFIND   ATMTYP 1 cp

 

See also:
ATMGET, ATMINVCHIRALITY.


ATMGET   (UINT)AtomNumber    (MCHAR)Property
Get a property of the specified atom number.

Parameters:
AtomNumber    Atom number.
Property Atom property to obtain.
  
Property Type Value range Size Description
Active BOOL 0-1 1 It it's true (1), the atom is active (visibile), otherwise the atom is inactive (invisible).
Chain CHAR - 1 Chain ID.
Color CHAR - 1-2 Atom color (see COLOR for the color names).
Connect CHAR - 0-6 words It's a string containing from 0 to 6 number corresponding to the connected atoms. If no atom is connected, an empty string is returned.
Coord CHAR - 3 words It's a string containing the three atom coordinates in floating point format.
DrawMode UINT 0-9 1

Atom draw mode. It can be:

DrawMode Description
0 Wireframe.
1 CPK/Van der Waals dotted.
2 CPK/Van der Waals wireframe.
3 CPK/Van der Waals solid.
4 Ball & stick wireframe.
5 Ball & stick solid.
6 Stick wireframe.
7 Stick solid.
8 Tube solid.
9 Trace solid.
Elem CHAR - 1-2 Atomic element.
Fix FLOAT - - Constraint value for MD. For more information, click here.
Flags INT - - Atom flags. They can be combined by OR operator or sum.
Value Description
0 None.
1 HETATM flag.
2 The atom is the last one in the segment.
4 The atom is the last one in the molecule.
8 The atom is a centroid.
16 The atom is a fixed centroid.
32 It's an organic atom.
64 The atom will not considered in the MD trajectory analysis.
Label UINT 0-10 1-2 Label shown. It can be:
Value Description
0 None
1 Atom name
2 Element
3 Atom number
4 Atom type
5 Charge
6 Chirality
7 Constraint value
8 Residue name & number
9 Residue name
10 Residue number
Name CHAR - 1-4 Atom name.
NSost UINT 0-6 1 Number of connected atoms.
ResName CHAR - 1-4 Residue name.
ResSeq CHAR - 1-4 Residue number.
Type CHAR - 1-8 Atom type (force field).

Return values:
The requested atom property or an error if it fails.

 

Example:
ATMGET   12   COORD

 

See also:
ATMBEGINUPDATE, ATMADD, ATMFIND, ATMINVCHIRALITY, ATMSET, ATMENDUPDATE.


ATMINVCHIRALITY   (UINT)AtomNumber
Invert the chiral center if it's chiral.

Parameters:
AtomNumber    Atom number.

Return values:
None.

 

Example:
ATMINVCHIRALITY   10

 

See also:
ATMBEGINUPDATE, ATMADD, ATMGET, ATMFIND, ATMSET, ATMENDUPDATE.


ATMSET   (UINT)AtomNumber    (MCHAR)Property    (CHAR)Value
Set a property of the specified atom number.

Parameters:
AtomNumber    Atom number.
Property

Atom property to set. For the property list see ATMGET command but remember that Connect and NSost are read-only properties and can't be changed with this command.

Value New property value.

Return values:
Error code if it fails.

 

Example:
ATMSET   30   COLOR   GREEN

 

See also:
ATMBEGINUPDATE, ATMADD, ATMGET, ATMFIND, ATMINVCHIRALITY, ATMENDUPDATE.

 


BUILDDNA   (CHAR)Sequence    (MCHAR)Type   (INT)Flags
Build a nucleic acid from its nucleotide sequence. If the current workspace is not empty (use GET TotAtm to check it), the current molecule will be lost. To avoid that, check if the current workspace is empty and if it's not true, create a new one (WKSNEW).

Parameters:
Sequence    Nucleotide sequence (single character format).
Type   Type of nuclei acid structure to build:

 

Type Description
ADNA Right handed A-DNA (Arnott).
ABDNA Right handed B-DNA (Arnott).
LBDNA Right handed B-DNA (Langridge).
SBDNA Left handed B-DNA (Sasisekharan).
ARNA Right handed A-RNA (Arnott).
APRNA Right handed A-PRIME RNA (Arnott).

 

Flags  

Extra features can be enabled through the following flags that can be combined each others by OR or sum operators:

 

Flag Description
1 Reserved.
2 Add the hydrogens.
4 Normalize the atom coordinates.
8 Build 3' 5' chain
16 Build 5' 3' chain

By default, it builds both chains (double helix).

Return values:
Error code if it fails.

 

Example:
BuildDna    ATAG   ADNA   0

BuildDna    AUCGGGAA   ARNA   16

 

See also:
BUILDPEPT, SECSTRUCT.


BUILDPEPT   (CHAR)Sequence    (FLOAT)Phi    (FLOAT)Psi   (FLOAT)Omega  (CHAR)SecStructPattern  (MCHAR)NTermCap  (MCHAR)CTermCap  (INT)Flags
Build a peptide from its aminoacidic sequence. If the current workspace is not empty (use GET TotAtm to check it), the current molecule will be lost. To avoid that, check if the current workspace is empty and if it's not true, create a new one (WKSNEW).

Parameters:
Sequence    Aminoacid sequence (single character format).
Phi

Backbone dihedral angles. Use them to specify the secondary structure. For more information about their values, click here.

Psi
Omega  
SecStructPattern   Optional pattern of the secondary structure. By this string, you can set the secondary structure for each residue according the following scheme:

 

Character code Description
H Alpha helix.
L Left-handed helix.
3 3.10 helix.
P Pi helix.
E Beta strand.
A Anti-parallel beta strand.
B Parallel beta strand
U User defined

The pattern string is case insensitive and when you specify U, the the Phi, Psi and Omega values, specified in the command, are used. If the length of the pattern string is lower than that of the residue sequence, it is applied cyclically.

NTermCap   Capping on the N-terminus. It can be: H2N-, +H3N-, HCONH- and CH3CONH-

 

CTermCap   Capping on the N-terminus. It can be: -H, -O-, -OH, -OCH3, -OCH2CH3, -NH2
Flags  

Extra features can be enabled through the following flags that can be combined each others by OR or sum operators:

 

Flag Description
1 Add the side chains.
2 Add the hydrogens.
4 Normalize the atom coordinates.

Return values:
Error code if it fails.

 

Example:
BuildPept   AAAAAAA   -57.8   -47.0   180.0   ""   +H3N-   -O-   7

BuildPept   AAAAAAA   -57.8   -47.0   180.0   "HHHHEEE"   CH3CONH-   -OCH3   7

 

See also:
BUILDDNA, SECSTRUCT.


CHDIR   (CHAR)Directory
Change the current directory. Use CURDIR variable to get it.

Parameters:
Directory    New directory path.

Return values:
Error code if it fails.

 

Example:
CHDIR   "C:\My Documents\Molecules"

 

See also:
None.


CHARGE   (CHAR)Method   (BOOL)ActiveOnly
Assign the atomic partial charges using the specified method.  For more information, click here.

Parameters:
Method   

Method to assign the atomic partial charges. You can choose: formal charges (Formal keyword), the Gasteiger-Marsili (Gasteiger keyword) method or the fragment/residue based on a pre-computed database of charges (Charmm22_Char or other keywords).

ActiveOnly

If it's true (1), the force field is assigned only to the active (visible) atoms. If it's false (0), the force field is assigned to all atoms (visible and invisible).

Return values:
Error code if it fails.

 

Example:
CHARGE    Gasteiger   0
CHARGE    Charmm22_Char   1

 

See also:
FORCEFIELD, mCalcCharge.


CONNBUILD   (UINT)Overlap    (BOOL)ActiveOnly
Build the connectivity.

Parameters::
Overlap Overlapping percentage of covalent radii to consider two bonded atoms. The most common value is 20.
ActiveOnly    If it's true (1), the command calculates the connectivity to active atoms only.

Return values:
Error code if it fails.

 

Example:
CONNBUILD   20   0

 

See also:
ASSIGNBNDORD, CONNDESTROY.


CONNDESTROY   (BOOL)ActiveOnly
Destroy the connectivity, unbinding all atoms.

Parameters:
ActiveOnly    If it's true (1), the command removes the connectivity to active atoms only.

Return values:
Error code if it fails.

 

Example:
CONNDESTROY   1

 

See also:
ASSIGNBNDORD, CONNBUILD.


CPUFINDFILE   (CHAR)FileName
Check if the specified executable or DLL file exists and return a new file name if an executable with better performances is available. 

Parameters:
FileName    Executable or DLL file name.

Return values:
An empty string if the file doesn't exist or the executable file name optimized for the installed CPU.

 

Example:
CPUFINDFILE    BioDock.exe
If your system has got an AMD Athlon and the specific executable is installed, the command returns BioDock_k7.exe.

 

See also:
None.


ENEPARGET   (CHAR)ParameterKey    (BOOL)DefaultValue
Get a parameter used by molecular mechanics energy evaluation.

Parameters::
ParameterKey    Name of the parameter.
DefaultValue If it's true (1), the default value is returned, otherwise if it's false (0), the current value is returned.

Return values:
The value associated to the parameter key.

 

Example:
ENEPARGET    AEXP   0

 

See also:
ENEPARSET.


ENEPARSET   (CHAR)ParameterKey    (CHAR)NewValue
Set a parameter used by molecular mechanics energy evaluation.

Parameters:
ParameterKey    Name of the parameter.
NewValue   New parameter value. It can be an integer or a floating point number.

Return values:
Error code if it fails.

 

Example:
ENEPARSET    AEXP   4

 

See also:
ENEPARGET.


ERRMSG   (UINT)ErrorCode
Return the error message in standard C format corresponding to the error code.

Parameters:
ErrorCode    Error code.

Return values:
Error string.

 

Example:
ERRMSG    201

 

See also:
MSGERRMODE.

 

 


FINGERPRINT   (MCHAR)Type    (MCHAR)Encoding
Calculate the fingerprint of the molecule in the current workspace.

Parameters:
Type   The fingerprint type. It can be:
      
   
Type Description
Sim Similarity fingerprint, useful for calculating similarity measures.
Sub Substructure fingerprint, useful for substructure screening.
Sub-Res Resonance substructure fingerprint, useful for resonance substructure screening.
Sub-Tau Tautomer substructure fingerprint, useful for tautomer substructure screening.
Full Full fingerprint, which has all the mentioned fingerprint types included.
Encoding   String encoding. It can be: Base64 or Hex (hexadecimal).

Return values:
The molecular fingerprint as hexadecimal string or an empty string if an error occurs.

 

Example:
FINGERPRINT    SIM   HEX

 

See also:
FPSIMILARITY.


FIXAROM   (BOOL)ActiveOnly
Fix the aromatic rings, replacing the conjugated bonds with partial double bonds.

Parameters:
ActiveOnly   If it's true (1), the active (visible) bonds only are fixed.

Return values:
The command returns the number of atoms involved in bond fix. Dividing this value by two, you obtain the number of changed bonds.

 

Example:
FIXAROM    0

 

See also:
None.


FORCEFIELD   (CHAR)Template    (BOOL)ActiveOnly   (BOOL)Quiet
Assign the atom types using the specified template. For more information, click here.

Parameters:
Template    Template name used to assign the atom types.
ActiveOnly If it's true (1), the force field is assigned to the active (visible) atoms only .
Quiet If it's true, no warning messages are shown if a problem is found in the force field assignment.

Return values:
Error code if it fails.

 

Example:
FORCEFIELD    CVFF   0   1

 

See also:
CHARGE, mCalcCharge.


FPSIMILARITY   (CHAR)FingerPrint1   (CHAR)FingerPrint2   (MCHAR)Encoding   (MCHAR)Method   (FLOAT)Alpha   (FLOAT)Beta
Compare two fingerprints and return the similarity index.

Parameters:
FingerPrint1

FingerPrint2

  Fingerprints to compare. They must have the same encoding format and must be calculated in the same way.
Encoding   String encoding. It can be: Base64 or Hex (hexadecimal).
Method   Method used for the similarity index calculation. They can be: Euclid-Sub, Tanimoto and Tversky.
Alpha

Beta

  Coefficients for Tversky method (usual values are Alpha = Beta = 0.5). These parameters are ignored for the other similarity methods.

Return values:
The command returns the similarity index (0-1 range).

 

Example:
Not applicable because the fingerprints lengths are too long to type the command directly in the console. It's only a script command.

 

See also:
FINGERPRINT.


GET   (CHAR)Variable
The command GET returns the value of an internal variable. The argument is case-insensitive and the returned value is always a character string. The result can be read from clipboard or from Result item of VGP_VEGAINFO structure if the command is sent by a plug-in (see plugin.h). SendVegaCmd retrieves the result automatically from the clipboard.

 

Standard variables:

Variable Type Description
AREA FLOAT Surface area.
ASA FLOAT Apolar surface area.
BMLIPOLE FLOAT Broto & Moreau lipole of the current molecule.
BMLOGP FLOAT Broto & Moreau log P of the current molecule.
CHARGE INT Total charge of the molecule.
CONFIGDIR CHAR Full path of Config directory.
CPUFEATURES INT 32 bit integer containing the CPU features (for x86 CPUs only).
CPUNAME CHAR Installed CPU name.
CPUS UINT Number of installed CPUs.
CPUTYPE CHAR Type, family, model and stepping of installed CPU (for x86 CPUs only).
CPUVENDOR CHAR CPU vendor.
CURDIR CHAR Current directory.
CURLANG CHAR Current language for string localization.
DATADIR CHAR Full path of data files (e.g. templates, preferences, etc).
ERRCODE UINT Last error code.
ERRSTR CHAR Last error string.
FLEXTOR UINT Number of flexible torsions.
FORMULA CHAR Molecular formula.
GCLIPOLE FLOAT Ghose & Crippen lipole of the current molecule.
GCLOGP FLOAT Ghose & Crippen log P of the current molecule.
GCMR FLOAT Ghose & Crippen molar refractivity of the current molecule.
ISWOW64 BOOL 1 (true) is VEGA is running on a 64 bit operating system.
HBACC UINT Number of H-bond acceptor atoms (N and O only).
HBDON UINT Number of H-bond donor atoms (H-N and H-O only).
HLBD FLOAT Davies' hydrophilic-lypophilic balance (HLB).
HLBG FLOAT Griffin's hydrophilic-lypophilic balance (HLB).
HLBPSA FLOAT PSA hydrophilic-lypophilic balance (HLB).
INCHI CHAR IUPAC InChI string.
INCHIAUX CHAR IUPAC InChI string + auxiliary data.
ISODIST CHAR

Isotopic distribution. The output is formatted in lines and each line contain the isotopic mass and the probability separated by one space character.

LASTFILENAME CHAR Name of the last file without path and extension.
MASS FLOAT Mass in Daltons.
MASSACT FLOAT Mass in Daltons of active atoms.
MASSMI FLOAT Monoisotopic mass in Daltons.
MOL CHAR Obtain the current molecule in IFF format with Base64 encoding.
OS CHAR Operating system (e.g. AmigaOS, Linux, Irix, Unix, Windows 95/98/ME, Windows NT/2000/XP/Vista/7/8/10).
OSFAMILY CHAR Operating system family (e.g. amigaos, unix, windows).
OVALITY FLOAT Ovality.
PRFLANG CHAR Preferred language for string localization.
PSA FLOAT Polar surface area.
SAS FLOAT Solvent accessible surface area.
SAV FLOAT Solvent accessible volume.
SAVEDIR CHAR Default path to save files.
SEQUENCE CHAR Amino/nucleic acid sequence.
SMILES CHAR SMILES string of the molecule in the current workspace.
SRFCUR UINT Current surface number.
SRFNAME CHAR Name of the current surface.
SRFTYPE UINT Current surface type (0 = dotted/unknown, 1 = mesh, 2 = solid).
TMPDIR CHAR Temporary directory.
TMPFILE CHAR Full path and file name to use as temporary file.
TOTACTATM UINT Total number of active (visible) atoms.
TOTANG UINT Total number of angles.
TOTATM UINT Total number of atoms.
TOTBOND UINT Total number of bonds.
TOTCHAIN UINT Total number of chains.
TOTCHIRAL UINT Total number of chiral centres.
TOTEZ UINT Total number of bonds with E/Z geometry.
TOTHEAVYATM UINT Total number of heavy atoms.
TOTHYDROG UINT Total number of hydrogens.
TOTIMP UINT Total number of improper angles.
TOTMOL UINT Total number of molecules. It doesn't perform any seek to find the molecules, but counts the end-of-molecule tags in the atom list. If these tags are missing or misplaced, the number of molecules could be wrong.
TOTREALMOL UINT

Real number of the molecules. It performs the seek to find the molecules, returning the real number of molecules.

TOTREALMOLACT UINT As above, but return the number of the active (visible) molecules. At least one atom must be visible to consider the whole molecule in this count.
TOTRES UINT Total number of residues.
TOTRING UINT Total number of rings.
TOTSEG UINT Total number of segments.
TOTSRF UINT Total number of surfaces.
TOTSRFDOT UINT Total number of the current surface dots.
TOTSRFTRI UINT Total number of the current surface triangles.
TOTTOR UINT Total number of torsion angles.
TRJBESTENERGY FLOAT Energy of the best frame of the current MD trajectory.
TRJBESTFRM UINT Number of the best frame of the current MD trajectory.
TRJCURENE FLOAT Energy of the current frame. It returns 0 if the energy is not available.
TRJCURFRM UINT Current frame number selected in the trajectory.
TRJSIMTIME UINT Length of the simulation (ps) of the current MD trajectory.
TRJSTARTTIME UINT Start time of the simulation (ps) of the current MD trajectory.
TRJTEMP UINT Simulation temperature (Kelvin) of the current MD trajectory.
TRJTIMESTEP UINT Time step of the current MD trajectory.
TRJTOTFRM UINT Total number of frames of the current MD trajectory.
TRJWORSEENERGY FLOAT Energy of the worse frame of the current MD trajectory.
TRJWORSEFRM UINT Number of the worse frame of the current MD trajectory.
VEGADIR CHAR Directory path where VEGA ZZ is installed.
VERSION CHAR Full VEGA ZZ version.
VLOGP FLOAT Virtual log P. If an error occurs, an empty value is returned.
VDIAM FLOAT Volume diameter.
VOLUME FLOAT Volume.

 

OpenGL variables:

Variable Type Description
BACKCOLOR UINT Background color in RGB format.
CONBUFSIZE UINT Console buffer size (lines).
CONDOCKED BOOL 1 (true) if the console is docked.
CONHISTSIZE UINT Maximum number of commands stored in the history buffer.
CONLINES UINT Number of text lines in the console.
CONPOSX UINT X screen position of console window. If the console is docked, the return value is 0.
CONPOSY UINT Y screen position of console window. If the console is docked, the return value is 0.
CONRECSTATUS UINT Console log recording status: 0 = stop, 1 = pause, 2 = run).
CONSIZEX UINT Width of the console window.
CONSIZEY UINT Height of the console window.
CONVISIBLE BOOL 1 (true) if the console is open.
GLASSWIN BOOL 1 (true) if the glass windows are enabled.
GLZBUFBITS INT Number of bits of OpenGL Z-buffer.
GLRENDERER CHAR OpenGL rendering subsystem (hardware/software).
GLVENDOR CHAR Vendor of installed graphic card.
GLVERSION CHAR OpenGL subsystem version.
GRAPHID UINT ID of the current Graph Editor window.
GRAPHLABELX CHAR X axis label of the current chart.
GRAPHLABELY CHAR Y axis label of the current chart.
GRAPHPOINTS UINT Number of the points  of the current chart.
GRAPHPOSX UINT X screen position of Graph Editor window.
GRAPHPOSY UINT Y screen position of Graph Editor window.
GRAPHSIZEX UINT Width of Graph Editor window.
GRAPHSIZEY UINT Height of Graph Editor window.
GRAPHTITLE CHAR Current chart title.
GRAPHVISIBLE BOOL 1 (true) if the Graph Editor window is open (obsolete, only for backwards compatibility.
ISFULLSCREEN BOOL 1 (true) if the full screen mode is enabled.
ISLOCKED BOOL 1 (true) if the session is locked.
ISRUNNING BOOL 1 (true) if a background calculation is running (e.g. Ammp, Mopac, NAMD, etc).
LIGHT BOOL 1 (true) if the light is enabled.
LIGHTAMB BOOL 1 (true) if the ambient light is enabled.
LIGHTAMBCOLOR UINT Ambient light color.
LIGHTCUR UINT Number of the current light sources (from 0 to 3).
LIGHTCURDIFCOL UINT Diffuse color of the current light source.
LIGHTCUREN BOOL 1 (true) if the current light source is enabled.
LIGHTCURSPECCOL UINT Specular color of the current light source.
LIGHTCURPOS CHAR Position of the current light source. It's a string containing a vector (X, Y, Z coordinates).
LOGOPOS UINT Position of VEGA ZZ logo:
Value Position
0 Logo disabled
1 Top left
2 Top center
3 Top right
4 Center left
5 Centered
6 Center right
7 Bottom left
8 Bottom center
9 Bottom right
LOGOSCALE FLOAT Scale factor of VEGA ZZ logo (default 0.5).
MAINSIZEX UINT Width of main window.
MAINSIZEY UINT Height of main window.
MAINPOSX UINT X screen position of main window.
MAINPOSY UINT Y screen position of main window.
MATSHINY UINT Material shininess.
MATSPECULAR UINT Material specularity.
MATVECTSPEC BOOL 1 (true) if the vector specularity is enabled.
MOPACEXE CHAR Full path and file name of Mopac executable.
MSAA UINT Multisample anti-aliasing value (0-16x, 0 = disabled).
PORTNUM UINT Number of communication port.
ROTX FLOAT X rotation of scene (degree).
ROTY FLOAT Y rotation of scene (degree).
ROTZ FLOAT Z rotation of scene (degree).
SCALE FLOAT Visualization scale.
SCREENDEPTH UINT Screen depth in bit per pixel (8, 16, 24, 32).
SCREENX UINT Screen width.
SCREENY UINT Screen height.
SCRIPTSDIR CHAR Scripts directory.
SKYBOXENABLED BOOL 1 (true) if the SkyBox/SkyVision is enabled.
SKYBOXNAME CHAR Name of the current SkyBox.
SKYBOXOFFSETX FLOAT X offset of the current SkyBox.
SKYBOXOFFSETY FLOAT Y offset of the current SkyBox.
SKYBOXROTX FLOAT X rotation (degree) of the current SkyBox.
SKYBOXROTY FLOAT Y rotation (degree) of the current SkyBox.
SKYBOXROTZ FLOAT Z rotation (degree) of the current SkyBox.
SOUNDEFFECTS BOOL 1 (true) if the sound effects are enabled.
SRFALPHA BOOL 1 (true) if the surface alpha blending (transparency) is enabled.
SRFALPHAVAL UINT Alpha value of the current surface (from 0 to 255).
SRFDOTSIZE UINT Dot size of the current surface used for visualization (from 1 to 10). It returns 0 if no surface is available.
SRFVISIBLE BOOL 1 (true) if the current surface is visible.
TOTCTOR UINT Total number of torsions angles (dihedral) usable for a calculation.
TRANSX FLOAT X translation of scene.
TRANSY FLOAT Y translation of scene.
TRANSZ FLOAT Z translation of scene.
WINHANDLE UINT Main window handle.
WKSCURNUM UINT Progressive number (ID) of the current workspace. 0 is the main workspace and it's always present.
WKSCURNAME CHAR Name of the current workspace.
WKSLOCKED BOOL Check if the workspaces are locked (1) or not (0). To lock/unlock workspaces, use WKSLOCK and WKSUNLOCK.
WKSTOT UINT Number of workspaces. It's at least greater or equal to 1.

 

Return values:
The value of the specified variable.

 

Example:
GET   TOTATM

 

See also:
PLUGINGET.


IONIZE   (MCHAR)Method   (FLOAT)pH   (FLOAT)pH_Tol   (INT)Flags
Ionize the molecule according to its acid/base groups and the specified pH. If the hydrogens are not already present, you must call ADDHYDROG before this command.

Parameters:
Method    Method used to assign the pKa values to the ionizable groups. At this time, only FAST method is implemented.
pH   Enviroment pH.
pH_Tol   pH tolerance used to discriminate between protonated or non-protonated forms of a given ionizable group (usually 1-2 pH units).
Flags    
      Extra features can be enabled through the following flags that can be combined each other by OR or sum operators:
   
Flag Description
1 Only the active (visible) atoms are considered.
2 If a hydrogen is added, it is paced at the end of each residue).
4 Use IUPAC names when add the hydrogens.

Return values:
Error code if it fails.

 

Example:
IONIZE     FAST   7.4   1   0

 

See also:
ADDHYDROG, ADDIONS.


ISODIST   (CHAR)Formula
Calculate the isotopic distribution of a chemical formula.

Parameters:
Formula    Chemical formula..

Return values:
This command return a multi-line string containing the isotopic distribution. Each line consists of isotopic mass and probability (%) separated by one space character.

 

Example:
ISODIST     C6H12O6

 

180.06338812 100.00000000
181.06674296 6.48943698
181.06760500 0.22855539
181.06966486 0.13801587
182.06763390 1.23299618
182.07009779 0.17546997
182.07095983 0.01483196
182.07182187 0.00021766
182.07301970 0.00895645
182.07388174 0.00031544
183.07098873 0.08001451
183.07185077 0.00234840
183.07345263 0.00253045
183.07391064 0.00170173
183.07431467 0.00040105
183.07637454 0.00024218
184.07187967 0.00633450
184.07434357 0.00216354
184.07520561 0.00015240
184.07726548 0.00011043
185.07523451 0.00041107

See also:

None.


MERGE   (CHAR)FileName   (INT)Flags   (BOOL)ActiveOnly   (BOOL)Force
Merge the molecule in the current workspace with one or more parts of another file. For more information, click here.

Parameters:
FileName    File name of the object (molecule, surface, trajectory) to merge with the molecule in the current workspace.
Flags This argument allows to indicate the molecule fields/elements that will be merged with the atoms in the workspace. The following values can be combined by OR operator or sum:
   
Value Description
1 Atom charges
2 Atom names
4 Atom types
8 Chain IDs
16 Connectivity
32 Atom constraints
64 Atomic coordinates
128 Atom elements
256 Molecule IDs
512 Residue names
1024 Residue numbers
2048 Segments
  
ActiveOnly If it's true (1), the active (visible) atoms are merged only.
Force If it's true (1) and the molecules are different (but with the same number of atoms), the merging is forced.

Return values:
Error code if it fails.

 

Example:
MERGE     "C:\Documents\Molecules\MyMolecule.pdb"   10   0

 

See also:
NEW,OPEN, OPENEX, SAVE, mMerge, mNew, mOpen, mSave.

 


MOLDELETE   (UINT)ID
Remove a molecule by ID in the current workspace.

Parameters:
ID    ID of the molecule to delete. It is an integer number grater than zero.

Return values:
Error code if it fails.

 

Example:
MOLDELETE   2

 

See also:
SEGDELETE, mRemoveHydrog, mRemoveInvisAtm, mRemoveWater.


MSGERRMODE   (MCHAR)Mode
Set the mode used by VEGA ZZ to show error messages.

Parameters:
Mode    Error message mode. It can be:
 
Console    Shows the errors in the console window (default for command line operation mode).
Quiet No error is shown.
Window All errors are shown in a standard window (default for OpenGL operation mode).

Return values:
Error code if it fails.

 

Example:
MSGERRMODE     Console

 

See also:
ERRMSG.


NEW
Clean all objects, removing molecules, surfaces, selections, etc. from the memory, without any confirm. Use mNew if you want that this operation must be confirmed.

 

Parameters:
None.

 

Return values:
Error code if it fails.

 

Example:
NEW

 

See also:
OPEN, OPENEX, MERGE, SAVE, mNew, mOpen, mSave.


OPEN   (CHAR)FileName
Open molecule, surface and trajectory by file name or URL.

Parameters:
FileName    File name or URLof the object to open (molecule, surface, trajectory).

Return values:
Error code if it fails.

 

Example:
OPEN     "C:\Documents\Molecules\MyMolecule.pdb"
OPEN     "http://pubchem.ncbi.nlm.nih.gov/summary/summary.cgi?cid=2244&disopt=3DSaveSDF"

 

See also:
MERGE, NEW, OPENEX, SAVE, mMerge, mNew, mOpen, mSave.

 


OPENEX   (CHAR)FileName   (INT)Flags
Open molecule, surface and trajectory (extended version) by file name or URL.

Parameters:
FileName    File name or URL of the object to open (molecule, surface, trajectory).
Flags   Flags that can be combined by OR logical operator or sum:
     
     
Flag Description
8 Add the file to the list of the last opened molecules.
16 Don't ask where to place the molecule (add, replace, new workspace).
32 Set the file path as current directory.
64 Don't open the trajectory analysis dialog if you are opening a trajectory.

The flags from 1 to 4 are reserved for future uses.

Return values:
Error code if it fails.

 

Example:
OPENEX     "C:\Documents\Molecules\MyMolecule.pdb"   56

 

See also:
MERGE, NEW, OPEN, SAVE, mMerge, mNew, mOpen, mSave.


REMATOMS   (CHAR)Selection
Remove one or more atoms using pattern matching.

Parameters:
Selection   

Atom selection in standard VEGA format. For more information, see SELECT command. If you want to remove a single atom, you can put the atom number only instead of the standard string selection.

Return values:
The number of removed atoms.

 

Example:
REMATOMS     *:HOH

 

See also:
REMINVATOMS, REMVISATOMS, SELECT, mRemoveHydrog, mRemoveInvisAtm, mRemoveWater.ù


REMINVATOMS
Remove the invisible atoms.

 

Parameters:

None.

 

Return values:
The number of removed atoms.

 

Example:
REMINVATOMS

 

See also:
REMVISATOMS, SELECT, mRemoveHydrog, mRemoveInvisAtm, mRemoveWater.

 


REMVISATOMS
Remove the visible atoms.

 

Parameters:

None.

 

Return values:
The number of removed atoms.

 

Example:
REMVISATOMS

 

See also:
REMVISATOMS, SELECT, mRemoveHydrog, mRemoveInvisAtm, mRemoveWater.


SAVE   (CHAR)FileName   (CHAR)Format  (CHAR)Compression  (INT)Flags
Save the molecule in the current workspace.

Parameters:
FileName    File name of the output molecule (the file extension is added automatically if it's not present).
Format File format (see -f command line option).
Compression Compression method (NONE, BZIP2, GZIP, POWERPACKER, ZCOMPRESS).
Flags Flags that can be combined by OR logical operator or sum:
  
Flag Description
1 Save the connectivity.
2 Save the constraints if the file format supports them.
4 Don't update the last saved file list in the File menu (VEGA ZZ only).
8 Big endian numeric format. This flag is supported by IFF format only.
16 64 bit. Enable the 64 bit sub-format saving IFF files.
32 Force to add the file extension.

Return values:
Error code if it fails.

 

Example:
SAVE    MyMolecule.pdb   PDB    BZIP2   1

 

See also:
MERGE, NEW, OPEN, OPENEX, mMerge, mNew, mOpen, mSave.


SCORE   (CHAR)ScoreFunctions   (UINT)MolNum    (UFLOAT)Dielectric   (UFLOAT)Cutoff   (BOOL)ActiveOnly
Evaluate the interaction energy of a complex using one or more scoring functions.

Parameters:
ScoreFunctions Scoring functions: CHARMM, CHARMM22, CHARMM36, CVFF, ELECT, ELECTDD, MLPINS, MLPINS2, MLPINS3 and MLPINSF. For more details, see here.
MolNum    Molecule number to identify the ligand. If the molecules are in the same assembly you could need to search them using the Edit Molecules Fix menu item or the mMolFix command.
Dielectric Dielectric constant. It must be greater than or equal to 1.0.
Cutoff Cutoff distance between atom pairs to increase the calculation speed (usually 12.0 Ǻ). Reducing too much this parameter, you can introduce errors in calculation.
ActiveOnly   If it's true (1), the active (visible) atoms are only considered.

Return values:
Error code if it fails.

 

Example:
SCORE   "ELECT   MLPINS   MLPINS2"   2   1.0   12.0   0

 

See also:

mInteractions, mMolFix.


SECSTRUCT   (FLOAT)Phi    (FLOAT)Psi   (FLOAT)Omega   (CHAR)SecStructPattern   (INT)Flags
Change the secondary structure of a peptide.

Parameters:
Phi Backbone dihedral angles. Use them to specify the secondary structure. For more information about their values, click here.
Psi
Omega  
SecStructPattern   Optional pattern of the secondary structure. For more information, see BUILDPEPT.
Flags   Extra features can be enabled through the following flags that can be combined each others by OR or sum operators:
Flag Description
1 Change the secondary structure to active/visible atoms only.
2 Adjust the bond angle that can be distorted by dihedral change.

Return values:
Error code if it fails.

 

Example:
SecStruct   -57.8   -47.0   180.0   ""   2

SecStruct   -57.8   -47.0   180.0   "HHHHEEE"   2

 

See also:
BUILDDNA, BUILDPEPT.


SEGDELETE   (UINT)ID
Remove a segment of a molecule by ID in the current workspace.

Parameters:
ID    ID of the segmant to delete. It is an integer number grater than zero.

Return values:
Error code if it fails.

 

Example:
SEGDELETE   3

 

See also:
MOLDELETE, mRemoveHydrog, mRemoveInvisAtm, mRemoveWater.


SMARTSCOUNT   (CHAR)SmartsString   (INT)Flags
Count the number of recurrences in the current molecule for a given SMARTS query. When you use this command, you must pay attention, because SMARTS language assumes that the bond order is correctly assigned to the molecule. If this condition is not satisfied, you may obtain wrong results.

Parameters:
SmartsSring  SMARTS string of the query.
Flags   If you set this flag to 1, only the visible/active atoms are considered.

Return values:
The number of recurrences found for the SMARTS query.

 

Example:
SMARTSCOUNT   C=O   0

 

See also:

SELSMARTS, UNSELSMARTS.


SMILES   (CHAR)String
Convert a SMILES string to 3D.

Parameters:
Sring   SMILES string.

Return values:
Error code if it fails.

 

Example:
SMILES   c1ccccc1

 

See also:

mSMILES.


SRFCALC   (MCHAR)SurfaceVis   (MCHAR)SurfaceType    (UFLOAT)ProbeRadius   (UINT/UFLOAT)Density/MeshSize (BOOL)SelectedOnly
Calculate and show (in OpenGL mode) the molecular surface. The MLP, MEP and ILM calculations ignore the ProbeRadius and the last calculated surface becomes the current.

Parameters:
SurfaceVis Surface visualization mode (DOTS, MESH and SOLID).
SurfaceType    Surface type (DEEP, HBACC, HBDON, ILM, MEP, MLP, PSA and VDW).
ProbeRadius Probe radius in Å. Usually is 0 or 1.4 for surface accessible to solvent (SAS).
Density/MeshSize Dot density in Ų for dotted surface or mesh size for mesh and solid surface.
SelectedOnly

If it's true (1), the visible atoms only will be considered.

Return values:
The command returns the total surface area in Ų, the surface diameter in Å, the minimum, the maximum, the average values and the standard deviation of the calculated property. If the SurfaceType is MLP, it returns the Virtual LogP value also, if the SurfaceType is PSA, it returns the positive and the negative surface areas in Ų.
If it fails, the error code is returned.

 

Example:
SRFCALC   SOLID   PSA   1.4   1.0   0

 

See also:
OPEN, SRFSAVE, mOpen, mSurface.


SRFSETCUR   (UINT)SurfaceID 
Make current the specified surface.

Parameters:
SurfaceID   Surface identification number (1 for the first, 2 for the second and so on).

Return values:
Error code if it fails.

 

Example:
SRFSETCUR   2

 

See also:
OPEN, SRFCALC, SRFCOLOR, SRFCOLORBY, SRFRENAME, mOpen, mSurface.


SRFREMOVE
Remove the current surfaces from the current workspace. The current surface is set to the next surface in the surface list, but if the removed surface is the last, it's set to the previous one.

 

Parameters:
None.

 

Return values:
Error code if it fails.

 

Example:
SRFREMOVE

 

See also:
OPEN, SRFCALC, SRFREMOVEALL,  SRFRENAME, SRFSETCUR.


SRFREMOVEALL
Removes all surfaces from the current workspace. The surfaces in the other workspaces are kept.

 

Parameters:
None.

 

Return values:
Error code if it fails.

 

Example:
SRFREMOVEALL

 

See also:
OPEN, SRFREMOVE, SRFCALC, SRFRENAME.


SRFRENAME   (CHAR)SurfaceName
Rename the current surface.

Parameters:
SurfaceName    New name of the current surface.

Return values:
Error code if it fails.

 

Example:
SRFRENAME   "New surface name"

 

See also:
SRFCALC, SRFREMOVE, SRFSETCUR.

 


SRFSAVE   (CHAR)FileName   (UINT)SurfaceID   (MCHAR)Format   (CHAR)Compression
Save the surface in the current workspace.

Parameters:
FileName    Output file name (the file extension is added automatically, if not it's present).
SurfaceID Surface identification number (0 for the first, 1 for the second and so on).
Format Surface format (CSV, INSIGHT, QUANTA, RAW, VRMLDOTTED, VRMLSOLID).
Compression Compression method (NONE, BZIP2, GZIP, POWERPACKER, ZCOMPRESS).

Return values:
Error code if it fails.

 

Example:
SRFSAVE   "Molecules\MySurface"   0   QUANTA   NONE

 

See also:
OPEN, SRFCALC, SRFCOLOR, SRFCOLORBY, mOpen, mSurface.


TRJCLOSE   (UINT)Handle
Close the trajectory stream and release its resources.

Parameters:
Handle    Trajectory stream handle returned by TrjCreate command.

Return values:
If it fails (e.g. the stream is already closed or the handle is invalid), 0 (false) is returned, otherwise 1 (true) is set.

 

Example:
TRJCLOSE   23567

 

See also:
TRJCREATE, TRJWRITE.


TRJCLUSTCOORD   (CHAR)FileName    (MCHAR)Format    (UINT)Compression   (INT)Flags   (FLOAT)Rmsd
Perform the cluster analysis of the conformers included into the current trajectory by their atom coordinates.

Parameters:
FileName    Name of the output file name that will include the lowest energy conformations for each cluster. It's also used to save the energy and cluster population file (*.ene file extension).
Format   For more information, see TRJCREATE.
Compression  
Flags  
Rmsd   Root mean square deviation value used as criterion to collect two conformer in the same cluster.

Return values:
Error code if it fails.

 

Example:
TRJCLUSTCOORD   "MyTrajectory - clust.dcd"   DCD   1   0   3.0

 

See also:
TRJCREATE, TRJCLUSTTOR, TRJCLUSTTORRMS.


 

TRJCLUSTTOR   (CHAR)FileName    (MCHAR)Format    (UINT)Compression   (INT)Flags   (FLOAT)Steps
Perform the cluster analysis of the conformers included into the current trajectory by their values of the torsion angles. The torsion angles to analyze must be defined to do this kind of analysis (use CTORFIND command).

Parameters:
FileName    Name of the output file name that will include the lowest energy conformations for each cluster. It's also used to save the energy and cluster population file (*.ene file extension).
Format   For more information, see TRJCREATE.
Compression  
Flags  
Steps   Number of steps of a round angle used for the classification, e.g.: 6 steps mean cluster differing of 60 degrees each for a complete torsion rotation.

Return values:
Error code if it fails.

 

Example:
TRJCLUSTTOR   "MyTrajectory - clust.xtc"   XTC   3   0   6

 

See also:
CTORFIND, TRJCREATE, TRJCLUSTCOORD, TRJCLUSTTORRMSD.


 

TRJCLUSTTORRMSD   (CHAR)FileName    (MCHAR)Format    (UINT)Compression   (INT)Flags   (FLOAT)Rmsd
Perform the cluster analysis of the conformers included into the current trajectory by RMSD differences of their torsion angles. The torsion angles to analyze must be defined to do this kind of analysis (use CTORFIND command).

Parameters:
FileName    Name of the output file name that will include the lowest energy conformations for each cluster. It's also used to save the energy and cluster population file (*.ene file extension).
Format   For more information, see TRJCREATE.
Compression  
Flags  
Rmsd   Root mean square deviation value of the torsions used as criterion to collect two conformer in the same cluster.

Return values:
Error code if it fails.

 

Example:
TRJCLUSTTORRMSD   "MyTrajectory - clust.iff"   IFF  1   0   60.0

 

See also:
CTORFIND, TRJCREATE, TRJCLUSTCOORD, TRJCLUSTTOR.

 


TRJCREATE   (CHAR)FileName    (MCHAR)Format    (UINT)Compression   (INT)Flags   
Create a new trajectory stream.

Parameters:
FileName    File name of the MD trajectory to create.
Format

Trajectory file format. It can be: DCD (NAMD/CHARMM DCD), IFF, MOL2 (Sybyl Mol2 multi model), PDB (PDB multi model), TRR (Gromacs TRR) and XTC (Gromacs XTC compressed trajectory).

Compression

This argument has effect with the XTC format only and it's the floating point precision used by XDRF compression. The allowed values are from 1 to 6. For more information, click here.

Flags

Control flags that can be combined by OR logical operator or sum:

  
Flag Value Description
TRJSAVE_ACTONLY 1 Save the active/visible atoms only.
TRJSAVE_SWAPEND 2 Swap the endian (DCD file only). For more information, click here.
TRJSAVE_APPEND 4 Append the trajectory to another one.

Return values:
If no error occurs, the trajectory handle is returned, otherwise the function returns 0.

 

Example:
TRJCREATE    "C:\Temp\MyTrajectory.xtc"  XTC  4  0

 

See also:
TRJCLOSE, TRJWRITE.


TRJOPEN   (CHAR)FileName    (BOOL)OpenDialog
Open a trajectory file to analyze it.

Parameters:
FileName    Trajectory file to analyze.
OpenDialog If it's 1 (true), the analysis dialog box will be opened.

Return values:
Error code if it fails.

 

Example:
TRJOPEN    "Simul.DCD" 1

 

See also:
OPEN, TRJSAVE, TRJSEL, TRJSELFIRST, TRJSELLAST, TRJSELLAST, mOpen, mSaveTraj, mAnalysis.


TRJSAVE   (CHAR)FileName    (MCHAR)Format   (UINT)StartFrm   (UINT)EndFrm   (UINT)SkipFrm   (INT)Flags   (UINT)Compression
Save the current MD trajectory converting it to specified format.

Parameters:
FileName    File name of the MD trajectory to save.
Format

The trajectory file format. It can be: DCD (NAMD/CHARMM DCD), PDB (PDB multi model) TRR (Gromacs TRR) and XTC (Gromacs XTC compressed trajectory).

StarFrm

Starting frame number.

EndFrm

Ending frame number. To obtain the total number of trajectory frames, use GET TRJTOTFRM.

SkipFrm

Number of frame to skip. Use 0 to disable the frame skipping.

Flags

Control flags that can be combined by OR logical operator or sum:

  
Flag Value Description
TRJSAVE_ACTONLY 1 Save the active/visible atoms only.
TRJSAVE_SWAPEND 2 Swap the endian (DCD file only). For more information, click here.
TRJSAVE_APPEND 4 Append the trajectory to another one.
  
Compression

This argument has effect with the XTC format only and it's the floating point precision used by XDRF compression. The allowed values are from 1 to 6. For more information about it, click here

Return values:
Error code if it fails.

 

Example:
TRJSAVE    "C:\Temp\mytrajectory.dcd"  DCD  1  100  0  0  1

 

See also:
OPEN, TRJOPEN, mOpen, mSaveTraj, mAnalysis.


TRJSEL   (UINT)Number
Select a trajectory frame by number. The trajectory must be opened by TRJOPEN command.

Parameters:
Number    Frame number .(0 < Number LastFrameNumber)

Return values:
Error code if it fails.

 

Example:
TRJSEL    25

 

See also:
OPEN, TRJOPEN, TRJSELFIRST, TRJSELLAST, TRJSELLAST, mOpen, mAnalysis.


TRJSELFIRST
Select the first trajectory frame. The trajectory must be opened by TRJOPEN command.

 

Parameters:
None.

 

Return values:
Error code if it fails.

 

Example:
TRJSELFIRST

 

See also:
OPEN, TRJOPEN, TRJSEL, TRJSELLAST, TRJSELLAST, mOpen, mAnalysis.


TRJSELLAST
Select the last trajectory frame. The trajectory must be opened by TRJOPEN command.

 

Parameters:
None.

 

Return values:
Error code if it fails.

 

Example:
TRJSELFIRST

 

See also:
OPEN, TRJOPEN, TRJSEL, TRJSELFIRST, mOpen, mAnalysis.


TRJWRITE   (UINT)Handle
Write the current conformation to the trajectory stream.

Parameters:
Handle    Trajectory stream handle returned by TrjCreate command.

Return values:
If it fails, 0 (false) is returned, otherwise 1 (true) is set.

 

Example:
TRJWRITE   23567

 

See also:
TRJCREATE, TRJCLOSE.


VOLUME   (UINT)Density   (BOOL)SelectedOnly
Calculate the volume of the molecule in the current workspace.

Parameters:
Density    Dot density in Ų for grid calculation. Greater values mean more precise calculation.
SelectedOnly If it's true (1), the visible atoms are considered only.

Return values:
The command returns the volume in Å3 and the volume diameter in Å.

 

Example:
VOLUME   20   0

 

See also:
SRFCALC.


Back to the command index

14.3 Database commands

These commands are useful to manage the databases by scripting languages.

 

 

DBCLOSE   (UINT)Handle
Close the database and release its resources.

Parameters:
Handle    It's the database handle returned by DBOPEN command.

Return values:
If it fails (e.g. the database is already closed or the handle is invalid), 0 (false) is returned, otherwise 1 (true) is set.

 

Example:
DBCLOSE   13423

 

See also:
DBCREATE, DBOPEN, DBGET, DBGETID, DBPUT, DBREOPEN.


DBCREATE   (CHAR)FileName   (CHAR)DbaseFormat   (CHAR)MolFormat   (CHAR)MolCompression   (INT)Flags
Create a new empty database. Please remember that you need to call the DBOPEN to change the database contents after its creation.

Parameters:
FileName    File or directory name with or without full path. The extension is added automatically if needed.
DbaseFormat  Database format. The allowed keywords are:
  
Keyword Description
Access Microsoft Access (.mdb)
Access2007 Microsoft Access 2007 (.accdb)
File Directory/file database.
Mol2 Sybyl Mol2 multimodel.
Sdf SD file.
SQLite SQLite database.
Zip Zip archive.
  
MolFormat

Default molecule format (see -f command line option). This field is ignored by Access, Access 2007, SD file and SQLite database formats.

MolCompression

Default molecule compression (NONE, BZIP2, GZIP, POWERPACKER, ZCOMPRESS). This field is ignored by Access, Access 2007, Mol2, SD file, SQLite and Zip database formats.

Flags Default database flags. These flags can be combined by OR operator.
Value Description
0 None.
1 Write the connectivity, if the molecule file format supports it.
2 Write the constraints, if the molecule file format supports it.

Return values:
Error code if it fails.

 

Example:
DBCREATE   "NewDatabase"   zip   pdb   none   0

 

See also:
DBCLOSE, DBOPEN, DBGET, DBGETID, DBPUT, DBREOPEN.


DBGET   (UINT)Handle   (CHAR)MolName   (MCHAR)Mode
Extract a molecule from the database specifying its name.

Parameters:
Handle    It's the database handle returned by DBOPEN command.
MolName Name of the molecule to extract (with file extension).
Mode It's the extraction mode, that can be:
Mode Description
Add Append the extracted molecule to the current workspace.
Replace Replace the current molecule.
Workspace Create a new workspace and extract the molecule to it.

Return values:
If it fails (e.g. the database handle is invalid or the molecule name is wrong), 0 (false) is returned, otherwise 1 (true) is set.

 

Example:
DBGET   13423   Water.iff   Replace

 

See also:
DBOPEN, DBCLOSE, DBGETID, DBGETROWID, DBPUT, DBREOPEN.


DBGETID   (UINT)Handle   (UINT)MolID   (MCHAR)Mode
Extract a molecule from the database specifying its identification number (ID). Each database record has an ID that is a progressive number starting from zero to the total number of records minus one. To obtain the total number of molecules in the database, see DBINFO command.

Parameters:
Handle    It's the database handle returned by the DBOPEN command.
MolID Molecule identification number.
Mode It's the extraction mode, that can be:
Mode Description
Add Append the extracted molecule to the current workspace.
Replace Replace the current molecule.
Workspace Create a new workspace and extract the molecule to it.

Return values:
If it fails (e.g. the database handle is invalid or the molecule ID is wrong), 0 (false) is returned, otherwise 1 (true) is set.

 

Example:
DBGETID   13423   4   Replace

 

See also:
DBOPEN, DBCLOSE, DBGET, DBGETROWID, DBINFO, DBPUT, DBREOPEN.


DBGETMOLNAME   (UINT)Handle   (UINT)MolID
Get the molecule name by database handle and molecule ID.

Parameters:
Handle    Database handle returned by DBOPEN command.
MolID   Molecule identification number.

Return values:
Error code if it fails.

 

Example:
DBMOLNAME  12432  34

 

See also:
DBCLOSE, DBCREATE, DBOPEN, DBREOPEN, DBSETMOLNAME.


DBGETROWID   (UINT)Handle   (CHAR)RowID   (MCHAR)Mode
Extract a molecule from the database specifying its primary key (Row ID). This command is useful for SQL databases in which each record has an unique ID. If the database is not SQL, the command is automatically translated to DBGETID.

Parameters:
Handle    It's the database handle returned by the DBOPEN command.
RowID Row identification number.
Mode It's the extraction mode, that can be:
Mode Description
Add Append the extracted molecule to the current workspace.
Replace Replace the current molecule.
Workspace Create a new workspace and extract the molecule to it.

Return values:
If it fails (e.g. the database handle is invalid or the row ID is invalid), 0 (false) is returned, otherwise 1 (true) is set.

 

Example:
DBGETROWID   13423   98   Add

 

See also:
DBOPEN, DBCLOSE, DBGET, DBGETID, DBINFO, DBPUT, DBREOPEN.


DBINFO   (UINT)Handle   (MCHAR)Variable
Obtain the value of a database variable.   

Parameters:
Handle    Database handle returned by DBOPEN command.
Variable Database system variable. It can be:
Variable Description
CurID

The ID of the last extracted molecule. For SQL databases, it is the primary key (value of ID field in Molecules table), for file-based databases (e.g. ARC, Mol2, SDF, etc), it is the offset in bytes and for directory database, it returns always 0.

CurMolName The name of the latest extracted molecule.
FileExt File name extension of the database.
FileName Database file name with full path.
IsSQL Check if the database supports SQL. Return values are: 0 = SQL not supported; 1 = SQL supported.
Format Database format (it could be: UNKNOWN, ACCESS, ACCESS2007, FILE, MMD, MOL2, SDF, SQLITE and ZIP).
Molecules Number of molecules stored in the database.
MolFlags Flags for the default file formats:
1 = write the connectivity;
2 = write the constraints.
These flags can be combined with the OR logical operator.
MolFormat Default file format of stored molecules. It uses the same naming format of -f command line option.
QuoteCl Closing quote for SQL commands.
QuoteOp Opening quote for SQL commands.

Return values:
If the database exists, the variable value is returned.

 

Example:
DBINFO   26123   MOLECULES

 

See also:
DBCLOSE, DBGET, DGETID, DBOPEN, DBPUT, DBREOPEN, DBSQLTABLEINFO.


DBLOCK   (UINT)Handle   (BOOL)Lock
Lock/unlock an existing database. The lock status avoids to close accidentally the database.

Parameters:
Handle    Database handle returned by DBOPEN command.  
Lock   0 (false) = unlock the database.
1 (true) = lock the database.
 

Return values:
Error code if it fails.

 

Example:
DBLOCK  12432  1

 

See also:
DBCLOSE, DBCREATE, DBOPEN, DBREOPEN.


DBOPEN   (CHAR)FileName
Open an existing database. This command is required to access (read and write operation) to an existing database.

Parameters:
DbName    Database file name whit full path.

Return values:
If the database exists, its handle is returned, otherwise the function returns 0 (error condition).

 

Example:
DBOPEN   "Vega\Data\Fragments\Solvents.zip"

 

See also:
DBCLOSE, DBCREATE, DBGET, DBGETID, DBINFO, DBPUT, DBREOPEN.


DBPUT   (UINT)Handle   (CHAR)MolName
Put the current molecule into the specified database.

Parameters:
Handle    It's the database handle returned by the DBOPEN command.
NolName   Name of the molecule to put with the file extension, if the database format requires it (e.g. file and zip).

Return values:
If it fails (e.g. the database handle is invalid), 0 (false) is returned, otherwise 1 (true) is set.

 

Example:
DBPUT   13182   "MyMolecule"

 

See also:
DBCLOSE, DBCREATE, DBGET, DBGETID, DBINFO, DBOPEN, DBREOPEN, DBUPDATE.


DBREOPEN   (CHAR)DbName
Open a database already open and return the handle.

Parameters:
DbName    Database name whit file extension.

Return values:
If the database exists, its handle is returned, otherwise the function returns 0 (error condition).

 

Example:
DBREOPEN   "Solvents.zip"

 

See also:
DBCLOSE, DBCREATE, DBGET, DBGETID, DBINFO, DBOPEN, DBPUT.


DBSETMOLNAME   (UINT)Handle   (UINT)MolID (CHAR)MolName
Set the molecule name by database handle and molecule  ID.

Parameters:
Handle    Database handle returned by DBOPEN command.
MolD   Molecule identification number.
MolName   Molecule name.

WARNING:

After the change the name of one or more molecule at the same time, you must call DbSortMolNames to sort alphabetically the molecule list. Don't call DbSortMolNames when you are looping the molecule list, because it reassigns the IDs to the molecules !

 

Return values:
Error code if it fails.

 

Example:
DBSETMOLNAME  12432  34  "New molecule name"

 

See also:
DBCLOSE, DBCREATE, DBGETMOLNAME, DBOPEN, DBREOPEN, DBSORTMOLNAMES.


DBSORTMOLNAMES   (UINT)Handle
Sort alphabetically the molecule names of a database.

Parameters:
Handle    Database handle returned by DBOPEN command.

WARNING:

Don't call this command when you are looping the molecule list, because it reassigns the IDs to the molecules !

 

Return values:
Error code if it fails.

 

Example:
DBSORTMOLNAMES  12432

 

See also:
DBCLOSE, DBCREATE, DBOPEN, DBREOPEN, DBSETMOLNAME.


DBSQLEXEC   (UINT)Handle   (CHAR)SqlCode
Execute SQL commands. This command is applicable only to SQL databases.

Parameters:
Handle    Database handle returned by DBOPEN command.
SqlCode   SQL code.

Return values:
Error code if it fails.

 

Example:
DBSQLEXEC  12432   "SELECT Name FROM Molecules;"

 

This example returns the list of all molecule in the database.

 

See also:
DBCLOSE, DBCREATE, DBOPEN, DBREOPEN, DBSQLTABLEINFO.


DBSQLTABLEINFO   (UINT)Handle   (CHAR)Table
Return the table structure of a SQL database.

Parameters:
Handle    Database handle returned by DBOPEN command.
Table   Table name

Return values:
Error code if it fails, otherwise the list of the fields included in the table (one for each line). Each line includes semicolon separated: the field name, the SQL data type (Unknown, Blob, Date, Integer, Real, VarChar and Time) and size of the field in bits (e.g. Integer, Real, etc.) or bytes (e.g. VarChar) according to the data type.

 

Example:
DBSQLTABLEINFO  12432   "Molecules"

 

This example returns the structure of the Molecules table.

 

See also:

DBCLOSE, DBCREATE, DBOPEN, DBREOPEN, DBSQLEXEC.


DBUPDATE   (UINT)Handle   (CHAR)MolName
Update the current molecule in the specified database.

Parameters:
Handle    It's the database handle returned by the DBOPEN command..
NolName   Name of the molecule to update with the file extension, if the database format requires it (e.g. file and zip).

Return values:
If it fails (e.g. the database handle is invalid), 0 (false) is returned, otherwise 1 (true) is set.

 

Example:
DBUPDATE   13182   "MyMolecule"

 

See also:
DBCLOSE, DBCREATE, DBGET, DBGETID, DBINFO, DBOPEN, DBPUT, DBREOPEN.

 


 

Back to the command index

14.4 VEGA ZZ commands

These commands are for VEGA ZZ only.

 

 

ACTIVATE
Activate the main window, giving the input focus to it.

 

Parameters:
None

 

Return values:
Error code if it fails.

 

Example:
ACTIVATE

 

See also:
None


AMMPSEND   (CHAR)Commands
Send a command string to AMMP, locking the current workspace. To unlock it, use WKSUNLOCK command. Please remember that AMMP executes commands in asynchronous mode: it means that AMMPSEND doesn't wait the end of the commands execution.

Parameters:
Commands    Command string. It may contain more then one command and each command must  terminated by the semicolon character (;).

Return values:
Error code if it fails.

 

Example:
AMMPSEND    "Monitor;"

 

See also:
AMMPSENDMOL, AMMPSTARTCALC, WKSUNLOCK.


AMMPSENDMOL   (MCHAR)Fix
Send the molecule in the current workspace to AMMP, setting the parameters to default and locking the current workspace. To unlock the workspace, use WKSUNLOCK command.

Parameters:
Fix    Atom fixing. It could be: NONE, FIX and TETHER.

Return values:
Error code if it fails.

 

Example:
AMMPSENDMOL    None

 

See also:
AMMPSEND, WKSUNLOCK.


AMMPSETFF   (CHAR)ForceField
Set the AMMP force field used to save the molecule in AMMP format or to send the data to AMMP host. The corresponding .tem and .inp files must be present in the VEGA ZZ\Data directory, otherwise an error message is shown.

Parameters:
ForceField    Force field name.

Return values:
Error code if it fails.

 

Example:
AMMPSETFF    CHARMM

 

See also:
AMMPSENDMOL, SAVE.


AMMPSTARTCALC
This command notifies to VEGA ZZ that a new AMMP calculation being to start. VEGA ZZ locks the workspace, disables the menus and enables the context menu to stop the calculation. Use the AMMP's CONFIRMEND command before the last calculation command, in order to enable AMMP notification when the calculation is finished. To check if the calculation is running, read ISRUNNING variable.

 

Parameters:
None.

 

Return values:
Error code if it fails.

 

Example:
AMMPSTARCALC
AMMSEND   "calcend; cngdel  1000   0   0.01;"

 

See also:
AMMPSEND.


AMMPUPDATEFREQ   (MCHAR)Type   (UINT)Frequency
Set the AMMP update frequency of output files.

Parameters:
Type    Frequency type. It can be: MIN (Minimization), TSRC (conformational search).
Frequency Update frequancy (it must be greater than zero).

Return values:
Error code if it fails.

 

Example:
AMMPUPDATEFREQ    MIN   10

 

See also:
AMMPSEND, AMMPSENDMOL.


ANGLE   (CHAR)Atom1   (CHAR)Atom2   (CHAR)Atom3   (INT)Flags
Measure the bond angle between three atoms.

Parameters:
Atom1    Atoms defining the bond angle. See SELECT command for the correct syntax.
Atom2
Atom3
Flags Control flags that can be combined by OR logical operator or sum:
  
Flag Value Description
MEAS_3DOBJ 1 Show the measure indicator in the main window.
MEAS_3DTXT 2 Show the measure value in the main window.
MEAS_CONTXT 4 Show the measure value in the console window.

Return values:
The command returns the angle value in degrees and if it fails, the error code is shown.

 

Example:
ANGLE    C1   C2   C3   7

 

See also:
DISTANCE, PLANEANG, SELECT, TORSION.


ANTIALIAS   (BOOL)Mode
Enable/disable the anti-aliased visualization.

Parameters:
Mode    1 (true) enables the anti-aliasing and 0 (false) disables it.

Return values:
Error code if it fails.

 

Example:
ANTIALIAS    1

 

See also:
DEPTHCUE, SMARTMOVE, mLight, mShowSettings.


BACKCOLOR   (UINT)Color
This command changes the background color. Please remember that if no molecule are loaded, the background remains black and it changes even if one molecule is open.

Parameters:
Color    Color in RGB format (0 <= Color <= 16777215).

Return values:
None.

 

Example:
BACKCOLOR    1111111

 

See also:

COLORRGBDLG.


BALLSTICKPROP   (UINT)ShpereRes   (UINT)SphereScale  (UINT)CylinderRes  (FLOAT)CylinderRad
Change the ball & stick visualization properties.

Parameters:
ShpereRes    Sphere resolution (12 <= SphereRes <= 24).
SphereScale Sphere scale (10 <= SphereScale <= 50).
CylinderRes Cylinder resolution (8 <= CylinderRes <= 24).
CylinderRad Cylinder radius (0.05 <= CylinderRad <= 0.5).

Return values:
Error code if it fails.

 

Example:
BALLSTICKPROP    16   20   10   0.10
(Default settings).

 

See also:
CPKPROP, STICKPROP, TRACEPROP, TUBEPROP, WIREPROP, mShowSettings.


BEGINCALC
This command notifies to VEGA ZZ that a new asynchronous calculation being to start. VEGA ZZ locks the workspace and disables the menus. To check if the calculation is running, read the ISRUNNING variable.

 

Parameters:
None.

 

Return values:
Error code if it fails.

 

Example:
BEGINCALC

 

See also:
ENDCALC.


BIODOCK   (CHAR)FileName
Use this command to start a BioDock background calculation. To check if the calculation is running, read the ISRUNNING variable.

Parameters:
FileName    the file name of the BioDock input file. The .bp extension can be omitted.

Return values:
Error code if it fails.

 

Example:
BIODOCK    "C:\My Documents\MyDocking.bp"

 

See also:
MOPAC.


BUILD3D   (INT)Flags
Convert a 1D/2D structure to 3D. To check if the calculation is running, read the ISRUNNING variable. Remember to add the hydrogens and to fix the atom charges (BUILD3D_CHARGE flag) before the conversion, if it's required.

Parameters:
Flags   Control flags that can be combined by OR logical operator or sum:
     
   
Flag Value Description
BUILD3D_CHARGE 1 Assign the atom charges.
BUILD3D_CONJUGATE 2 Perform the conjugate gradients minimization.
BUILD3D_FIXAROM 4 Fix the aromatic rings and the carboxylate groups.
BUILD3D_FIXCHIR 8 Adjust the chiral centers if they are wrong.
BUILD3D_FIXGEOM 16 Adjust the E/Z geometry if it's wrong.
BUILD3D_GSDG 32 Perform the Gauss-Siedel distance geometry optimization.
BUILD3D_NORMALIZE 64 Normalize the atom coordinates.
BUILD3D_STEEPEST 128 Perform the steepest descent minimization.

Return values:
Error code if it fails.

 

Example:
BUILD3D    63

 

See also:
None.


COLOR   (MCHAR)Color
Change the color of the current selection.

Parameters:
Color    Color name: black, white, red, green, cyan, yellow, firebirck, magenta, pink, violet, ghostgray, gray, darkgray, orange, darkgreen, blue, darkyellow, brown, skyblue, ghostpink, ghostgreen, ghostblue, ghostyellow and sand.

Return values:
Error code if it fails.

 

Example:
COLOR    Blue

 

See also:
mColorByAtom, mColorByChain, mColorByCharge, mColorByMol, mColorByRes, mColorSel.


CONCLRHIST
Clear the command history buffer of the console.

 

Parameters:
None.

 

Return values:
Error code if it fails.

 

Example:
CONCLRHIST

 

See also:
CONCLS, CONGETLINE, CONSET, CONSAVE, CONWIN, mConsole.


CONCLS
Clear the console window.

 

Parameters:
None.

 

Return values:
Error code if it fails.

 

Example:
CONCLS

 

See also:
CONCLRHIST, CONGETLINE, CONSET, CONSAVE, CONWIN, mConsole.


CONGETLINE   (INT)LineNumber
Get a text line from the console.

Parameters:
LineNumber   

Number of the line from which to retrieve the text. Positive values get the text from the top and negative values get the text from the bottom. The line numbering starts from 1, thus 1 indicates the first line and -1 the last one. Values out of range of available lines are allowed, but an empty line is obtained.

Return values:
Error code if it fails.

 

Example:
CONGETLINE  3

 

See also:
CONCLS, CONCLRHIST, CONCLS, CONSET, CONWIN, mConsole.


CONREC   (CHAR)FileName
Record the console output as log file. You can check the recording status by ConRecStatus variable.

Parameters:
FileName    Full path and file name of the log file.

Return values:
Error code if it fails.

 

Example:
CONREC "C:\Temp\VEGA console.log"

 

See also:
CONRECPAUSE, CONRECRESUME, CONRECSTOP, CONSAVE, mConsole.


CONRECPAUSE
Pause the log recording. You can check the recording status by ConRecStatus variable.

 

Parameters:
None.

 

Return values:
Error code if it fails.

 

Example:
CONRECPAUSE

 

See also:

CONREC, CONRECRESUME, CONRECSTOP, CONSAVE, mConsole.


CONRECRESUME
Resume the log recording after pause. You can check the recording status by ConRecStatus variable.

 

Parameters:
None.

 

Return values:
Error code if it fails.

 

Example:
CONRECRESUME

 

See also:

CONREC, CONRECPAUSE, CONRECSTOP, CONSAVE, mConsole.


CONRECSTOP
Stop the log recording. You can check the recording status by ConRecStatus variable.

 

Parameters:
None.

 

Return values:
Error code if it fails.

 

Example:
CONRECSTOP

 

See also:

CONREC, CONRECPAUSE, CONRECRESUME, CONSAVE, mConsole.


CONSAVE   (CHAR)FileName
Save the console output to a text file.

Parameters:
FileName    Full path and file name of the output file.

Return values:
Error code if it fails.

 

Example:
CONSAVE "C:\Temp\Output.txt"

 

See also:
CONCLRHIST, CONCLS, CONGETLINE, CONSET, CONWIN, mConsole.


CONSET   (UINT)BufferSize   (UINT)HistorySize
Set the console buffer size (in lines) and the command history size.

Parameters:
BufferSize    Output buffer size in lines (BufferSize > 20, default 200).
HistorySize History size in number of commands (HistorySize> 0, default 20).

Return values:
Error code if it fails.

 

Example:
CONSET   1000   40

 

See also:
CONCLRHIST, CONCLS, CONGETLINE, CONSAVE, CONWIN, mConsole.


CONWIN   (UINT)PosX   (UINT)PosY   (UINT)SizeX   (UINT)SizeY
Change position and size of the console window, undocking it if it's required.

Parameters:
PosX    X position.
PosY Y position.
SizeX Width.
SizeY Height.

Return values:
Error code if it fails.

 

Example:
CONWIN   0   0   640   300

 

See also:
CONCLRHIST, CONCLS, CONGETLINE, CONSAVE, CONSET, mConsole.


COPY   (MCHAR)Format
Copy the molecule to clipboard, converting it to the specified format. To paste use the mPaste menu command. For more information, click here.

Parameters:
Format    Clipborad format: VEGA (Molecule object), Bitmap, Sketch, Biosym, InChI, Mol2, Mopac, PDB, PDBF, XYZ.

Return values:
Error code if it fails.

 

Example:
COPY   Bitmap

 

See also:
COPYTEXT, mCopy, mCopySpecial, mCut, mPaste.


COPYTEXT   (CHAR)String
Copy the specified string to clipboard.

Parameters:
String    String that will be copied to clipboard.

Return values:
Error code if it fails.

 

Example:
COPYTEXT   "Hello World !"

 

See also:
COPY, mCopy, mCopySpecial, mCut, mPaste.


CPKPROP   (UINT)SphereRes    (UINT)DotSize
Change the CPK visualization properties.

Parameters:
SphereRes    Sphere resolution (12 <= SphereRes <= 36).
DotSize Dot size (1 <= DotSize <= 4).

Return values:
Error code if it fails.

 

Example:
CPKPROP   20   2

 

See also:
BALLSTICKPROP, STICKPROP, TRACEPROP, TUBEPROP, WIREPROP, mShowSettings.


CTORCLEAR
Clear all torsions

 

Parameters:
None.

 

Return values:
None.

 

Example:
CTORCLEAR

 

See also:
CTORFIND.


CTORFIND   (MCHAR)Mode
Find all torsions that can be used for a calculation (e.g. AMMP's conformational search, AutoDock 4 calculations, trajectory analysis, torsion adjustment).

Parameters:
Mode    Mode to find the torsions:
     
   
Mode Description
All All torsions.
AutoDock Torsions required by AutoDock to perform the in situ conformational search.
Flex Flexible torsions only.

Return values:
None.

 

Example:
CTORFIND   FLEX

 

See also:
CTORCLEAR.


CTORGET   (BOOL)Number
Get the properties of a torsion angle that can be used for a calculation (e.g. AMMP's conformational search, trajectory analysis, torsion adjustment).

Parameters:
Number    Torsion number. It must be greater than zero and less than the total number of defined torsions (use Get TotCTor to obtain is).

Return values:
If the Number argument is valid, the atom ID defining the torsion, the base torsion value (in degree), the number of steps used in the systematic conformational search, the torsion window value (in degree) used in Boltzmann jump and in random conformational search and the activation status (0 or 1) are returned:

15 17 18 23 0.000000 6 360.000000 1

If the Number is less or equal to zero, an error message is shown. If it's greater than total number of torsions a null result is returned:

0 0 0 0 0.0 0 0.0 0

Example:
CTORGET   2

 

See also:
CTORCLEAR, CTORFIND.


CURSOR   (MCHAR)CursorImage
Change the mouse cursor image. You could use this command to notify a calculation.

Parameters:
CursorImage    The cursor image. It can be: default, none, arrow, busy, cross.

Return values:
None.

 

Example:
CURSOR   busy

 

See also:
None


DEPTHCUE   (BOOL)Mode
Enable/disable the depth cueing.

Parameters:
Mode    If Mode is 1, the depth cue is enabled, otherwise if it's 0, the depth cueing is disabled.

Return values:
Error code if it fails.

 

Example:
DEPTHCUE    1

 

See also:
ANTIALIAS, SMARTMOVE, mLight, mShowSettings.


DISTANCE   (CHAR)Atom1   (CHAR)Atom2   (INT)Flags
Measure the distance between two atoms.

Parameters:
Atom1    Atoms defining the bond. See SELECT for the correct syntax.
Atom2
Flags Control flags that can be combined by OR logical operator or sum:
  
Flag Value Description
MEAS_3DOBJ 1 Show the measure indicator in the main window.
MEAS_3DTXT 2 Show the measure value in the main window.
MEAS_CONTXT 4 Show the measure value in the console window.

Return values:
The command returns the measure value and if it fails, the error code is reported.

 

Examples:
DISTANCE    CA:ALA:25   O:ASP:42   0
DISTANCE    10   36   4

 

See also:
ANGLE, PLANEANG, SELECT, TORSION.


ENDCALC

This command notifies to VEGA ZZ that the asynchronous calculation is finished. VEGA ZZ unlocks the workspace and enables the menus. To check if the calculation is stopped, read the ISRUNNING variable.

 

Parameters:
None.

 

Return values:
Error code if it fails.

 

Example:
ENDCALC

 

See also:
BEGINCALC.


GRAPHACTIVATE
Activate the current graph window, giving the input focus to it.

 

Parameters:
None.

 

Return values:
Error code if it fails.

 

Example:
GRAPHACTIVATE

 

See also:
GRAPHCLOSE, GRAPHOPEN, GRAPHWIN, mGraphEd.


GRAPHADD    (FLOAT)XValue   (FLOAT)YValue
Add a point value to the current chart.

Parameters:
XValue    X value.
YValue Y value.

Return values:
Error code if it fails.

 

Example:
GRAPHADD   1.5   0.25

 

See also:
GRAPHDELETE, GRAPHGET, GRAPHSET, mGraphEd.


GRAPHBEGINUPDATE
This command notifies to the current chart window that it will be massively updated. It speeds-up the next graph commands. Remember to call GraphEndUpdate at the end of the update.

 

Parameters:
None.

 

Return values:
Error code if it fails.

 

Example:
GRAPHBEGINUPDATE

 

See also:
GRAPHADD, GRAPHDELETE, GRAPHENDUPDATE, GRAPHGET, GRAPHSET, mGraphEd.


GRAPHCALC    (MCHAR)ClacType
Calculate a statistical value using the chart dataset.

Parameters:
ClacType    It's the keyword for the selection of the calculation type:
  
Keyword Description
AverageVal Average value.
MaxVal Maximum value.
MinVal Minimum value.
StdDev Standard deviation.

Return values:
This function returns the result of the requested calculation. If no data is present in the chart, the return value is zero.

 

Example:
GRAPHCALC    StdDev

 

See also:
GRAPHDERIVATIVE, GRAPHGET, GRAPHNR, GRAPHSPECTRUM, mGraphEd.


GRAPHCLOSE
Close the Graph Editor (GraphED) window.

 

Parameters:
None.

 

Return values:
Error code if it fails.

 

Example:
GRAPHCLOSE

 

See also:
GRAPHACTIVATE, GRAPHLOAD, GRAPHNEW, GRAPHOPEN, GRAPHSAVE, GRAPHWIN, mGraphEd.


GRAPHDELETE   (UINT)PointIndex
Delete a single dataset point.

Parameters:
PointIndex    Point index (0< PointIndex < GraphPoints). To obtain the total number of points (GraphPoints), use GET or PLUGINGET commands.

Return values:
Error code if it fails.

 

Example:
GRAPHDELETE    3

 

See also:
GRAPHADD, GRAPHGET, GRAPHSET, mGraphEd.


GRAPHDERIVATIVE
Calculate the derivative of the current plot opening a new window.

 

Parameters:
None.

 

Return values:
The function returns zero if it fails, otherwise the window  ID of the derivative plot.

 

Example:
GRAPHDERIVATIVE

 

See also:
GRAPHCALC, GRAPHGET, GRAPHNR, GRAPHSPECTRUM, mGraphEd.


GRAPHENDUPDATE
This command notifies to graph window that the update operation is finish and all changes can be shown. It must be called after the GraphBeginUpdate command.

 

Parameters:
None.

 

Return values:
Error code if it fails.

 

Example:
GRAPHENDUPDATE

 

See also:
GRAPHADD, GRAPHBEGINUPDATE, GRAPHDELETE, GRAPHGET, GRAPHSET, mGraphEd.


GRAPHEXCEL
Export the data to Microsoft Excel by DDE interface.

 

Parameters:
None.

 

Return values:
Error code if it fails.

 

Example:
GRAPHEXCEL

 

See also:
GRAPHLOAD, GRAPHNEW, GRAPHOPEN, GRAPHSAVE, GRAPHTOCLIP, mGraphEd.


GRAPHGET    (UINT)PointIndex
Get the Cartesian coordinates of a dataset point.

Parameters:
PointIndex    Point index (0< PointIndex < GraphPoints). To obtain the total number of points (GraphPoints), use GET or PLUGINGET commands.

Return values:
This function returns the X and Y floating point values separated by a space. If PointIndex exceeds the total number of points, no values are returned.

 

Example:
GRAPHGET    5

 

See also:
GRAPHADD, GRAPHDELETE, GRAPHSET, mGraphEd.


GRAPHLABELX   (CHAR)Label
Set the label of X axis.

Parameters:
Title    X axis label.

Return values:
Error code if it fails.

 

Example:
GRAPHLABELX    "Time (ps)"

 

See also:
GRAPHLABELY, GRAPHTITLE, GRAPHTYPE, GRAPHWIN, mGraphEd.


GRAPHLABELY   (CHAR)Label
Set the label of Y axis.

Parameters:
Title    Y axis label.

Return values:
Error code if it fails.

 

Example:
GRAPHLABELY    "Energy (Kcal/mol)"

 

See also:
GRAPHLABELX, GRAPHTITLE, GRAPHTYPE, GRAPHWIN, mGraphEd.


GRAPHLOAD    (CHAR)FileName
Load the graph data from file.

Parameters:
FileName    Name of the file to load. The supported file formats are: CHARMM .ene, Comma Separated Values .csv, Data Interchange Format .dif, NAMD output .out and Quanta .plt .

Return values:
Error code if it fails.

 

Example:
GRAPHLOAD    "MyGraph.csv"

 

See also:
GRAPHCLOSE, GRAPHEXCEL, GRAPHNEW, GRAPHOPEN, GRAPHPRINT, GRAPHSAVE, GRAPHTOCLIP, mGraphEd.


GRAPHMAXIMIZE
Maximize the graph window.

 

Parameters:
None.

 

Return values:
Error code if it fails.

 

Example:
GRAPHMAXIMIZE

 

See also:
GRAPHCLOSE, GRAPHMINIMIZE, GRAPHOPEN, GRAPHRESTORE, mGraphEd.


GRAPHMINIMIZE
Minimize the current graph window.

 

Parameters:
None.

 

Return values:
Error code if it fails.

 

Example:
GRAPHMINIMIZE

 

See also:
GRAPHCLOSE, GRAPHMAXIMIZE, GRAPHOPEN, GRAPHRESTORE, mGraphEd.


GRAPHNEW
Clear all data in the chart.

 

Parameters:
None.

 

Return values:
Error code if it fails.

 

Example:
GRAPHNEW

 

See also:
GRAPHCLOSE, GRAPHEXCEL, GRAPHLOAD, GRAPHOPEN, GRAPHPRINT, GRAPHSAVE, GRAPHTOCLIP, mGraphEd.


GRAPHNR    (UINT)Percent
Remove the noise applying a DFT (Discrete Fourier Transformation) low-pass filter. As first step it creates the frequency spectrum, it removes the high frequencies and finally it rebuilds the filtered wave using the inverse DFT

Parameters:
Percent    It's the spectrum range (percentage) that will be removed by the low-pass filter.

Return values:
The function returns zero if it fails, otherwise the window  ID of the noise-reduced plot.

 

Example:
GRAPHNR    80

 

See also:
GRAPHCALC, GRAPHDERIVATIVE, GRAPHGET, GRAPHSPECTRUM, mGraphEd.


GRAPHOPEN    (UINT)Flags
Open the Graph Editor (GraphED) window and it came automatically the current window.

Parameters:
Flags    Control flags:
  
Flag Value Description
GRAPHOPEN_CENTER 1 Center the window in the screen.

Return values:
The ID of the window or an error code if it fails.

 

Example:
GRAPHOPEN    1

 

See also:
GRAPHACTIVATE, GRAPHCLOSE, GRAPHEXCEL, GRAPHLOAD, GRAPHNEW, GRAPHPRINT, GRAPHSAVE, GRAPHSETCUR, GRAPHTOCLIP, mGraphEd.


GRAPHPRINT    (BOOL)ShowDialog
Print the current chart.

Parameters:
ShowDialog    If it's true (1), the print dialog is shown, otherwise the plot is sent to the predefined printer.

Return values:
Error code if it fails.

 

Example:
GRAPHPRINT    1

 

See also:
GRAPHLOAD, GRAPHNEW, GRAPHSAVE, GRAPHTOCLIP, mGraphEd.


GRAPHRESTORE
Restore the size an the position of  the graph window (maximized or minimized).

 

Parameters:
None.

 

Return values:
Error code if it fails.

 

Example:
GRAPHRESTORE

 

See also:
GRAPHCLOSE, GRAPHMAXIMIZE, GRAPHMINIMIZE, GRAPHOPEN, mGraphEd.


GRAPHSAVE    (CHAR)FileName   (MCHAR)Format   (CHAR)Compression
Save graph data to file.

Parameters:
FileName    Chart title.
Format Output format. The supported formats are:
  
Keyword Description
CSV Comma Separated Values.
DIF Data Interchange Format (Microsoft Excel).
PLT Quanta plot.
RAW Raw float format.
Compression Compression mode (NONE, BZIP2, GZIP, POWERPACKER, ZCOMPRESS).

Return values:
Error code if it fails.

 

Example:
GRAPHSAVE    "C:\My Documents\Graph.csv"   CSV   NONE

 

See also:
GRAPHCLOSE, GRAPHEXCEL, GRAPHLOAD, GRAPHNEW, GRAPHOPEN, GRAPHPRINT, GRAPHTOCLIP, mGraphEd.


GRAPHSET    (UINT)PointIndex   (FLOAT)XValue    (FLOAT)YValue
Set/change the dataset values. To add a new point, use GRAPHADD command.

Parameters:
PointIndex    Point index (0< PointIndex < GraphPoints). To obtain the total number of points (GraphPoints), use GET or PLUGINGET commands.
XValue X value.
YValue Y value.

Return values:
Error code if it fails.

 

Example:
GRAPHSET    5   3   4.34

 

See also:
GRAPHADD, GRAPHDELETE, GRAPHGET, mGraphEd.


GRAPHSETCUR    (UINT)WindowID 
Set/change the current Graph Editor window. When you use this functions, all graph commands are sent to the Graph Editor window with the specified window ID. To obtain the ID of the current window, use the GRAPHID variable.

Parameters:
WindowID    The ID of the Graph Editor window.

Return values:
Error code if the ID is wrong or if no graph windows are opened.

 

Example:
GRAPHSETCUR    1

 

See also:
GRAPHOPEN, mGraphEd.


GRAPHSPECTRUM
Calculate the spectrum frequency using the Discrete Fourier Transformation (DFT). The results are shown in a new bar graph. For more information, see the Graph Editor section.

 

Parameters:
None.

 

Return values:
The function returns zero if it fails, otherwise the window  ID of the derivative plot.

 

Example:
GRAPHDSPECTRUM

 

See also:
GRAPHCALC, GRAPHDERIVATIVE, GRAPHGET, GRAPHNR, mGraphEd.


GRAPHTITLE   (CHAR)Title
Change the chart title.

Parameters:
Title    Chart title.

Return values:
Error code if it fails.

 

Example:
GRAPHTITLE    "This is my chart"

 

See also:
GRAPHLABELX, GRAPHLABELY, GRAPHTYPE, GRAPHWIN, mGraphEd.


GRAPHTOCLIP
Copy the current graph to clipboard in Enhanced Meta File (EMF) format.

 

Parameters:
None.

 

Return values:
Error code if it fails.

 

Example:
GRAPHTOCLIP

 

See also:
GRAPHCLOSE, GRAPHEXCEL, GRAPHLOAD, GRAPHNEW, GRAPHOPEN, GRAPHPRINT, GRAPHSAVE, mGraphEd.


GRAPHTYPE   (UINT)ChartType
Change the type of the current chart.

Parameters:
ChartType    Type of chart. It can be:
ChartType Description
0 Bar (histogram).
1 Line.
2 Pie.
3 Mass (for mass spectrometry).

Return values:
Error code if it fails.

 

Example:
GRAPHTYPE   2

 

See also:

GRAPHLABELX, GRAPHLABELY, GRAPHTITLE, GRAPHWIN, mGraphEd.


GRAPHWIN   (UINT)PosX   (UINT)PosY   (UINT)SizeX   (UINT)SizeY
Change position and size of the current Graph Editor (GraphED) window.

Parameters:
PosX    X position.
PosY Y position.
SizeX Width.
SizeY Height.

Return values:
Error code if it fails.

 

Example:
GRAPHWIN   50 50 300 300

 

See also:
GRAPHACTIVATE, GRAPHCALC, GRAPHLABELX, GRAPHLABELY, GRAPHTITLE, GRAPHTYPE, mGraphEd.


LIGHT   (BOOL)Enable
Enable/disable the lighting.

Parameters:
Enable    1 (true) enables the lighting; 0 (false) disables the lighting.

Return values:
Error code if it fails.

 

Example:
LIGHT    0
(disables the lighting).

 

See also:
LIGHTAMB, LIGHTCUR, mLight.


LIGHTAMB   (BOOL)Enable
Enable/disable the ambient light.

Parameters:
Enable    1 (true) enables the ambient light; 0 (false) disables it.

Return values:
Error code if it fails.

 

Example:
LIGHTAMB    0
(Disable the ambient light).

 

See also:
LIGHT, LIGHTAMBCOLOR, mLight.


LIGHTAMBCOLOR   (UINT)Color
Change the ambient light color.

Parameters:
Color   

Color in RGB format (0 <= Color <= 16777215).

Return values:
Error code if it fails.

 

Example:
LIGHTAMBCOLOR    16777215
(sets the ambient light color to white).

 

See also:
LIGHT, LIGHTAMB, mLight.


LIGHTCUR   (UINT)LightSource
Set the current light source. After the call of this command, all light functions are referenced to the new light source.

Parameters:
LightSource    Number of the light source from 1 to 4 (default 1).

Return values:
Error code if it fails.

 

Example:
LIGHTCUR    2
(sets the current light source to the number two).

 

See also:
LIGHT, LIGHTCURDIFCOL, LIGHTCUREN, mLight.


LIGHTCURDIFCOL   (UINT)Color
Change the diffuse light color of the current light source.

Parameters:
Color    Color in RGB format (0 <= Color <= 16777215).

Return values:
Error code if it fails.

 

Example:
LIGHTCURDIFCOL    8355711
(sets the diffuse light color to gray).

 

See also:
LIGHT, LIGHTCUR, LIGHTCUREN, LIGHTCURSPECCOL, mLight.


LIGHTCUREN   (BOOL)Enable
Enable/disable the current light source.

Parameters:
LightSource    1 (true) switches on the current light source; 0 (false) switch off it.

Return values:
Error code if it fails.

 

Example:
LIGHTCUREN    1
(enables the current light source).

 

See also:
LIGHT, LIGHTCUR, mLight.


LIGHTCURPOS   (float)PosX   (float)PosY   (float)PosZ
Set the position of the current light source.

Parameters:
PosX
PosY,
PosZ
   Coordinates of the current light source. The allowed values are: -1, 0 and 1.

Return values:
Error code if it fails.

 

Example:
LIGHTCURPOS    1   1   1
(sets the position of the current light to top-right-back position).

 

See also:
LIGHT, LIGHTCUR, mLight.


LIGHTCURSPECCOL   (UINT)Color
Change the specular light color of the current light source.

Parameters:
Color   

Color in RGB format (0 <= Color <= 16777215).

Return values:
Error code if it fails.

 

Example:
LIGHTCURSPECCOL    16777215
(sets the specular light color to white).

 

See also:
LIGHT, LIGHTCUR, LIGHTCURDIFCOL, LIGHTCUREN, mLight.


LOGOPOS   (UINT)Position
Enable/disable the VEGA ZZ logo visualization and set its position. The logo is shown only if a molecule is present in the workspace.

Parameters:
Position    Logo position (0 <= Position <= 9). For the position codes, see GET  LogoPos.

Return values:
Error code if it fails.

 

Example:
LOGOPOS    9
(bottom right position)

 

See also:
LOGOSCALE.


LOGOSCALE   (FLOAT)ScaleFactor
Set the scale factor of the VEGA ZZ logo.

Parameters:
ScaleFactor    Scale factor. Negative values are allowed.

Return values:
Error code if it fails.

 

Example:
LOGOSCALE    0.5 (default value)

 

See also:
LOGOPOS.


MAINWIN   (UINT)PosX   (UINT)PosY   (UINT)SizeX   (UINT)SizeY
Change position and size of the main window.

Parameters:
PosX    X position.
PosY Y position
SizeX Width.
SizeY Height.

Return values:
Error code if it fails.

 

Example:
MAINWIN   0 0 800 600

 

See also:
wMaximize, wMinimize, wRestore.


MATSHINY   (UINT)Shininess
Change the material shininess.

Parameters:
Shininess    Material shininess (from 0 to 100).

Return values:
Error code if it fails.

 

Example:
MATSHINY   15
(sets the material shininess to 15%)

 

See also:
MATSPECULAR, MATVECTSPEC.


MATSPECULAR   (UINT)Specularity
Change the material shininess.

Parameters:
Specularity    Material specularity (from 0 to 100).

Return values:
Error code if it fails.

 

Example:
MATSPECULAR   80
(sets the material specularity to 80%)

 

See also:
MATSHINY, MATVECTSPEC.


MATVECTSPEC   (BOOL)Enable
Enable/disable the vector specularity

Parameters:
Enable    1 (true) enables the vector specularity, 0 (false) disables it.

Return values:
Error code if it fails.

 

Example:
MATVECTSPEC   1
(enables the vector specularity)

 

See also:
MATSHINY, MATSPECULAR.


MENUENABLE   (MCHAR)Status
Enable/disable the main menu.

Parameters:
Status   

It can be All (enable all menu items depending on the VEGA ZZ status) or Calc (enable the menu items for calculation only).

Return values:
Error code if it fails.

 

Example:
MENUENABLE   All
(enables all menu items)

 

See also:
None.


MONITORPOWER   (BOOL)Status
Change the monitor power status (CRT).

Parameters:
Status    1 (true) switches off the monitor (stand-by mode); 1 (true) switches on it.

Return values:
Error code if it fails.

 

Example:
MONITORPOWER   0
(switches off the monitor)

 

See also:
SHUTDOWN.


MOPAC   (CHAR)FileName   (CHAR)Keywords
Use this command to start a Mopac background calculation. To check if the calculation is running, read the ISRUNNING variable.

Parameters:
FileName    It's the full path file name of the input file that VEGA ZZ creates to start Mopac (the .dat extension is optional).
Keywords Mopac keywords. If the CHARGE keyword isn't specified, VEGA ZZ calculates automatically the total charge and it adds this for you.

Return values:
Error code if it fails.

 

Example:
MOPAC "C:\Molecules\a3" "AM1 CHARGE=0 PRECISE"

 

See also:
mCalcMoPac.


MOVIEADD
Add a new video frame to the movie opened by MOVIECREATE command.

 

Parameters:
None.

 

Return values:
0 if it fails, 1 if no error occurs.

 

Example:
MOVIEADD

 

See also:
MOVIECLOSE, MOVICREATE.


MOVIECLOSE
Close the movie file previously created by MOVIECREATE command. Remember that the movie stream is automatically closed when VEGA ZZ exits or when you save a trajectory file in video format.

 

Parameters:
None.

 

Return values:
0 if it fails, 1 if no error occurs.

 

Example:
MOVIECLOSE

 

See also:
MOVIEADD, MOVICREATE.


MOVIECREATE   (CHAR)FileName
This command creates a new movie file. The file extension allows to select the video format that can be: AVI file (.avi), MPEG1 stream (.mpeg or .mpg), MPEG2-VOB (.vob). Calling this command, video encoding window is shown as when you save the MD trajectories in video format.

Parameters:
FileName    File name of the movie that you intend to create.

Return values:
0 if it fails, 1 if no error occurs.

 

Example:
MOVIECREATE "C:\MyMovie.avi"

 

See also:
MOVIEADD, MOVIECLOSE.


OPENDATADIR
Explore the data directory.

 

Parameters:
None.

 

Return values:
None.

 

Example:
OPENDATADIR

 

See also:
None


PLANEANG   (CHAR)Atom1   (CHAR)Atom2   (CHAR)Atom3   (CHAR)Atom4   (CHAR)Atom5   (CHAR)Atom6   (INT)Flags
Measure the angle between two planes defined by two triplets of atoms.

Parameters:
Atom1    Atoms defining the first plane. See SELECT command for the correct syntax.
Atom2
Atom3
Atom4 Atoms defining the second plane.
Atom5
Atom6
Flags Control flags that can be combined by OR logical operator or sum:
  
Flag Value Description
MEAS_3DOBJ 1 Show the measure indicator in the main window.
MEAS_3DTXT 2 Show the measure value in the main window.
MEAS_CONTXT 4 Show the measure value in the console window.

Return values:
The command returns the measure value and if it fails, the error code is reported.

 

Example:
PLANEANG    C1   C3   C5   C29   C31   C33

 

See also:
ANGLE, DISTANCE, SELECT, TORSION.


PLUGINABOUT   (CHAR)PluginName
Show the about information of the specified plug-in.

Parameters:
PluginName    Name of the plug-in.

Return values:
Error code if it fails.

 

Example:
PLUGINABOUT    PowerNet

 

See also:
PLUGINCONFIG, PLUGINCALL, PLUGINGET, PLUGINHELP.


PLUGINCALL  (CHAR)PluginName    (UINT)FunctionNumber
Call a plug-in user function by function number.

Parameters:
PluginName    Name of the plug-in.
FunctionNumber Function number (from 1 to 100).

Return values:
Error code if it fails.

 

Example:
PLUGINCALL    PowerNet   1

 

See also:
PLUGINABOUT, PLUGINCONFIG, PLUGINGET, PLUGINHELP.


PLUGINCONFIG   (CHAR)PluginName
This command opens the plug-in configuration dialog.

Parameters:
PluginName    Name of the plug-in.

Return values:
Error code if it fails.

 

Example:
PLUGINCONFIG    PowerNet

 

See also:
PLUGINABOUT, PLUGINCALL, PLUGINGET, PLUGINHELP.


PLUGINGET   (CHAR)Variable
As the standard GET command, it returns the value of a specific internal variable, but without using the inter-process communication system (e.g. clipboard). It's strongly recommended to use in the plug-in code. For more information see the GET command.

Parameters:
Variable    Variable name.

Return values:
The value of the specified variable.

 

Example:
PLUGINGET   CURLANG

 

See also:
GET.


PLUGINHELP   (CHAR)PluginName
Show the plug-in help.

Parameters:
PluginName    Name of the plug-in.

Return values:
Error code if it fails.

 

Example:
PLUGINHELP    PowerNet

 

See also:
PLUGINABOUT, PLUGINCALL, PLUGINCONFIG, PLUGINGET.


REFRESH
Force the main window refresh.

 

Parameters:
None.

 

Return values:
Error code if it fails.

 

Example:
RERESH

 

See also:
None.


RESETVIEW
Reset the current view, resetting rotations, translations and scale factor. It have the same function of mResetView, but it is not affected by the main menu status (enabled or disabled) and works always.

 

Parameters:
None.

 

Return values:
Error code if it fails.

 

Example:
RESETVIEW

 

See also:
mResetView.


ROTATE   (FLOAT)X    (FLOAT)Y   (FLOAT)Z
Rotate the active object around X, Y and Z axis.

Parameters:
X    X rotation (degree).
Y Y rotation (degree).
Z Z rotation (degree).

Return values:
Error code if it fails.

 

Example:
ROTATE   90   45.5   0

 

See also:
ROTATEVIEW, TRANSLATE, ZOOM.


 

ROTATEVIEW   (FLOAT)X    (FLOAT)Y   (FLOAT)Z
Rotate the point of view around X, Y and Z axis.

Parameters:
X    X rotation (degrees).
Y Y rotation (degrees).
Z Z rotation (degrees).

Return values:
Error code if it fails.

 

Example:
ROTATEVIEW   0   90   0

 

See also:
ROTATE, TRANSLATE, ZOOM.


SAVEIMG   (CHAR)FileName
Save the current view as bitmap or vector file.

Parameters:
FileName   

The name name of the output file. Choose the appropriate extension to select the file format, according to the following table:

   
Extension Format
.bmp Windows Bitmap
.eps Encapsulated PostScript
.gif Compuserve GIF
.jpg JPEG
.pcx ZSoft PCX
.pdf PDF
.png Portable Network Graphics
.pnm PNM
.pov Persist of Vision Raytracer (POV-Ray)
.ps PostScript
.raw Raw data
.svg Scalable Vector Graphics
.sgi Silicon Graphics
.tex LaTex
.tga Targa
.tif Tiff
.wrl VRML
.wrz VRML gzipped

Return values:
Error code if it fails.

 

Example:
SAVEIMG   "C:\SnapShot.gif"

 

See also:
SAVE.


SAVEIMG2D   (CHAR)FileName   (UINT)Width   (UINT)Height
Save the current molecule as 2D sketch.

Parameters:
FileName   

The name name of the output bitmap. Choose the appropriate file extension to select the format, according to thefollowing table:

   
Extension Format
.bmp Windows Bitmap
.emf Enhanced Metafile
.jpg JPEG
.pcx ZSoft PCX
.pdf PDF
.png Portable Network Graphics
.pnm PNM
.raw Raw data
.sgi Silicon Graphics
.svg Scalable Vector Graphic
.tga Targa
.tif Tiff
Width   Image width (ignored by vector formats as EMF and SVG).
Height   Image height (ignored by vector formats as EMF and SVG).

Return values:
Error code if it fails.

 

Example:
SAVEIMG2D   "C:\MySketch.png"

 

See also:
SAVE, SAVEIMG.


SELECT   (CHAR)Selection
With this command it's possible to show/hide (see UNSELECT command) the atoms.

Parameters:
Selection   

The selection uses the following format:

ATOM_NAME:RESIDUE_NAME:RESIDUE_NUMBER:CHAIN_ID:MOLECULE_MUMBER

Each argument of the selection is optional and the maximum length of each field is four characters for the ATOM_NAME, RESIDUE_NAME, RESIDUE_NUMBER, MOLECULE_MUMBER and one character for the CHAIN_ID. The selection is case-sensitive and you can use wildcards (?, *). The SELECT command can be used also to select by atom number.

Return values:
Error code if it fails.

 

Examples:

SELECT    H*    Select all hydrogens
SELECT    C*:ALA    Select all carbons of all alanines
SELECT    CA:*:*:B    Select all alpha carbon of the chain B
SELECT    *:VAL:?    Select all valines in the first 9 residues
SELECT    10    Select the atom number 10

See also:
SELPROX, SELRANGE, UNSELECT, UNSELPROX, UNSELRANGE, mSelectAll, mSelectCustom, mSelectNone, mSelectInvert, mSelectBackbone, mSelectNoHyd, mSelectNoWater.


SELPROX   (MCHAR)Mode   (CHAR)Selection   (UFLOAT)Radius
Show (to hide use UNSELPROX) atoms or residues included in a sphere around specified atom selection.

Parameters:
Mode    Selection mode (ATOM, RESIDUE).
Selection Atom selection. For more detail, see SELECT.
Radius Radius of the spheroid including at least one atom.

Return values:
Error code if it fails.

 

Examples:

SELPROX    ATOM   *:GLY:45   3.0   Show atoms included in a sphere of 3.0 Å radius around GLY 45
SELPROX    RESIDUE   *:*:*:*:2   4.5   Show residues which at least one atom is included in a sphere of 4.5 Å around the molecule # 2.

See also:
SELECT, SELRANGE, UNSELECT, UNSELPROX, UNSELRANGE, mSelectAll, mSelectCustom, mSelectNone, mSelectInvert, mSelectBackbone, mSelectNoHyd, mSelectNoWater.


SELRANGE   (MCHAR)Mode   (UINT)Start   (UINT)End
Show atom or residue ranges specifying the starting and the ending atom/residue number (to hide use UNSELRANGE).

Parameters:
Mode    Selection mode (ATOM, RESIDUE).
Start Staring atom/residue number.
End Endig atom/residue number.

Return values:
Error code if it fails.

 

Examples:

SELRANGE    ATOM   45   101    Show atoms from 45 to 101
SELRANGE    RESIDUE   70   75    Show residues from 70 to 75

See also:
SELECT, SELPROX, UNSELECT, UNSELPROX, UNSELRANGE, mSelectAll, mSelectCustom, mSelectNone, mSelectInvert, mSelectBackbone, mSelectNoHyd, mSelectNoWater.


SELSMARTS   (CHAR)SmartsString

Show atoms according to the SMARTS string (to hide use UNSELSMARTS). When you use this command, you must pay attention, because SMARTS language assumes that the bond order is correctly assigned to the molecule. If this condition is not satisfied, you may obtain wrong selections.

Parameters:
SmartsString    SMARTS string.

Return values:
Error code if it fails.

 

Examples:

SELSMARTS    C=O    Show the carbonylic groups

See also:
SELECT, SELPROX, SELRANGE, UNSELECT, UNSELPROX, UNSELRANGE, UNSELSMARTS, mSelectAll, mSelectCustom, mSelectNone, mSelectInvert, mSelectBackbone, mSelectNoHyd, mSelectNoWater.


 

SETLASTFILENAME   (MCHAR)FileName
Set the pre-defined name used to open a file.

Parameters:
FileName    File name without path and extension.

Return values:
Error code if it fails.

 

Example:

SetLastFileName   "My file"

 

See also:
None


SHUTDOWN
Shutdown (power off) the system, showing a count down window to abort the operation.

 

Parameters:
None.

 

Return values:
Error code if it fails.

 

Example:
SHUTDOWN

 

See also:
MONITORPOWER.


SMARTMOVE   (BOOL)Mode
Enable/disable the SmartMove rendering mode (see View settings).

Parameters:
Mode    If it's true (1), it enables the SmartMove, or if it's false (0), it disables it.

Return values:
Error code if it fails.

 

Example:
SMARTMOVE   0

 

See also:
ANTIALIAS, DEPTHCUE, SMARTMOVEATM, mLight, mShowSettings.


SMARTMOVEATM   (UINT)Atoms
Change the atom threshold to auto enable the SmartMove (see View settings).

Parameters:
Atoms    Number of atoms. If it's null (0), the SmartMove is always active.

Return values:
Error code if it fails.

 

Example:
SMARTMOVEATM   700

 

See also:
ANTIALIAS, DEPTHCUE, SMARTMOVE, mLight, mShowSettings.


SOUNDEFFECTS   (BOOL)Enable
Enable/disable the sound effects for event notifications.

Parameters:
Enable    I1 (true), it enables the sound effects; 0 (false), it disables them.

Return values:
The previous status of the sound effects status: 1 (true) enabled or 0 (false) disabled.

 

Examples:
SOUNDEFFECTS   1

 

See also:
None.


SRFALPHA   (BOOL)Enable
Enable/disable the alpha blending (transparency) of the current surface.

Parameters:
Enable    If it's 1 (true), it enables the alpha blending, or if it's 0 (false), it disables it.

Return values:
Error code if it fails.

 

Examples:
SRFALPHA   1
(Enable the alpha blending).

 

See also:
SRFALPHAVAL, SRFCOLOR, SRFCOLORBY, SRFCUR, SRFDOTSIZE, mSurface.


SRFALPHAVAL   (UINT)AlphaValue
Set the alpha blending value (transparency level) to the current surface. The alpha blending must be enabled to see the effect of this command (SRFALPHA command).

Parameters:
AlphaValue    Alpha blending value. It must be between 0 (invisible) to 255 (opaque).

Return values:
Error code if it fails.

 

Examples:
SRFALPHAVAL   128

 

See also:
SRFALPHA, SRFCOLOR, SRFCOLORBY, SRFCUR, SRFDOTSIZE, mSurface.


SRFCOLOR   (UINT)Color
Change the color of the current surface using the RGB format.

Parameters:
Color    Color in RGB format (0 Color 16777215).

Return values:
Error code if it fails.

 

Examples:
SRFCOLOR   255
(Color the surface in red).

SRFCOLOR   65535
(Color the surface in yellow)

 

See also:
SRFCOLORBY, SRFCOLORGRAD, SRFCUR, mSurface.


SRFCOLORBY   (MCHAR)Method
This command changes the color of the current  surface by a specific method.

Parameters:
Method    Coloring method (ATOM, RESIDUE, CHAIN, SEGMENT, MOLECULE and SURFACE).

Return values:
Error code if it fails.

 

Example:
SRFCOLORBY   RESIDUE
(Color the surface by residue).

 

See also:
SRFCOLOR, SRFCUR, SRFCOLORGRAD, mSurface.


SRFCOLORGRAD  (UINT)Colors
Color the current surface using a gradient of colors. The color assignment is based on the surface property calculated for each dot (e.g. MEP, MLP, ILM, PSA). To define a new gradient of colors, see SRFGRAD.

Parameters:
Colors    Number of gradient colors. It can be from 2 to 6.

Return values:
Error code if it fails.

 

Example:
SRFCOLORGRAD   4
(Color the surface using a gradient defined by four colors).

 

See also:
SRFCOLOR, SRFCOLORBY, SRFCUR, SRFGRAD, mSurface.


SRFDOTSIZE  (UINT)DotSize
Change the dot size of the current surface. The effect of this command is available only with dotted surfaces.

Parameters:
DotSize    Dot size: values between 1 to 4 are for dots and between 5 to 10 are for small spheres.

Return values:
Error code if it fails.

 

Example:
SRFCOLORGRAD   5
(Change the dot size to 5 and, more in detail, switch the visualization from dots  to small spheres).

 

See also:
SRFALPHA, SRFALPHAVAL, SRFCOLOR, SRFCOLORBY, SRFCUR, mSurface.


SRFGRAD  (UINT)Color1   (UINT)Color2   (UINT)Color3   (UINT)Color4   (UINT)Color5   (UINT)Color6
Color the current surface using a gradient of colors. The color assignment is based on the surface property calculated for each dot (e.g. MEP, MLP, ILM, PSA).

Parameters:
Color1
Color2
Color3
Color4
Color5
Color6
   Colors in RGB format (0 Color 16777215) defining the gradient. Unused color must be set to 0.

Return values:
Error code if it fails.

 

Example:
SRFGRAD   65535   255   0   0   0   0
(It defines a two color gradient from yellow to red).

 

See also:
SRFCOLORGRAD, SRFCUR, SRFGRADAUTORNG, SRFGRADRANGE, mSurface.


SRFGRADAUTORNG  (BOOL)Enable
Enable/disable the automatic property range detection used by SRFGARD command. When this function is enabled, VEGA ZZ searches the maximum and the minimum value of the property calculated for each surface dot, in order to use all gradient colors. If you want to use a standardized gradient, you must disable this function and define the property range values by SRFGRADRANGE command.

Parameters:
Enable    If it's 1 (true) or 0 (false), the automatic range will be enabled or not.

Return values:
Error code if it fails.

 

Example:
SRFGRADAUTORNG   0
(It disables the automatic range detection).

 

See also:
SRFCOLORGRAD, SRFCUR, SRFGRAD, SRFGRADRANGE, mSurface.


SRFGRADRANGE  (FLOAT)MinVal   (FLOAT)MaxVal
This command defines the range of the property values that will be used to color the current surface by gradient (see SRFGARD command). It doesn't have effects if the automatic range detection is enabled (see SRFGRADAUTORNG command to disable it). This function is useful to obtain surface maps colored with standardized color gradients.

Parameters:
MinVal    Lower bound of the range of property values.
MaxVal Higher bound of the range of property values.

Return values:
Error code if it fails.

 

Example:
SRFGRADRANGE   -0.5   0.5
(Set the property range from -0.5 to +0.5).

 

See also:
SRFCOLORGRAD, SRFCUR, SRFGRAD, SRFGRADAUTORNG, mSurface.


SRFVISIBLE   (BOOL)Enable
Show/hide the current surface.

Parameters:
Enable

  

If it's 1 (true), the surface is visible, or if it's 0 (false), the surface is invisible.

Return values:
Error code if it fails.

 

Example:
SRFVISIBLE   0
(Disable the surface making it invisible).

 

See also:
SRFCUR, mSurface.


STICKPROP   (UINT)Resolution   (FLOAT)CylinderRad
Change the stick visualization properties.

Parameters:
Resolution    Resolution (8 SphereRes 24).
CylinderRad Cylinder radius (0.05 CylinderRad 0.5).

Return values:
Error code if it fails.

 

Example:
STICKPROP    12   0.20
(Default settings).

 

See also:
BALLSTICKPROP, CPKPROP, TRACEPROP, TUBEPROP, WIREPROP, mShowSettings.


TORSION   (CHAR)Atom1   (CHAR)Atom2   (CHAR)Atom3   (CHAR)Atom4   (INT)Flags
Measure the torsion angle defined by four atoms.

Parameters:
Atom1    Atoms defining the torsion. See SELECT command for the correct syntax.
Atom2
Atom3
Atom4
Flags Control flags that can be combined by OR logical operator or sum:
  
Flag Value Description
MEAS_3DOBJ 1 Show the measure indicator in the main window.
MEAS_3DTXT 2 Show the measure value in the main window.
MEAS_CONTXT 4 Show the measure value in the console window.

Return values:
The command returns the torsion value in degrees and if it fails, the error code is reported.

 

Example:
TORSION    1   2   3   4
(Measure the torsion defined by first, second, third and forth atoms).

 

See also:
ANGLE, DISTANCE, SELECT, PLANEANG.


TRACEPROP   (UINT)CylinderRes    (FLOAT)CylinderRad
Change the trace visualization properties.

Parameters:
CylinderRes     Cylinder resolution (3   CylinderRes 30).
CylinderRad Cylinder radius (0.1 CylinderRad 1.0).

Return values:
Error code if it fails.

 

Example:
TRACEPROP   10   0.4
(Set the trace visualization properties to default).

 

See also:
BALLSTICKPROP, CPKPROP, STICKPROP, TUBEPROP, WIREPROP, mShowSettings.


TRANSLATE   (FLOAT)X    (FLOAT)Y   (FLOAT)Z
Translate the active object along X, Y and Z axis.

Parameters:
X    X translation.
Y Y translation.
Z Z translation.

Return values:
Error code if it fails.

 

Example:
TRANSLATE   90   45.5   0

 

See also:
ROTATE, ROTATEVIEW, ZOOM.


TRJANIMPLAY
Start the trajectory animation playback.

 

Parameters:
None.

 

Return values:
Error code if it fails.

 

Example:
TRJANIMPLAY

 

See also:
OPEN, TRJANIMSET, TRJANIMSPEED, TRJANIMSTOP, TRJOPEN, TRJSEL, TRJSELFIRST, TRJSELLAST, mOpen, mAnalysis.


TRJANIMSET   (UINT)Start    (UINT)End   (BOOL)Loop
Set the trajectory animation range.

Parameters:
Start    Starting frame.
End Ending frame.
Loop If it's 1 (true), the animation is played endlessly, or if it's 0 (false), the animation is played one time only.

Return values:
Error code if it fails.

 

Example:
TRJANIMSET   12   40   1

 

See also:
OPEN, TRJANIMPLAY, TRJANIMSPEED, TRJANIMSTOP, TRJOPEN, TRJSEL, TRJSELFIRST, TRJSELLAST, mOpen, mAnalysis.


TRJANIMSPEED   (UINT)Speed    (UINT)Skip
Set the trajectory animation speed and the number of frames to skip for each animation step.

Parameters:
Speed    Animation speed (0 Speed 500).
Skip Number of frames to skip for each animation step (Skip 0).

Return values:
Error code if it fails.

 

Example:
TRJANIMSPEED   200   0

 

See also:
OPEN, TRJANIMPLAY, TRJANIMSET, TRJANIMSTOP, TRJOPEN, TRJSEL, TRJSELFIRST, TRJSELLAST, mOpen, mAnalysis.


TRJANIMSTOP
Stop the animation playback.

 

Parameters:
None.

 

Return values:
Error code if it fails.

 

Example:
TRJANIMSTOP

 

See also:
OPEN, TRJANIMPLAY, TRJANIMSET, TRJANIMSPEED, TRJOPEN, TRJSEL, TRJSELFIRST, TRJSELLAST, mOpen, mAnalysis.


TRJGRAPHENE
Show the energy data in the Graph Editor, if the energy values match the trajectory file.

 

Parameters:
None.

 

Return values:
Error code if it fails.

 

Example:
TRJGRAPHENE

 

See also:
OPEN, GRAPHCLOSE, TRJOPEN, mOpen, mAnalysis.


TUBEPROP   (UINT)SplineRes   (UINT)CylinderRes    (FLOAT)CylinderRad   (BOOL)BiquadInter
Change the trace visualization properties.

Parameters:
SplineRes    Spiline sesolution (1 SplineRes 20).
CylinderRes  Cylinder resolution (3   CylinderRes 30).
CylinderRad Cylinder radius (0.1 CylinderRad 1.0).
BiquadInter If it's true (1), the biquadratic interpolation is performed; if it's false (0), the cubic interpolation is performed.

Return values:
Error code if it fails.

 

Example:
TUBEPROP   5   10   0.4   0
(Set the tube visualization properties to default).

 

See also:
BALLSTICKPROP, CPKPROP, STICKPROP, TRACEPROP, WIREPROP, mShowSettings.

 


TURBO   (BOOL)Enable
Enable/disable the turbo mode. This function increases the computational speed when you need to process a large number of molecules (e.g. databases and trajectories). The refresh of OpenGL window is synchronized to the monitor vertical scan (usually 60 Hz for LCD monitors) and, for this reason, the processing speed is limited to that frequency. The turbo mode disables the OpenGL update of the main window and in this way the computational thread doesn't need to wait the window refresh.

Parameters:
Enable    If it's true (1), the turbo mode is enabled; if it's false (0), the turbo mode is disabled.

Return values:
None.

 

Example:
TURBO   1
 

See also:

TURBOEX.


TURBOEX   (CHAR)Message
Enable the turbo mode (see TURBO), changing the default message. Use TURBO 0 to revert to the normal mode.

Parameters:
Message    IMessage to be shown in VEGA ZZ main window.

Return values:
None.

 

Example:
TURBOEX   "Hello World !"
 

See also:

TURBO.


UNDOENABLE   (BOOL)Enable
Enable/disable the undo/redo buffer.

Parameters:
Enable    If it's true (1), the undo buffer is enabled; if it's false (0), the undo buffer is disabled.

Return values:
Error code if it fails.

 

Example:
UNDOENABLE   0
 

See also:

UNDOPOP, UNDOPUSH, mRedo, mUndo.


UNDOPOP   (BOOL)Reverse
Pop from the undo buffer. Unlike mRedo and mUndo, this command continue to work even if the main menu is disabled by MENUENABLE.

Parameters:
Reverse    Perform redo instead of undo if set to 1.

Return values:
Error code if it fails.

 

Example:
UNDOPOP   0
 

See also:

UNDOENABLE, mRedo, mUndo.


UNDOPUSH   (CHAR)Message
Push the current molecule to the undo buffer, specifying the message to revert to previous status.

Parameters:
Message    Message to revert the operation.

Return values:
Error code if it fails.

 

Example:
UNDOPUSH   "Undo the last operation"
 

See also:

UNDOENABLE, UNDOPOP, mRedo, mUndo.


UNSELECT   (CHAR)Selection
Hide atoms using pattern matching. See SELECT command.


UNSELPROX   (MCHAR)Mode    (CHAR)Selection   (UFLOAT)Radius
Hide atoms or residues included in a sphere around specified atom selection. See SELPROX command.


UNSELRANGE   (MCHAR)Mode    (UINT)Start   (UINT)End
Hide an atom or a residue range. See SELRANGE command.


UNSELSMARTS   (CHAR)SmartsString
Hide atoms according to the SMARTS string. See SELSMARTS command.


UPDATELASTFILE   (BOOL)Enable
Enable/disable the automatic update of last file in the main menu.

Parameters:
Enable   

If it's true (1), the update of the last file menu is enabled (default status), otherwise if it's false (0), the menu update is disabled. This status is useful if a script is performing a job in which several files are loaded and/or saved, avoiding to loose the history of last files.

Return values:
Error code if it fails.

 

Example:
UPDATELASTFILE   0

 

See also:
OPEN, SAVE, mOpen, mSave.


WIREPROP   (UINT)Thickness    (BOOL)SmoothMode
Change the wireframe visualization properties.

Parameters:
Thickness    Bond thickness (1   Thickness 5).
SmoothMode Smoothing of bond colors (1 = enabled, 0 = disabled).

Return values:
Error code if it fails.

 

Example:
WIREPROP   2   0

 

See also:
BALLSTICKPROP, CPKPROP, STICKPROP, TRACEPROP, TUBEPROP, mShowSettings.


WKSCHANGE   (UINT)WorkspaceNumber 
Change the current workspace.

Parameters:
WorkspaceNumber    Workspace number. It must be grater or equal to 0 and 0 is the main workspace.

Return values:
True (1), if the workspace is correctly changed or false (0), if the specified workspace doesn't exist.

 

Example:
WKSCHANGE   3

 

See also:
WKSCPYATM, WKSLOCK, WKSNEW, WKSNEXT, WKSPREV, WKSREM, WKSREMALL, WKSREMCUR, WKSSETNAME, WKSUNLOCK.


WKSCPYATM   (UINT)DestinationWorkspaceNumber    (UINT)SourceWorkspaceNumber
Copy the atoms from a workspace to another one.

Parameters:
DestinationWorkspaceNumber    Destination workspace ID.
SourceWorkspaceNumber   Source workspace ID.

Return values:
True (1), if the copy is successfully completed or false (0), if an error occurs.

 

Example:
WKSCPYATM   0   1

 

See also:
WKSCHANGE, WKSLOCK, WKSNEW, WKSNEXT, WKSPREV, WKSREM, WKSREMALL, WKSREMCUR, WKSSETNAME, WKSUNLOCK.


WKSLOCK
Lock the current workspace. Until the workspace is locked, it can't be changed. To check the workspace lock status, get the value of WKSLOCKED variable.

 

Parameters:
None.

 

Return values:
Error code if it fails.

 

Example:
WKSLOCK

See also:
WKSCHANGE, WKSCPYATM, WKSNEW, WKSNEXT, WKSPREV, WKSREM, WKSREMALL, WKSREMCUR, WKSSETNAME, WKSUNLOCK.


WKSNEW
Create a new workspace and change the current to it.

 

Parameters:
None.

 

Return values:
Error code if it fails.

 

Example:
WKSNEW

 

See also:
WKSCHANGE, WKSCPYATM, WKSLOCK, WKSNEXT, WKSPREV, WKSREM, WKSREMALL, WKSREMCUR, WKSSETNAME, WKSUNLOCK.


WKSNEXT
Select the next workspace.

 

Parameters:
None.

 

Return values:
True (1), if the workspace is correctly changed or false (0), if the current workspace is the last and there aren't other workspaces.

 

Example:
WKSNEXT

 

See also:
WKSCHANGE, WKSCPYATM, WKSLOCK, WKSNEW, WKSPREV, WKSREM, WKSREMALL, WKSREMCUR, WKSSETNAME, WKSUNLOCK.


WKSPREV
Select the previous workspace.

 

Parameters:
None.

 

Return values:
True (1), if the workspace is correctly changed or false (0), if the current workspace is the first (main).

 

Example:
WKSPREV

 

See also:
WKSCHANGE, WKSCPYATM, WKSLOCK, WKSNEW, WKSNEXT, WKSREM, WKSREMALL, WKSREMCUR, WKSSETNAME, WKSUNLOCK.


WKSREM   (UINT)WorkspaceNumber   (BOOL)Ask
Remove the specified workspace. All contained data are lost.

Parameters:
WorkspaceNumber    Workspace number. It must be grater to 0. The main workspace (0) can't be removed.
Ask If it's true (1) and if the workspace isn't empty, a requester is shown to confirm the operation. If it's false (0), the requester isn't shown.

Return values:
True (1), if the workspace is removed without errors or false (0) if the specified workspace doesn't exist or it's the main workspace (0) or the user aborts the operation.

 

Example:
WKSREM   2   1

 

See also:
WKSCHANGE, WKSCPYATM, WKSLOCK, WKSNEW, WKSNEXT, WKSPREV, WKSREMALL, WKSREMCUR, WKSSETNAME, WKSUNLOCK.


WKSREMALL   (BOOL)Ask
Remove all workspaces deleting all contained data. The main workspace (0) remains unchanged.

Parameters:
Ask    If it's true (1) and if the workspace isn't empty, a requester is shown to confirm the operation. If it's false (0), the requester isn't shown.

Return values:
True (1), if all workspaces are removed without errors or false (0), if the user aborts the operation.

 

Example:
WKSREMALL   0

 

See also:
WKSCHANGE, WKSCPYATM, WKSLOCK, WKSNEW, WKSNEXT, WKSPREV, WKSREM, WKSREMCUR, WKSSETNAME, WKSUNLOCK.


WKSREMCUR   (BOOL)Ask
Remove the current workspace deleting all contained data. The main workspace (0) can't removed.

Parameters:
Ask    If it's true (1) and the workspace isn't empty, a requester is shown to confirm the operation. If it's false (0), the requester isn't shown.

Return values:
True (1), if the workspace is removed without errors or false (0), if the user aborts the operation or if the current workspace is the main one (0).

 

Example:
WKSREMCUR   1

 

See also:
WKSCHANGE, WKSCPYATM, WKSLOCK, WKSNEW, WKSNEXT, WKSPREV, WKSREM, WKSREMALL, WKSSETNAME, WKSUNLOCK.


WKSSETNAME   (CHAR)NewName
Change name of the current workspace.

Parameters:
NewName    New workspace name.

Return values:
Error code if it fails.

 

Example:
WKSSETNAME   "My molecule"

 

See also:
WKSCHANGE, WKSCPYATM, WKSLOCK, WKSNEW, WKSNEXT, WKSPREV, WKSREM, WKSREMALL, WKSREMCUR, WKSUNLOCK.


WKSUNLOCK
Unlock the workspace, allowing to change the current workspace. To check the workspace lock status, get the value of WKSLOCKED variable.

 

Parameters
None.

 

Return values:
Error code if it fails.

 

Example:
WKSUNLOCK

 

See also:
WKSCHANGE, WKSCPYATM, WKSNEW, WKSNEXT, WKSPREV, WKSREM, WKSREMALL, WKSREMCUR, WKSSETNAME, WKSLOCK.


ZCLIP   (UINT)Value
This command sets the Z clipping.

Parameters:
Value    Z clipping value (1 Value 300).

Return values:
Error code if it fails.

 

Example:
ZCLIP   200

 

See also:
ANTIALIAS, DEPTHCUE, mShowSettings.


ZOOM   (UINT)Ratio
Set the zoom ratio.

Parameters:
Ratio    Zoom ratio (Ratio > 0).

Return values:
Error code if it fails.

 

Example:
ZOOM   200

 

See also:
ROTATE, ROTATEVIEW, TRANSLATE, mShowSettings.


Back to the command index

14.5 Dialogs & GUI commands

These commands are available for VEGA ZZ only.

 

 

COLORIDDLG  (CHAR)Title
Show the predefined color dialog and return the VEGA color name.

Parameters:
Title    The title of the dialog box.

Return values:
The return value is the VEGA color name (see COLOR for the color names). If the dialog aborts, NONE string is returned.

 

Example:
COLORIDDLG   "Pick a color:"

 

See also:
COLOR, COLORRGBDLG, OPENDLG, SAVEDLG, mColorSel.


COLORRGBDLG
Show the RGB color table and return the selected color in RGB format.

 

Parameters:
None.

 

Return values:
If the dialog is closed without the color selection, it returns -1, otherwise it returns the selected color in RGB format.

 

Example:
COLORRGBDLG

 

See also:
COLOR, COLORIDDLG, OPENDLG, SAVEDLG, mColorSel.


DIRDLG   (CHAR)Message   (CHAR)Path
Show the directory dialog box.

Parameters:
Message    Message text shown in the main body of the dialog box.
Path Starting directory path.

Return values:
The return value is the full path of the selected directory. If the dialog aborts, a null string is returned.

 

Example:
DIRDLG   "Select a directory:"  "C:\"

 

See also:
OPENDLG, SAVEDLG.


MESSAGEBOX   (CHAR)Message    (CHAR)Title   (INT)Type
This command creates and shows a message box, containing a title, a message and a combination of predefined icons and buttons.

Parameters:
Message    Text message shown in the main body of the box.
Title Title of the message box.
Type It's a combination of flags as the standard MessageBox() Windows function that can be combined by OR logical operator or sum:
  
Flag Value Description
MB_OK 0 The message box contains one push button: OK. This is the default.
MB_YESNO 4 The message box contains two push buttons: Yes and No.
MB_ICONQUESTION 32 A question-mark icon appears in the message box.
MB_ICONSTOP 16 A stop-sign icon appears in the message box.
MB_ICONERROR 16
MB_ICONHAND 16
MB_DEFBUTTON1 0 The first button is the default button.
MB_DEFBUTTON2 256 The second button is the default button.

Return values:
The return value is reported in the Result variable and can be one of the following:

Result Value Description
IDYES 6 Yes button was selected.
IDNO 7 No button was selected.

Example:
MESSAGEBOX    "Do you want continue ?"   "ERROR"    36

 

See also:
MULTISELDLG, STRINGBOX, TEXT.


MINIED   (CHAR)FileName   (CHAR)Title   (INT)Flags
Open the mini text editor included in VEGA ZZ.

Parameters:
FileName     Text file to open. If it's null ("") an empty edit window is opened.
Title Title of the editor window. It can be null ("").
Flags Control flags that can be combined by OR logical operator or sum:
  
Flag Value Description
MINIED_ANSI 1 Force the character set conversion from MS-DOS to ANSI-ISO, loading the file.
MINIED_READONLY 2 The text file is read-only and it can't be changed.
MINIED_SAVEAS 4 Enable the Save As menu item.
MINIED_OPENNEW 8 Enable Open and New menu items.

Return values:
Error code if it fails.

 

Example:
MINIED   "C:\My Documents\ReadMe.txt"   "Read this document" 12

 

See also:
None.


MULTISELDLG   (CHAR)Title   (CHAR)Message   (CHAR)Items   (CHAR)Button   (UINT)Flags
Show the multi-selection dialog box and return one or more choices.

Parameters:
Title     Title of the window. If it's null (""), the default title is shown.
Message Message displayed at the window top. It can be null ("").
Items Items shown in the main list. It's a string in which each item is separated by the pipe character (|).
Example: "First line|Second line|Third line"
Button It's the text shown in the button to confirm the operation.
Flags Control flags that can be combined by OR logical operator or sum:
  
Flag Value Description
MULTISEL_MULTI 1 Allow to select more than one item.

Return values:
This function return the selected items indicating their identification number (1 for the first item, 2 for the second and so on ...). If it aborts, a null string ("") is returned (e.g. clicking the Cancel button or closing the window).

 

Example:
MULTISELDLG   "My title" "Select one item" "First|Second|Third" "Go !" 0
MULTISELDLG   "My title" "Select one or more items" "First|Second|Third" "Go !" 1

 

See also:
MESSAGEBOX, STRINGBOX.


OPENDLG   (CHAR)Title   (CHAR)Path   (CHAR)Filter   (INT)FilterIndex
Show the requester to open a file.

Parameters:
Title    Dialog box title.
Path Starting directory path.
Filter String to filter the files that must be in the following format:

Description1
|Extension1a;Extension1b| ...

where Description is the filter description and Extensions are the filters (with wildcards) associated. Each field must be separated by the pipe character (|) and the semicolon (;) is required between the filter extensions.
Examples:
  • MSF File (*.msf)|*.msf

  • MSF File (*.msf)|*.msf|CRD File (*.crd)|*.crd

  • PDB File (*.pdb, *.ent)|*.pdb;*.ent

  • PDB File (*.pdb, *.ent)|*.pdb;*.ent|Mopac File (*.arc, *.dat)|*.arc;*.dat

If the filter if omitted ("") the default filter is used (All files (*.*)|*.*).

FilterIndex It's the predefined filter index used when the dialog is opened and it must be grater than 0.

Return values:
This function return the selected file name with full path. If it aborts, a null string ("") is returned.

 

Example:
OPENDLG   "Open file:" "C:\" "Executables|*.com;*.exe|Batch files|*.bat" 2

 

See also:
DIRDLG, SAVEDLG.


SAVEDLG   (CHAR)Title   (CHAR)Path   (CHAR)Filter   (INT)FilterIndex
Show the requester to save a file.

Parameters:
Title    Dialog box title.
Path Starting directory path.
Filter String to filter the files. See OPENDLG.
FilterIndex It's the predefined filter index used when the dialog is opened and it must be grater than 0.

Return values:
This function return the selected filter index (for the file format) and file name with full path. If it aborts, a null string ("") is returned.

 

Example:
SAVEDLG   "Save file:" "C:\" "PDB (*.pdb)|*.pdb|Biosym (*.car)|*.car" 1

 

See also:
DIRDLG, OPENDLG.


SAVEMOLDLG   (MCHAR)DefaultFormat
Show the requester to save a molecule.

Parameters:
DefaultFormat    Default file format. The keywords are the same used to select the output file format  (see -f command line option).

Return values:
This function return the selected file format and file name with full path. If it aborts, a null string ("") is returned.

 

Example:
SAVEMOLDLG   IFF

 

See also:
DIRDLG, OPENDLG, SAVEDLG.


STRINGBOX   (CHAR)Title   (CHAR)Message   (CHAR)Default
Open the string box dialog.

Parameters:
Title    Dialog box title. If null, the default title is used.
Message Message shown at the window top. It can be null ("").
Default Default string placed in the edit box.

Return values:
This function return the edited string. If it aborts, a null string ("") is reported.

 

Example:
STRINGBOX   "" "Put your name:" ""

 

See also:
MESSAGEBOX, MULTISELBOX.


TEXT   (CHAR)Message    (BOOL)NewLine
Show a message in the console.

Parameters:
Message    Message text.
NewLine If this flag is true (1), a line feed is automatically added. Please remember that the console buffer is flushed only if a line feed is contained in the message string and thus, if you set NewLine to false (0), the message is shown when the next print operation contains a line feed.

Return values:
Error code if it fails.

 

Example:
TEXT   "Hello World"   1

 

See also:
MESSAGEBOX.


Back to the command index

14.6 Graphic commands

VEGA ZZ includes the capability to show 3D graphic objects. They can be managed by commands which syntax is very similar to OpenGL graphic language, and therefore the graphic environment is named VEGA GL (VGL).
To draw in VEGA ZZ workspace, at least one molecule must be present and the representation isn't updated automatically but it's required to call the Refresh command when new objects are added. Before to draw in the workspace, you must call VGLINIT command.

 

VGLBEGIN   (MCHAR)Primitive
Begin a new section to draw graphic primitives. The primitive vertexes must be added by VGLVERTEX command and the section must be closed by VGLEND command.

Parameters:
Primitive   

New primitive section:

  
Keyword Description
Points It treats each vertex as a single point. Vertex n defines point n. N points are drawn. The point size can be changed by VGLPOINTSIZE.
Lines It treats each pair of vertexes as an independent line segment. Vertexes 2n - 1 and 2n define line n. N/2 lines are drawn. The line width can be changed by VGLLINEWIDTH.
LineStrip It draws a connected group of line segments from the first vertex to the last. Vertexes n and n+1 define line n. N - 1 lines are drawn. The line width can be changed by VGLLINEWIDTH.
LineLoop It draws a connected group of line segments from the first vertex to the last, then back to the first. Vertexes n and n+1 define line n. The last line, however, is defined by vertexes N and 1. N lines are drawn. The line width can be changed by VGLLINEWIDTH.
Triangles It treats each triplet of vertexes as an independent triangle. Vertexes 3n - 2, 3n-1, and 3n define triangle n. N/3 triangles are drawn.
TriangleStrip Draws a connected group of triangles. One triangle is defined for each vertex presented after the first two vertexes. For odd n, vertexes n, n+1, and n+2 define triangle n. For even n, vertexes n+1, n, and n+2 define triangle n. N - 2 triangles are drawn.
TriangleFan It draws a connected group of triangles. One triangle is defined for each vertex presented after the first two vertexes. Vertexes 1, n+1, and n+2 define triangle n. N - 2 triangles are drawn.
Quads It treats each group of four vertexes as an independent quadrilateral. Vertexes 4n - 3, 4n - 2, 4n - 1, and 4n define quadrilateral n. N/4 quadrilaterals are drawn.
QuadStrip Draws a connected group of quadrilaterals. One quadrilateral is defined for each pair of vertexes presented after the first pair. Vertexes 2n - 1, 2n, 2n+2, and 2n+1 define quadrilateral n. N quadrilaterals are drawn. Note that the order in which vertexes are used to construct a quadrilateral from strip data is different from that used with independent data.
Polygon Draws a single, convex polygon. Vertexes 1 through N define this polygon. Non-convex polygon can't be drawn with this function and a tessellation procedure is required.
Spheres It treats each vertex as a single sphere. Vertex n defines point n. N points are drawn. See VGLRADIUS and VGLRADIUS3 to change the sphere radius.
Cylinders It draws a connected group of cylinders from the first vertex to the last. Vertexes n and n+1 define line n. N - 1 lines are drawn. Look VGLRADIUS to change the cylinder radius. To draw a cone, one vertex must have a null cylinder radius.
CylinderStrip It draws a connected group of cylinders from the first vertex to the last. Vertexes n and n+1 define line n. N - 1 lines are drawn. In the junction of two cylinders a sphere is added. Look VGLRADIUS to change the cylinder radius.
CylinderLoop It draws a connected group of cylinders from the first vertex to the last, then back to the first. Vertexes n and n+1 define line n. The last line, however, is defined by vertexes N and 1. N lines are drawn. In the junction of two cylinders a sphere is added. Look VGLRADIUS to change the cylinder radius.

Return values:
Error code if it fails.

 

Example:
VGLBEGIN   LineLoop
VGLVERTEX   -1   -1   0
VGLVERTEX   1   -1   0
VGLVERTEX    1   1   0
VGLVERTEX    -1   1   0
VGLEND

 

See also:
VGLCOLOR, VGLCOLORRGB, VGLEND, VGLNORMAL, VGLVERTEX.


VGLCOLOR   (INT)Color
Change the current color used to draw a primitive.

Parameters:
Color  

New color in 32 bit RGBA format. Each component is 8 bit wide.:

Return values:
Error code if it fails.

 

Example:
VGLBEGIN   Triangles
VGLCOLOR   -1
VGLVERTEX   -1   -1   0
...
VGLEND

 

See also:
VGLCOLORRGB, VGLVERTEX.


VGLCOLORRGB   (INT)R   (INT)G   (INT)B
Change the current color used to draw a primitive.

Parameters:
R    

Red component (from 0 to 255).

G

Green component (from 0 to 255).

B

Blue component (from 0 to 255).

Return values:
Error code if it fails.

 

Example:
VGLBEGIN   Triangles
VGLCOLOR   255   0   0
VGLVERTEX   -1   -1   0
...
VGLEND

 

See also:
VGLCOLOR, VGLVERTEX.


VGLDISABLE   (MCHAR)Function
Disable a function used in the rendering pipeline.

Parameters:

Function

  

For the list of the functions, see VGLENABLE.

Return values:
Error code if it fails.

 

Example:
VGLDISABLE   LineStipple

 

See also:
VGLENABLE.


VGLENABLE   (MCHAR)Function
Enable a function used in the rendering pipeline.

Parameters:
Function    

Rendering function to enable:

     
  
Function Description
Blend Enable the alpha-blending.
CalcNorm

Calculate the surface normals automatically applying the flat-shading algorithm (default). For the vertex-shading algorithm, you must disable this function and you must specify the vertex normals with the VGLNORMAL commans.

CylinderDisk

Close the cylinder extremities with two disks.

LineStipple

Enable the line stipple.

Return values:
Error code if it fails.

 

Example:
VGLENABLE   CylinderDisk

 

See also:
VGLDISABLE.


VGLEND
End the primitive section.

 

Parameters:
None.

 

Return values:
Error code if it fails. If the VGLBEGIN command is not present, an error occurs.

 

Example:
VGLBEGIN   Cylinders
...
VGLEND

 

See also:
VGLBEGIN, VGLVERTEX.


VGLGROUPBEGIN
Begin a group of primitives. That's useful to manage the primitives when they are already putted in the rendering pipeline.

 

Parameters:
None.

 

Return values:
The command return the group ID that will be used to manipulate the primitives with other commands.

 

Example:
VGLGROUPBEGIN
...
VGLGROUPEND

 

See also:
VGLGROUPEND.


VGLGROUPEND
End a group of primitives. That's useful to manage the primitives when they are already putted in the rendering pipeline.

 

Parameters:
None.

 

Return values:
Error code if it fails.

 

Example:
VGLGROUPBEGIN
...
VGLGROUPEND

 

See also:
VGLGROUPBEGIN.


VGLGROUPHIDE   (UINT)GroupID
Hide a group of objects.

Parameters:
GroupID   

Group ID returned by VGLGROUPBEGIN command.

Return values:
Error code if it fails.

 

Example:
VGLGROUPHIDE   257

 

See also:
VGLGROUPBEGIN, VGLGROUPSHOW.


VGLGROUPREMOVE   (UINT)GroupID
Remove a group of objects from the display pipeline.

Parameters:
GroupID   

Group ID returned by VGLGROUPBEGIN command.

Return values:
Error code if it fails.

 

Example:
VGLGROUPREMOVE   257

 

See also:
VGLGROUPBEGIN, VGLGROUPEND.


VGLGROUSHOW   (UINT)GroupID
Show a group of objects.

Parameters:
GroupID   

Group ID returned by VGLGROUPBEGIN command.

Return values:
Error code if it fails.

 

Example:
VGLGROUPHIDE   257

 

See also:
VGLGROUPBEGIN, VGLGROUPHIDE.


VGLINIT
Initialize the rendering pipeline. It must be called always when you decide to use the VEGA GL commands.

 

Parameters:
None.

 

Return values:
Error code if it fails.

 

Example:
VGLINIT

 

See also:
None.


VGLLABEL   (FLOAT)X   (FLOAT)Y   (FLOAT)Z   (CHAR)Text
Add a new text label using the current color.

Parameters:
X    X coordinate.
Y Y coordinate.
Z Z coordinate.
Text Text string.

Return values:
The command returns the label ID.

 

Example:
VGLLABEL   1   -2   0.75 "Hello World !"

 

See also:
VGLCOLOR, VGLCOLORRGB.


VGLLINEWIDTH   (FLOAT)Width
Change the line width. The new value will be applied to the new lines generated after this command.

Parameters:
Width    Line width. The default value is 1.0.

Return values:
Error code if it fails.

 

Example:
VGLLINEWIDTH   2.5

 

See also:
VGLBEGIN, VGLEND.


VGLLOADIDENTITY
Replace the current transformation matrix with the identity matrix. The identity matrix is:

|
|
|
|
|
1 0 0 0 |
|
|
|
|
0 1 0 0
0 0 1 0
0 0 0 1

Parameters:
None.

 

Return values:
Error code if it fails.

 

Example:
VGLLOADIDENTITY

 

See also:
VGLPOPMATRIX, VGLPUSHMATRIX.


VGLNORMAL   (FLOAT)X   (FLOAT)Y   (FLOAT)Z
Change the current normal vector used to calculate the lighting effects. The command has effect only if the CalcNorm function is disabled (see VGLDISABLE). The values must be in the -1 to 1 range.

Parameters:
X     X coordinate (default 0.0).
Y Y coordinate (default 0.0).
Z Z coordinate (default 1.0).

Return values:
Error code if it fails.

 

Example:
VGLNORMAL   1   0   -1

 

See also:
VGLBEGIN, VGLDISABLE, VGLENABLE, VGLEND, VGLVERTEX.


VGLPOINTSIZE   (FLOAT)PointSize
Change the point size. The new value will be applied to the new points added after this command.

Parameters:
PointSize    Line width. The default value is 1.0.

Return values:
Error code if it fails.

 

Example:
VGLPOINTSIZE   1.5

 

See also:
VGLBEGIN, VGLEND.


VGLPOPMATRIX
Pop the current matrix from stack.

 

Parameters:
None.

 

Return values:
Error code if it fails.

 

Example:
VGLPUSHMATRIX
...
VGLPOPMATRIX

 

See also:
VGLPUSHMATRIX.


VGLPUSHMATRIX
Push the current matrix to stack.

 

Parameters:
None.

 

Return values:
Error code if it fails.

 

Example:
VGLPUSHMATRIX
...
VGLPOPMATRIX

 

See also:
VGLPOPMATRIX.


VGLRADIUS   (FLOAT)Radius
Change the x, y, z radii at the same time. The new value will be applied to the new primitives (cylinders, spheres) added after this command.

Parameters:
Radius    Radius value. The default value is 1.0.

Return values:
Error code if it fails.

 

Example:
VGLRADIUS   3.5

 

See also:
VGLBEGIN, VGLEND, VGLRADIUS3.


VGLRADIUS3  (FLOAT)XRadius   (FLOAT)YRadius   (FLOAT)ZRadius
Change the x, y, z radii. The new values will be applied to the new primitives (spheres) generated after this command.

Parameters:
XRadius   

X-radius value. The default value is 1.0.

YRadius

Y-radius value. The default value is 1.0.

ZRadius

Z-radius value. The default value is 1.0.

Return values:
Error code if it fails.

 

Example:
VGLRADIUS3   1   2   1

 

See also:
VGLBEGIN, VGLEND, VGLRADIUS.


VGLROTATE  (FLOAT)Angle   (FLOAT)X   (FLOAT)Y   (FLOAT)Z
Add a new vertex to the primitive using the current parameters (color, normal, radius, etc). It must be placed inside the VGLBEGIN ... VGLEND section, otherwise an error message is shown.

Parameters:
Angle    Rotation angle in degree.
X     Vector X coordinate.
Y    Vector Y coordinate.
Z    Vector Z coordinate.

Return values:
Error code if it fails.

 

Example:
VGLVERTEX   90   1   0   0

 

See also:
VGLSCALE, VGLTRANSLATE.


VGLTRANSLATE  (FLOAT)X   (FLOAT)Y   (FLOAT)Z
Multiply the current matrix by translation matrix.

Parameters:
X     X translation.
Y    Y translation.
Z    Z translation.

Return values:
Error code if it fails.

 

Example:
VGLTRANSLATE   1   -5   8

 

See also:
VGLSCALE, VGLROTATE.


VGLSCALE   (FLOAT)X   (FLOAT)Y   (FLOAT)Z
Multiply the current matrix by general scaling matrix.

Parameters:
X     X scale factor.
Y    Y scale factor.
Z    Z scale factor.

Return values:
Error code if it fails.

 

Example:
VGLPUSHMATRIX
VGLSCALE   2   2   2
...
VGLPOPMATRIX

See also:
VGLROTATE, VGLTRANSLATE.


VGLVERTEX   (FLOAT)X   (FLOAT)Y   (FLOAT)Z
Add a new vertex to the primitive using the current parameters (color, normal, radius, etc). It must be placed inside the VGLBEGIN ... VGLEND section, otherwise an error message is shown.

Parameters:
X     X coordinate.
Y Y coordinate.
Z Z coordinate.

Return values:
Error code if it fails.

 

Example:
VGLBEGIN   Points
VGLVERTEX   1   1.5   -2.0
...
VGLEND

 

See also:
VGLBEGIN, VGLCOLOR, VGLCOLORRGB, VGLEND, VGLNORMAL, VGLRADIUS, VGLRADIUS3.


Back to the command index

14.7 FMod commands

These commands are the interface to fmod music library (Music and Sound Effect System). Include the file Scripts\Common\fmod.r to support the REBOL programming.

 

 

MUSICPLAY   (CHAR)FileName   (UINT)Flags
Play a music file that can be in  .MOD (ProTracker/FastTracker modules), .S3M (ScreamTracker 3 modules), .XM (FastTracker 2 modules), .IT (Impulse Tracker modules), .MID (MIDI files), .RMI (MIDI files), .SGT (DirectMusic segment files) and .FSB (FMOD Sample Bank files) format.

Parameters:
FileName    File to play.
Flags Fmod initialization flags (see SONGPLAY).

Return values:
Error code if it fails.

 

Example:
MUSICPLAY    "MyMusic.mid"

 

See also:
SONGPLAY, MUSICSTOP.


MUSICSTOP
Stop the music started with MUSICPLAY.

 

Parameters:
None.

 

Return values:
Error code if it fails.

 

Example:
SONGSTOP

 

See also:
MUSICPLAY.


SONGPLAY   (CHAR)FileName   (UINT)Flags
Play a music stream file in MPEG layer 2/3, Wav (using ACM codecs), WMA, ASF and RAW format.

Parameters:
FileName    File to play.
Flags Fmod initialization flags.
 
Flag Value Description
FSOUND_LOOP_OFF 1 For non looping samples.
FSOUND_LOOP_NORMAL 2 For forward looping samples.
FSOUND_LOOP_BIDI 4 For bidirectional looping samples. (no effect if in hardware).
FSOUND_8BITS 8 For 8 bit samples.
FSOUND_16BITS 16 For 16 bit samples.
FSOUND_MONO 32 For mono samples.
FSOUND_STEREO 64 For stereo samples.
FSOUND_UNSIGNED 128 For user created source data containing unsigned samples.
FSOUND_SIGNED 256 For user created source data containing signed data.
FSOUND_DELTA 512 For user created source data stored as delta values.
FSOUND_IT214 1024 For user created source data stored using IT214 compression.
FSOUND_IT215 2048 For user created source data stored using IT215 compression.
FSOUND_HW3D 4096 Attempts to make samples use 3d hardware acceleration. (if the card supports it).
FSOUND_2D 8192 Ignores any 3d processing. Overrides FSOUND_HW3D. Located in software.
FSOUND_STREAMABLE 16384 For a streamomg sound where you feed the data to it. If you dont supply this sound may come out corrupted. (only affects a3d output).
FSOUND_LOADMEMORY 32768 "name" will be interpreted as a pointer to data for streaming and samples.
FSOUND_LOADRAW 65536 Will ignore file format and treat as raw pcm.
FSOUND_MPEGACCURATE 131072 For FSOUND_Stream_OpenFile - for accurate FSOUND_Stream_GetLengthMs/FSOUND_Stream_SetTime. WARNING, see FSOUND_Stream_OpenFile for inital opening time performance issues.
FSOUND_FORCEMONO 262144 For forcing stereo streams and samples to be mono - needed if using FSOUND_HW3D and stereo data - incurs a small speed hit for streams.
FSOUND_HW2D 524288 2D hardware sounds. allows hardware specific effects.
FSOUND_ENABLEFX 1048576 Allows DX8 FX to be played back on a sound. Requires DirectX 8 - Note these sounds cannot be played more than once, be 8 bit, be less than a certain size, or have a changing frequency.

Return values:
Error code if it fails.

 

Example:
SONGPLAY    "MyMusic.mp3"

 

See also:
SONGSTOP, SONGVOL.


SONGSTOP
Stop the song streaming.

 

Parameters:
None.

 

Return values:
Error code if it fails.

 

Example:
SONGSTOP

 

See also:
SONGPLAY, SONGVOL.


SONGVOL   (UINT)Volume
Set the volume.

Parameters:
Volume    Volume level (0 <= Volume <= 255).

Return values:
Error code if it fails.

 

Example:
SONGVOL    128

 

See also:
SONGPLAY, SONGSTOP.


Back to the command index

15. The HyperDrive technology

HyperDrive is a core library including several time-critical functions required by VEGA ZZ for high speed computing. The highly optimized and and parallel code, especially designed for the modern CPUs, allows to speed-up the programs and make faster the development without deep skills in programming. Moreover, the library offers features that are useful not only in developing of molecular modelling software, but also of generic application. In particular, the key features are here summarized:

HyperDrive requires an initialization phase that is executed by the host application when it starts. The host application can choose the appropriate HyperDrive version for the installed microprocessor and the HyperDrive detects the number of CPUs switching itself to run in sequential mode (one CPU) or in parallel mode:

 

 HyperDrive initialization

 

After the initialization phase, the host application can call the HyperDrive functions in transparent mode as a normal library: the HyperDrive library select internally the most appropriate code for that hardware/software system and if it can run more than one thread at the same time at hardware level such as for multicore or SMT CPUs, the code is executed in parallel:

 

HyperDrive parallelism

 

 

HyperDrive library includes several functions that are shown in the following table according to their application field:

 

Molecular modelling functions    
  • Generic functions to build molecules.
  • Functions to manage ATDL templates and assign the atom types.
  • Bond management, connectivity build and chirality detection.
  • Functions to check and assign the partial atomic charges.
  • Lipophilicity prediction.
  • Molecular mechanics.
  • Surface calculation (SSE and OpenCL accelerated).
Mathematical and statistical functions
  • Discrete Fourier transformation.
  • Linear regression.
  • Matrix manipulation
  • Receiver Operating Characteristic curve calculation.
  • Generic statistics functions.
Low level
  • Accelerated memory management.
  • Argument parser.
  • Base64 encoding/decoding.
  • Cyclic redundancy check (CRC16, CRC32, CRC64 and MD5).
  • Directory manipulation.
  • Endian management.
  • File management.
  • Interchange File Format (IFF) management.
  • Memory lists.
  • Memory streams.
  • Multithreading (threads, mutex, semaphore barriers and CPU detection).
  • Network (sockets, HTTP client, WOL client).
  • OpenCL helper (to simplify the OpenCL programming).
  • Process management .
  • Pseudo-random number generator.
  • Secure Socket Layer (SSL).
  • Sort (Insert sort, quick sort and fast parallel quick sort for large data sets).
  • Internal spreadsheet implementation.
  • String manipulation.
  • Time functions.

 


16. Cluster rendering (WireGL)

VEGA ZZ includes the support for cluster rendering provided by the WireGL library developed at Stanford Computer Graphics Lab. VEGA ZZ recognizes WireGL maximizing the rendering performance for this library.

 

WARNING:

The files required for this feature were removed from 3.1.2 setup, but are available on request.

  

16.1 How WireGL works (from the original manual)

WireGL is implemented using the standard client/server network model. The client acts as a graphics source, generating graphics commands to be rendered on the cluster. The server machines act as graphics sinks, receiving graphics commands from the network and rendering them. Below is a diagram of the WireGL system.

 

WireGL schematics

 

The WireGL client (on the left) runs the host application. The client works by replacing the system opengl32.dll or libgl.so with its own library which exports the same OpenGL interface. The application therefore does not need to be modified in any way to work with the WireGL client driver. When the application loads, it will dynamically link with the WireGL client driver which will connect and begin transmitting graphics commands to the rendering servers.

The WireGL servers are responsible for rendering the graphics commands on the client's behalf. Each rendering server is connected to an output device, typically a projector, which are arranged to create a tiled display. The server is configured to only output its portion of the display.

 

16.2 Configuration of the rendering servers

The configuration of the rendering server is very easy: you must make a copy of the WireGL Server directory (see the VEGA installation folder) to each workstation performing the distributed rendering. Two are the ways to run the software:

Here are reported the pipeserver command line options. There are useful if you want use configurations not supported by the batch files.

 

-p portnum
Specifies the port number to respond to client requests.

 

-f
Specifies full screen mode. Opens an undecorated full screen window for rendering.

 

-h
Displays command line option help.

 

-nogfx
Disregard all graphics commands.

 

-sync
Make the X connection synchronous. (Non-Windows only.)

 

-install
Install the pipeserver as a Windows service. (Windows only.)

 

-remove
Remove the pipeserver from the Windows service registry. (Windows only.)

  

16.3 Client configuration

OpenGL Setup utility allows to install the WireGL rendering library: you must select WireGL and click Apply button. During the installation the wiregl.conf file is created in VEGA ZZ installation directory, containing the default parameter for the local rendering at 800x600 resolution trough the TCP/IP network. To test WireGL on the local machine, you must start the rendering server (run StartServer.bat in the WireGL Server directory) and VEGA ZZ: if it's all right, the OpenGL output will be redirected to a separated 800x600 window.
The wiregl.conf file must be changed to inform the WireGL client about the servers (pipeservers) that will be used for the tile rendering.
The following documentation is extracted from the original manual and it's copyrighted by the WireGL Authors.

The wiregl.conf file defines the layout and locations for the pipeservers the WireGL client is to use for rendering. This file is parsed when the context is created, typically at application startup. Below is an example of a simple config file for two rendering servers:

# Setup Machine1
pipe tcpip://machine1.stanford.edu
pipe_extent 0 0 1024 768

# Setup Machine2
pipe gm://machine2
pipe_extent 1024 0 1024 768

Each pipeserver is defined starting with the pipe command which indicates the connection information. In the above example, the connection to machine1 is made using TCP/IP, while machine2 uses Myrinet's GM. The pipe_extent line specifies which part of the output display the server is responsible for rendering. In this case, machine1 will render the left 1024x768 and machine2 renders the right 1024x768.

Here is the list of configuration commands:

 

pipe conntype://machinename:port
Begins a pipeserver definition. conntype can be tcpip for a TCP/IP connection or gm for a Myrinet GM connection. machinename is the name which should be used for making the connection on the specified connection type. The port (optional) indicates which TCP/IP port the machine should use to make the connection (default 7000).

 

pipe_extent x_start y_start width height
Determines what portion of the pipeserver is responsible for entire output. The coordinates (x_start, y_start) establish the offset from the lower left corner of the tiled display. (width, height) determine the size of the rendering window. Default (0 0 1024 768).

 

pipe_window x y
Determines the upper left corner position of the rendering window on the server desktop.

 

feather_top size cp1 cp2 cp3 cp4
feather_bottom size cp1 cp2 cp3 cp4
feather_left size cp1 cp2 cp3 cp4
feather_right size cp1 cp2 cp3 cp4
Controls the feathering for overlaping tiles. size is the number of pixels to apply the feathering. (cp1, cp2, cp3, cp4) are the control points for a cubic spline used for evaluating the alpha values.

 

sync_on_swap z
If z is "1", the client waits until each pipeserver is done rendering before allowing the the swap command to return to the application. If "0", then client can issue commands as fast as the network will allow. Default: 0.

 

sync_on_finish z
If z is "1", the client waits until each pipeserver is done rendering before returning from glFinish call to the application. If "0", glFinish will flush any network pipes but return before actual rendering is complete. Default: 0.

 

draw_bbox z
If z is "1", the client draws bounding boxes used for geometry bucketing. Default: 0.

 

bucket_size n
Sets the number of bytes of client side buffering before geometry bucketing is performed. This can be increased/decreased to improve bucketing preformance. Default: 8192.

beginend_max n
Sets the maximum number of glBegin/glEnd blocks between geometry bucketing operations. This can be set to improve bucketing preformance. Default: 2^32.

 

broadcast z
If z is "1", geometry bucketing is disabled. All primatives will be sent to each pipeserver. Default 0.

 

depth_bits n
Specifies the default depth bits used in rendering. Default: 24.

 

stencil_bits n
Specifies the default stecil bits used in rendering. Default: 8.

 

use_ring z
If z is "1", configures WireGL into "ring mode" where servers are connected in using a ring topology instead of direct connections to the client. Can improve performance in some serial applications. Default: 0.

 

Examples:

# 2x1 configuration
# TCP/IP network

# Resolution:
# Each display: 1024x768
# Each server:  1024x768
# Total:        2048x768

# Setup Machine1
# Left
pipe tcpip://machine1.farma.unimi.it
pipe_extent 0 0 1024 768
# Setup Machine2
# Right
pipe tcpip://machine2.farma.unimi.it
pipe_extent 1024 0 1024 768

# 3x3 configuration (virtual)
# 3 displays for each server thanks to the Matrox 
# extended desktop (Parhelia or P750 cards required)
# TCP/IP network

# Resolution:
# Each display: 1024x768
# Each server:  3072x768
# Total:        3072x2304

# Setup Machine1
# Top (first row)
pipe tcpip://machine1.farma.unimi.it
pipe_extent 0 0 3072 768
# Setup Machine2
# Center (second row)
pipe tcpip://machine2.farma.unimi.it
pipe_extent 0 768 3072 768
# Setup Machine3
# Center (third row)
pipe tcpip://machine3.farma.unimi.it
pipe_extent 0 1536 3072 768

# 3x2 configuration
# 30 pixel overlap between projectors
# Using a linear alpha ramp for feathering
# TCP/IP network

# Resolution:
# Each display: 1024x768
# Each server:  1024x768
# Total:        3012x1506 (including overlapping)

# Turn on swap syncing
sync_on_swap 1

# Setup Machine1
# Lower left
pipe tcpip://machine1.stanford.edu
pipe_extent 0 0 1024 768
feather_top 30 1.0 0.666 0.333 0.0
feather_right 30 1.0 0.666 0.333 0.0

# Setup Machine2
# Lower middle
# Note: 1024-30=994
pipe tcpip://machine2.stanford.edu
pipe_extent 994 0 1024 768
feather_top 30 1.0 0.666 0.333 0.0
feather_right 30 1.0 0.666 0.333 0.0
feather_left 30 1.0 0.666 0.333 0.0

# Setup Machine3
# Lower right
# Note: 1024-30+1024-30=1988
pipe tcpip://machine3.stanford.edu
pipe_extent 1988 0 1024 768
feather_top 30 1.0 0.666 0.333 0.0
feather_left 30 1.0 0.666 0.333 0.0

# Setup Machine4
# Upper left
# Note: 768-30=738
pipe tcpip://machine4.stanford.edu
pipe_extent 0 738 1024 768
feather_bottom 30 1.0 0.666 0.333 0.0
feather_right 30 1.0 0.666 0.333 0.0

# Setup Machine5
# Upper middle
pipe tcpip://machine5.stanford.edu
pipe_extent 994 738 1024 768
feather_bottom 30 1.0 0.666 0.333 0.0
feather_right 30 1.0 0.666 0.333 0.0
feather_left 30 1.0 0.666 0.333 0.0

# Setup Machine6
# Upper right
pipe tcpip://machine6.stanford.edu
pipe_extent 1988 738 1024 768
feather_bottom 30 1.0 0.666 0.333 0.0
feather_left 30 1.0 0.666 0.333 0.0

17. Creating a new template

VEGA and VEGA ZZ uses two types of template files: the former is for atom types, and the latter is for atomic charges.

 

17.1 Force field template

By ATDL (Atom Type Description Language), you can expand VEGA adding new atom types and/or new force field templates. Actually, VEGA supports the following pre-defined templates:

Force Field Package
AM1BCC AM1BCC.
AMBER Amber.
AUTODOCK AutoDock 4 force field (based on AMBER).
BOND Used by VEGA to calculate the bond types (single, double, partial double and triple).
BROTO Broto and Moreau atom types for logP calculation.
CFF91 Accelrys CFF91.
CHARMM Accelrys Quanta/CHARMm.
CHARMM22_LIG CHARMM 22 for ligands, including CHARMM22_PRO.
CHARMM22_LIPID CHARMM 22 for lipids.
CHARMM22_NA CHARMM 22 for nucleic acids.
CHARMM22_PRO CHARMM 22 for proteins.
CHARMM27 CHARMM 27 for proteins.
CHARMM36_GEN CHARMM 36 for generic use. The use of this template is not recommended for proteins and nucleic acids.
CRIPPEN Ghose and Crippen atom types for logP calculation.
CRIPPEN_MR Ghose and Crippen atom types for molar refractivity calculation
CVFF Accelrys CVFF.
GRID Grid.
GROUPS Used by VEGA to detect the functional groups.
HBOND H-bond atom types (for internal use).
MENG By Elanie C. Meng and Richard A. Lewis.
MM+ MM+.
MM2 MM2 by N .L. Allinger.
MM3 MM3 by N .L. Allinger.
MMFF MMFF94.
OPLS OPLS.
SP4 Used by VEGA to generate the AMMP input files.
TRIPOS Sybyl by Tripos.
UNIV Used by VEGA to assign the Gasteiger-Marsili atom charges.
VINA AutoDock Vina force field (based on AMBER).

A force field template is a file storing the atom type descriptions with uppercase name (corresponding to the force field name) and .tem lowercase extension (e.g. AMBER.tem, CVFF.tem, etc). All template files are placed in Data directory. Please remember that the .tem extension is for all VEGA templates and not for force field only.

In all template files the first column can contain special control characters:

Character Description
; Comment marker
# Keyword or command marker

The first line must contain a keyword needed for file type recognition. For force field it must be:

#TemplateFF   [TEMPLATE_NAME]   [VERSION]

where TEMPLATE_NAME is the name of the force field template and VERSION is the revision number.

#TemplateFF CVFF 3.0

After this keyword, you can place the atom type description. The first column is the atom type name (max 8 characters), the second is the atom description in ATDL and the third contains the description of bonded atoms (also in ATDL).
In this last column, each group of atoms limited by parenthesis contains all atoms bonded to precedent atom:

C-300 (O-100 O-100)

This line describes a carboxylic carbon: a sp2 carbon bonded to two oxygens making one bond only. More than one levels of parenthesis can be used for complex description of atom types:

C-300 (O-100 O-200 (C-900) C-900)

This line describes a carbonylic carbon of an ester group, bonded to a generic carbon. The O-200 is also bonded to a generic carbon.
Please remember that VEGA reads the line from left to right and thus the more restrictive atom description must placed in more left side of line:

C-400 (C-300 X-900 X-900 X-900)

and not:

C-400 (X-900 X-900 C-300 X-900)

If VEGA finds a C-300 as first or second atom bonded to a sp3 carbon, this is recognized as a more generic X-900 atom and can't be reassigned to the next more specific description.
The description sequence of each atom type goes from more to less specific, from upper to lower line:

cn	C-400 (N-300 X-900 X-900 X-900) ; more specific
c 	C-400 (X-900 X-900 X-900 X-900) ; less specific

If the order of this two lines is swapped, when VEGA finds a carbon bonded to a sp3 nitrogen, the atom type recognized is a generic c an not a cn.

 

17.1.1 ATDL atom description

 

ATDL

 

Each atom can be defined by a five character string. The first two characters are the element symbol of atom. If the element symbol is one character only, the second character must be a dash (-). For a better description, special elements can be used:

 

Special element Description
X Any atom.
# Heavy atom (all atoms excluding hydrogens).
$ Any atom excluding carbons and hydrogens.
@ Halogen (F, Cl, Br and I).

 

The third character is the bond order: use values from 1 to 6 for real bond order, 0 for non-bonded atom and 9 for a bonded atom with a non-specified bond order.
The fourth character is the ring indicator: use values from 3 to 7 if the atom is a 3 to 7-ring member, 0 for a non-ring member atom and 9 for a non-specified ring atom.
The fifth character is the aromatic indicator: 0 for non-aromatic atom and 1 for aromatic atom.
The ATDL language allows to use AND, OR and NOT operators (&, | and !) inside a logical expression included between square.

 

Examples:

 

17.2 Atomic charge template

This template file is much different from the first one, because the atom recognition is based on the residue names and the atom names. The control characters are the same of the force field template.

The first line must contain a keyword needed for file type recognition. For force field it must be:

#TemplateCharge [TYPE] [TEMPLATE_NAME]

where TYPE is the template charge type (Gasteiger or Fragments) and TEMPLATE_NAME is the name of the template. Please remember that the template name must be the same one of the file without the extension.
Example:

#TemplateCharge   Fragments   CHARMM22_CHAR

After this keyword it could be present the optional template title/description:

#Title   [TEMPLATE_TITLE]

Spaces and special characters are allowed.
Example:

#Title   Gasteiger-Marsili charges

After these two keywords, the file can be different if the template type is Gasteiger or Fragments

 

17.2.1 Gasteiger template

The Gasteiger template is very easy: after the header it's a list of records one for each line. Each record has six fields as reported in the following table:

Field Description
Type Atom type. See the UNIV.tem file in the Data directory.
a Gasteiger a parameter. See Tetrahedron, 36, 3219, 1980 and Croat.Chem.Acta, 53, 601, 1980.
b Gasteiger b parameter.
c Gasteiger c parameter.
d Gasteiger d parameter (a + b + c).
Charge Formal charge.

 

17.2.2 Fragment template

The fragment template is a little bit complex because it uses some keywords. To define a new residue, you must use the #ResName tag:

 

#ResName   [NAME1]   [NAME2] ... [NAME16]

e.g.   #ResName   ALA   ALAN

 

In this way, you define a new residue that it could have one of the specified names. The maximum number of names is 16 and the maximum length of each name is 4 characters.

This tag could be followed by other optional keywords:

 

#Id   [ID]

e.g.   #Id   AA_ALA

 

This command defines an unique residue identificator. It can be used by the #Call command (see below) and its maximum length is 31 characters.

 

#Description   [SHORT_DESCRIPTION]

e.g.   #Description   Alanine (protonated N-terminus)

 

It allows to specify a short description for the residue or for the macro (see below). Its maximum size is 127 characters.

 

#Charge   [CHARGE]

e.g.   #Charge   1.0

 

This optional keyword specifies the residue total charge. The number should be a positive or a negative floating point number.

After these optional keywords, that must be after the #ResName tag, the atom section begins. Each atom is defined in a line with the following fields:

 

[CHARGE]   [GROUPID]   [BONDS]   [NAME1]   [NAME2] ... [NAME8]

 

Where:

Field Description
CHARGE Atom partial charge.
GROUPID Group/fragment identification number. It's a positive integer starting from 1 to 255.
BONDS Number of atom bonds. It can be from 0 (non bonded) to 6. If it's greater than 6, the number of bonds isn't checked.
NAME1
...
NAME8
The atom names. The maximum number of atom names (aliases) is 8 and their maximum length is 4 characters.

e.g.   0.3100   1   1   HN   H   H1

 

This is a complete residue template example:

#ResName ALA
#Id ALA
#Description Alanine
#Charge  0.0000
 -0.4700   1 3 N
  0.3100   1 1 HN   H    H1
  0.0700   1 4 CA
  0.0900   1 1 HA
 -0.2700   2 4 CB
  0.0900   2 1 HB1
  0.0900   2 1 HB2
  0.0900   2 1 HB3
  0.5100   3 3 C
 -0.5100   3 1 O

In red are reported the optional keywords.

In order to simplify the template writing and to make more compact the file size, it's possible to create macros inside the file that must be defined before the use. To begin a new macros, you must use the following command:

 

#Define   [MACROID]

e.g.   #Define  AMINO_CT

 

Where the MACROID is the unique identification name of the macro. It have the same function of the #Id command inside the #ResName section. Inside the macro, you can use the #Description, #Call, #Delete commands and the atom records.

 

#Call   [RESIDUEID_OR_MACROID]

e.g.   #Call   AA_ALA

 

This command call a residue or a macro executing its commands. It can be placed inside a macro or a residue section.

 

#Delete   [ATOM_NAME]

e.g.   #Delete   O

 

This keyword deletes an atom previously defined in a residue section.

 

Please remember that an atom record inside a macro could replace a previous one if they have the same first atom name. This is a macro example:

#Define AMINO_CT
#Description C-terminus
  0.3400   9 3 C
 -0.6700   9 1 OT1  OCT1 O1   O
 -0.6700   9 1 OT2  OCT2 O2   OXT
#Delete O

Using this macro and an aminoacid residue definition, it's possible to obtain a new one specific for the C-terminal aminoacid:

#ResName ALA ALAC
#Id ALAC
#Description Alanine (negative C-terminal)
#Charge -1.0000
#Call ALA
#Call AMINO_CT

The first call copies the atom definitions from the ALA residue and the second call applies the AMINO_CT macro that change the C atom, add the two carboxyl oxygen, and delete the carbonyl oxygen (O).


18. VEGA ZZ tutorials

 

 

 

 

 


How to build a small molecule

 

1. Introduction
2. What's you need
3. The molecule to build

    3.1 PubChem download

    3.2 IUPAC builder

    3.3 SMILES builder

    3.4 Ketcher 2D editor

    3.5 3D molecular editor
4. Structure optimization
5. Conformational search

6. Final optimization

 

1. Introduction

This tutorial explains how to build a small molecule (e.g. a ligand) by using the 2D and 3D molecular editors included in VEGA ZZ and how to perform a systematic conformational search (grid scan) in order to find the best conformer.

 

2. What you need

 

3. The molecule to build

VEGA ZZ includes some molecular editors with different features. The most intuitive editors are 2D, because you can build a molecule as shown on a paper sheet, but the most powerful is 3D, because allows you to change the molecules directly in the workspace with a total control of stereochemistry and geometrical isomerism. Moreover, VEGA ZZ can build molecules starting from their 1D structures from SMILES strings or IUPAC names, but these editors are not so intuitive. Finally, if you are lucky, you can download the 3D structure from PubChem database and show it in the VEGA ZZ environment.

For example, imagine you want to build imipramine or 3-(10,11-dihydro-5H-dibenzo[b,f]azepin-5-yl)-N,N-dimethylpropan-1-amine:

 

Imipramine 2D structure
Imipramine

3.1 PubChem download

The easiest way to obtain a small molecule is to download it from PubChem library. VEGA ZZ includes the possibility to do that without the use of a Web browser.

 

3.2 IUPAC builder

If you know the 1D structure as IUPAC name of a small molecule, you can try to build it directly by using this information.

 

3.3 SMILES builder

Another possibility to build a molecule from 1D structure is the use of its SMILES string.

 

 

3.4 Ketcher 2D editor

VEGA ZZ package includes a 2D molecular editor named Ketcher provided by GGA Software Services. It's very intuitive and easy to use.

 

3.1 3D molecular editor

Imagine you want to build imipramine using the 3D molecular editor. The editor is based on fragment databases containing building blocks that can be combined each other to complete a more complex structure. For this reason, you must cut the molecule in less complex fragments that will be assembled as indicated in the following scheme:

 

Imipramine fragments

 

Excluding initially the heteroatoms, the molecule can be fragmented in a tricyclic system (Dibenzo[a,d]cycloheptane), in a n-butyl chain and in two methyl groups.

The first building block

Atom to click

Hydrogen to remove

The hydrogen will be deleted. Click Done to close the window.

Butane hydrogen to click

Hydrogen to click

Carbon to click

Hydrogen to remove

Click Done to close the window.

Ammine hydrogen to click

Final 3D structure

 

4. Structure optimization

In this section will be explained how to perform a conjugate gradient minimization in order to optimize the rough 3D structure.

 

5. Conformational search

In order to find a reasonable lowest energy conformation, it will be explained how to perform the conformational search of the built molecule. The flexible torsions (dihedrals) will be systematically rotated by an angle value (grid scan) and each conformation will be optimized  in order to find the best minimum.

 

6. Final optimization

If the molecular mechanics is not enough for you, you can perform a final optimization by semi-empirical calculation such as MOPAC.

 


Energy minimization of a protein with NAMD

 

1. Introduction
2. What's you need
3. NAMD installation
4. Protein download
5. Protein preparation
6. NAMD minimization
7. Analysis of the results
9. Using the atom constraints
    9.1 Atom fixing
    9.2 Atom constraints

 

1 Introduction

VEGA ZZ allows to run NAMD calculations in easy way without the use of external software. In this tutorial, it will explained step-by-step how to perform a simple conjugate gradients energy minimization of the crambin crystallographic structure with constraints.

 

2 What you need

 

3 NAMD installation

 

4 Protein download

You can download the crambin (1CRN) structure by using the PDB Web interface or the tool integrated in VEGA ZZ:

 

5 Protein preparation

 

6 NAMD minimization

All input files required by NAMD are automatically generated by VEGA ZZ.

 

7 Analysis of the results

The calculation results are placed in the same directory in which you saved the crambin structure and the most interesting files are two: 1CRN.dcd (trajectory file) and 1CRN.out. The first one is a binary file that can't be opened by a text editor. It contains the atom coordinates of each saved frame (10 frames, because one frame every 1000 was saved). The second one is a text files containing the output messages generated by NAMD and the energy information.

 

8. Using the atom constraints

In order to keep the structure more close to the original crystallographic data, a common procedure is to apply atom constraints to the protein backbone. In this way, the side chains can relax themselves keeping the secondary structure. NAMD and VEGA ZZ allow to constraint the atoms in two modes: fixing the atoms or applying a force constant to the atoms restraining their movements.

 

8.1 Atom fixing

 

8.2 Atom constraints


Molecular dynamics of a non-peptidic molecule with NAMD

 

1. Introduction
2. What's you need
3. Ibuprofen - water preparation
4. PSF file creation
5. NAMD minimization
6. Heating
7. Molecular dynamics
8. How to make resident the new parameter file

 

1. Introduction

This tutorial explains how to perform the molecular dynamics of the ibuprofen - water system with NAMD. The ibuprofen is a non-peptidic molecule and so some potential parameters are missing in the standard CHARMM 22 force field. TYou can learn how to fix the missing force field parameters and how to run NAMD without the VEGA ZZ graphic interface.

 

2. What you need

 

3. Ibuprofen - water preparation

Hydrogen to remove

The hydrogen is now deleted.

Atoms to click

The bond will be changed from double to partial double.

Modified bonds

 

4. PSF file creation

The ibuprofen doesn't have a standard topology and so the PSF file creation isn't totally automatic because some parameters aren't included in the CHARMM22_PROT parameter file. For more details about the input files required by NAMD, see this tutorial.

Missing parameter table

It indicates all angles, bonds and torsions parameters not included in the force field. In this window you can put manually the parameters, but if you don't know them, you can ask to the program to complete them for you.
Click Edit -> Auto assign and the table will be filled. Please remember that this isn't a full exaustive approach and it can generate wrong parameters. To check them, you can click on the missing parameter in the table and the involved atoms are automatically highlighted in the workspace.

 

5. NAMD minimization

Before to start the molecular dynamics simulation, an energy minimization is required.

numsteps                5000
minimization            on
dielectric              1.0
coordinates             ibuprofen_wat.pdb
outputname              ibuprofen_wat_min
outputEnergies          1000
binaryoutput            no
DCDFreq                 1000
restartFreq             1000
structure               ibuprofen_wat.psf
paraTypeCharmm          on
parameters              par_all22_prot.inp
parameters              par_all22_vega.inp
parameters              ibuprofen_wat.inp
exclude                 scaled1-4
1-4scaling              1.0
switching               on
switchdist              8.0
cutoff                  12.0
pairlistdist            13.5
margin                  0.0
stepspercycle           20

Save the file with the ibuprofen_wat_min.namd name. This performs a 5000 steps conjugate gradients minimization, saving the output (coordinates and restart files) every 1000 iterations. For more information about the parameters, please consult the NAMD User Guide.

namd2 ibuprofen_wat_min.namd > ibuprofen_wat_min.out

and hit return. After few time the minimization is finish.

 

6. Heating

This is the first molecular dynamics phase required to set the atom velocities at the specified temperature.

numsteps		3000
dielectric              1.0
coordinates		ibuprofen_wat_min.pdb
temperature		0
seed			12345
outputname 		ibuprofen_wat_heat
outputEnergies  	1000
binaryoutput		yes
DCDFreq         	1000
restartFreq     	1000
timestep		1.0
nonbondedFreq   	1
fullElectFrequency 	1
structure               ibuprofen_wat.psf
paraTypeCharmm          on
parameters              par_all22_prot.inp
parameters              par_all22_vega.inp
parameters              ibuprofen_wat.inp
exclude			scaled1-4
1-4scaling		1.0
switching		on
switchdist		8.0
cutoff			12.0
pairlistdist		13.5
margin			0.0
stepspercycle   	20
langevin		on
langevinDamping		10
langevinTemp		300
langevinHydrogen	no
sphericalBC             on
sphericalBCCenter       0.0 0.0 0.0
sphericalBCr1           16.00
sphericalBCk1           2.00
namd2 ibuprofen_wat_heat.namd > ibuprofen_wat_heat.out

and hit return.

 

7. Molecular dynamics

At the heating end, you must prepare the MD input file.

firsttimestep           3000
numsteps		103000
dielectric              1.0
coordinates		ibuprofen_wat_min.pdb
bincoordinates          ibuprofen_wat_heat.coor
binvelocities           ibuprofen_wat_heat.vel
extendedsystem          ibuprofen_wat_heat.xsc
seed			12345
outputname 		ibuprofen_wat_dyn
outputEnergies  	1000
binaryoutput		yes
DCDFreq         	1000
restartFreq     	1000
timestep		1.0
nonbondedFreq   	1
fullElectFrequency 	1
structure               ibuprofen_wat.psf
paraTypeCharmm          on
parameters              par_all22_prot.inp
parameters              par_all22_vega.inp
parameters              ibuprofen_wat.inp
exclude			scaled1-4
1-4scaling		1.0
switching		on
switchdist		8.0
cutoff			12.0
pairlistdist		13.5
margin			0.0
stepspercycle   	20
langevin		on
langevinDamping		10
langevinTemp		300
langevinHydrogen	no
sphericalBC             on
sphericalBCCenter       0.0 0.0 0.0
sphericalBCr1           16.00
sphericalBCk1           2.00
namd2 ibuprofen_wat_dyn.namd > ibuprofen_wat_dyn.out

and hit return.

 

8. How to make resident the new parameter file

If you don't want reassign the parameters every time that you want perform the ibuprofen NAMD calculation, you can store them in VEGA ZZ.

*
* CHARMM 22 parameters file for VEGA ZZ
*
INCLUDE "Parameters/par_all22_lipid.inp"
INCLUDE "Parameters/par_all22_na.inp"
INCLUDE "Parameters/par_all22_prot.inp"
INCLUDE "Parameters/par_all22_vega.inp"
INCLUDE "Parameters/par_all22_user.inp"
*
* CHARMM 22 parameters file for VEGA ZZ
*
INCLUDE "Parameters/par_all22_lipid.inp"
INCLUDE "Parameters/par_all22_na.inp"
INCLUDE "Parameters/par_all22_prot.inp"
INCLUDE "Parameters/par_all22_vega.inp"
INCLUDE "Parameters/par_all22_user.inp"
INCLUDE "Parameters/ibuprofen_wat.inp"

A better procedure, is to merge all user-defined parameters in the par_all22_user.inp that must be placed in the ...\VEGA ZZ\Data\Parameters directory. In this way, you mustn't edit the CHARMM22_PROT.inp file in the ...\VEGA ZZ\Data directory.

inpmerge "...\VEGA ZZ\Data\Parameters\par_all22_user.inp" "...\MyPath\ibuprofen_wat.inp"

where ...\VEGA ZZ is the VEGA ZZ installation path and the ...\MyPath is the full path of the ibuprofen_wat.inp file. For more information about the inpmerge utility, see its manual.

 

WARNING:
please remember that the INCLUDE command isn't implemented in NAMD and CHARMM, because they don't have a macro pre-processor. This is a feature available in VEGA ZZ only.


How to insert a trajectory animation in a PowerPoint presentation

 

1. Introduction
2. What's you need
3. From trajectory to video file
4. Insert the video in PowerPoint

 

1. Introduction

This tutorial explains how to convert a MD trajectory to a video file to be inserted in a PowerPoint presentation.

 

2. What you need

 

3. From trajectory to video file

Microsoft PowerPoint supports both AVI and MPEG-1 video files, but if you think to use the first type you should consider the possibility that the animation couldn't displayed by the PCs without the same codec used in the creation phase. In order to preserve the animation portability (but not the quality), we want consider the MPEG-1 format.

 

4. Insert the video in PowerPoint 2003


19. How-to guide

This section includes some tricks to solve common problems by VEGA ZZ.

 

19.1 MEP calculation with semi-empirical charges
19.2 Volume calculation
19.3 Trajectory format conversion
19.4 Join two or more trajectory files
19.5 Remove the waters in trajectory files
19.6 Add the side chains to a homology-modelled protein
19.7 AMMP energy minimization
19.8 Installation of Accelrys CHARMM force field
19.9 Conversion of a database to another format
 

19.1 MEP calculation with semi-empirical charges

  1. Open the molecule (File Open).
  2. Perform a single point Mopac calculation (Calculate Mopac): choose the calculation mode (AM1, MINDO/3, NMDO, PM3), check the total charge, check 1SCF and click Run button.
  3. Open the Surface calculation dialog box (Calculate Surface).
  4. Select MEP in Type field.
  5. Choose the surface type (Dots, Mesh, Solid).
  6. Go to Gradient tab, click the rainbow by the right mouse button and select Preset MEP MLP.
  7. Return to New tab, check Color by gradient and click Calculate button.
  8. Remember that the best way to save the molecule with its surfaces is the use of the IFF file format.

 

19.2 Volume calculation

  1. Open the molecule (File Open).
  2. In main menu, select View Information.
  3. Press Calculate button and ignore the possible warning messages about the logP calculation.
  4. Find the volume value in the output box.

 

19.3 Trajectory format conversion

  1. Open the trajectory file (File Open). If the file name of the associated molecule doesn't have the same prefix  (e.g. mymolecule.pdb and mydynamics.dcd instead of mydinamics.pdb and mydynamics.dcd), you must open the trajectory in two steps: 1) open the molecule (File Open); 2) Open the trajectory file (Calculate Analysis and thus click the open button in the dialog window).
  2. Save the trajectory (File Save trajectory), choosing the file format that you need.
  3. If you want to save more disk space, you could choose Gromacs XTC as trajectory format, because it uses the XDRF compression algorithm for the floating point data.

 

19.4 Join two or more trajectory files

  1. Make a copy of the first trajectory file.
  2. Open the second trajectory file (File Open). If the file name of the associated molecule doesn't have the same prefix  (e.g. mymolecule.pdb and mydynamics.dcd instead of mydinamics.pdb and mydynamics.dcd), you must open the trajectory in two steps: 1) open the molecule (File Open); 2) Open the trajectory file (Calculate Analysis and thus click the open button in the dialog window).
  3. Save the trajectory (File Save trajectory), using format, path and file name of the first trajectory file. A requester will be shown: click Append. The trajectory will be joined to the end of the first one.
  4. Repeat the operation for each trajectory that you want join.

 

19.5 Remove the waters in trajectory files

  1. Open the trajectory file (File Open). If the file name of the associated molecule doesn't have the same prefix  (e.g. mymolecule.pdb and mydynamics.dcd instead of mydinamics.pdb and mydynamics.dcd), you must open the trajectory in two steps: 1) open the molecule (File Open); 2) Open the trajectory file (Calculate Analysis and thus click the open button in the dialog window).
  2. Select the whole molecule without waters (Select No water).
  3. Save the new trajectory (File Save trajectory) checking Active only in the Options box.
  4. To open the new trajectory, you need an appropriate coordinate file without water molecules. To make it, remove the invisible atoms (Edit Remove Invisible atoms) and save the molecule with the same name of the new trajectory file (File Save As...).

 

19.6 Add the side chains to a homology-modelled protein

  1. Open the backbone file obtained by homology modelling (File Open).
  2. Add the side chains (Edit Add Side chains).
  3. Check the ring intersections (Calculate Protein check Ring inter.).
  4. If one or more ring intersections are found, you must fix them, rotating the Chi1 torsion (Edit Change Angle/torsion). At the end, repeat the ring intersection check.
  5. Add the hydrogens (Edit Add Hydrogens), selecting Protein as Molecule type, Residue end as Position of hydrogens and checking Use IUPAC atom nomenclature.
  6. Fix the atom types and the charges (Calculate Charges & pot.). Check if the total charge is correct.
  7. Save the molecule (File Save As ...). IFF file format is strongly recommended.

 

19.7 AMMP energy minimization

  1. Open the molecule to minimize (File Open).
  2. Check the bond types. If they aren't correctly assigned, change them using Edit Change Bonds Find the bond types and finally click Apply. It's also possible to change manually the bonds by Change bonds dialog (Edit Change Bonds) or by context menu.
  3. Assign the atom charges (Calculate Charge & Pot.). If you want, it's possible to assign the SP4 potential in order to check if all atoms are correctly recognized. This step is optional, because AMMP fixes automatically the potential if it's not already assigned.
  4. Open the AMMP dialog window (Calculate Ammp), select the minimization algorithm (e.g. conjugate gradients), the minimization steps (e.g. 3000), the toler value (e.g. 0.01), the number of steepest descent steps (e.g. 0).
  5. Click the Run button.

 

19.8 Installation of Accelrys CHARMM force field

The Accelrys CHARMM 22 force field allows to do MM/MD calculations of both small and big molecules with less problems than the standard CHARMM force field, because it was expanded with more atom types. For obvious copyright reasons, the ATDL template only (CHARMM.tem) is included in the VEGA ZZ package and not the parameter file (parm.prm), but if you have got an Accelrys software that includes the CHARMm license, you can use it, following this installation procedure:

  1. Copy the parm.prm file to ...\VEGA ZZ\Data\Parameters directory.
  2. To use it in a NAMD or AMMP calculation, when you fix the potentials (Calculate Charge & Pot.), select CHARMM (not CHARMM22_LIG, CHARMM22_LIPID, CHARMM22_NA and CHARMM22_PROT).

 

19.9 Conversion of a database to another format

If you want to convert a database to another format, you need to create a new empty database in the desired format:

  1. Select File Database Open in the main menu.
  2. Choose the destination directory in which the new database will be created.
  3. Type the database name in the File name field.
  4. In the New database box, select the desired format.
  5. Click Create. The new database will be created in the specified directory.
  6. Finally click the database name in the file list and press the Open button. The Database explorer window will be shown.
  7. Open the database to convert (use Open button in Database box).
  8. In Database box, drag & drop the opened database to the empty database. All molecules will be copied from the old database to the new one. If you want stop the copy, click Abort button close to the progress bar of the main window.

20. Frequently Asked Questions

20.1 Generic FAQ

 

20.2 VEGA ZZ FAQ

 

20.3 VEGA ZZ activation problems.

  1. Download VEGA ZZ with C.
  2. Transfer the package from C to NC (e.g. by pen drive, CD, etc).
  3. Install the package on NC and start VEGA ZZ. The activation wizard will be show.
  4. Annotate the Product Key. Please remember that it's not the same of C.
  5. Start Internet Explorer in C and connect to http://www.ddl.unimi.it/licman.
  6. Put the Product Key of NC, your e-mail address and complete the activation as usual.
  7. When you receive the e-mail with the vegazz.lic file, transfer it to NC and copy it un the ...\VEGA ZZ\Data directory. VEGA ZZ on NC is now operative.

21. Compatibility list

VEGA ZZ was successfully tested with the following operating systems:

Operating system Patch set Language VEGA ZZ
Windows XP Professional SP-3 ITA 3.1.1
Windows Server 2003 Enterprise - ITA 3.1.1
Windows Vista Business N x64 SP-1 ITA 3.0.0
Windows Vista Home Premium SP-1 ITA 3.0.0
Windows 7 Professional SP-1 ITA 3.1.1
Windows 7 Professional x64 SP-1 ITA 3.1.1
Windows Server 2012 r2 Enterprise x64 - ENG 3.1.1
Windows 10 Professional x64 - ITA 3.1.1
Windows 10 Enterprise x64 - ITA 3.1.1

 

 

VEGA ZZ was successfully tested with the following CPUs:

CPU VEGA ZZ
AMD Sempron 64 2800+ 3.0.3
AMD Athlon 64 X2 3800+ 3.0.3
AMD Athlon 64 4000+ 3.0.3
AMD Athlon 64 3200+ 3.1.1
AMD Opteron 252 (2x, 2.6 GHz) 3.0.0
AMD Opteron 875 (8x, 2.2 GHz) 3.1.1
AMD Athlon II X4 630 (2.8 GHz) 3.1.1
AMD Athlon II X4 640 (3.0 GHz) 3.1.1
AMD A8 3870K (3.0 GHz) 3.1.1
AMD Phenom II X4 955 (3.2 GHz) 3.1.1
AMD Phenom II X6 1090T (3.2 GHz) 3.1.1
Intel Celeron M 353 (900 MHz) 3.1.1
Intel Atom N270 (1.6 GHz) 3.0.3
Intel i5 6400 (2.7 GHz) 3.1.1
Intel Xeon E5-2620 V2 (2.0 GHz) 3.1.1
Intel i7 3930K (3.2 GHz) 3.1.1
Intel Xeon E5-2630 v3 (2.4 GHz) 3.1.1
Intel Xeon E5-2650 v3 (2.3 GHz) 3.1.1

 

This is the list of the tested graphic cards. VEGA ZZ can work also with some untested cards.

Graphic card VEGA ZZ OpenGL

OpenCL

Anti-aliasing Stereo Fast refresh Notes
NVIDIA GeForce GTX 680 4 Gb 3.1.1 NVIDIA Yes 2-8x No No  
AMD Radeon R7 240 2 Gb 3.1.1 AMD Yes 2-8x No No  
AMD Radeon HD6550D 3.1.1 AMD Yes 2-8x No No  
AMD Radeon HD5770 1 Gb 3.1.1 AMD Yes 2-8x No No  
ATI Radeon HD4200 IGP 3.0.3 ATI No 2-8x No No  
ATI Radeon HD3850 512 Mb AGP 3.0.0 ATI No 2-8x No No  
ATI Radeon HD3450 512 Mb AGP 3.1.1 ATI No 2-8x No No  
ATI Radeon X1950GT 256 Mb PCIe 3.0.3 ATI No 2-6x No No  
ATI Radeon X1600 Pro 256 Mb PCIe 3.0.3 ATI No 2-6x No No  
Intel GMA 900 3.0.3 Intel No No No No Vector anti-aliasing available. Offline hardware rendering (pbuffer) and multi-sample anti-aliasing not supported. The V-sync can't be enabled. Bad implementation of the vertex buffer (disable it in the surface calculation options). Intel says that this card must be OpenGL 1.4 compliant but some 1.3 and 1.2 features are missing or buggy.

 

Not recommended cards:

Graphic card Version Notes
VIA KM-400

2.0.3

Poor graphic card with slow performances and minimal OpenGL implementation (e.g. no line stipple). The cheapest graphic card on the market works better than it !

 


22. Bugs

VEGA ZZ and VEGA are pieces of software with many functions, therefore it might be possible to discover minor bugs. 

 

22.1 Bug report

VEGA ZZ 3.0 contains a built-in bug report utility called madExcept that help you to send the data needed by us to identify and fix the problem. If a serious error occurs, this dialog window is shown:

 

Bug report dialog

 

in which it's possible to choose different actions:

Show bug report

 

changing the tabs, its possible to show the data that will be sent to us;

Contact information dialog

 

Complete the form typing your name and your e-mail address, check remember me if you want save your contact information and click Continue.

 

Error details

 

Explain the situation in which the error occurs and click Continue or Skip if you have nothing to explain.

 

Screenshot Configuration

 

Clicking Continue, the report will be sent to us. Please note that no sensitive personal information will be sent to us and all data will be used for debug purpose only.

If you find a non-critical bug not showing the report utility you can contact us by this e-mail address: bugreport@vegazz.net.
For other questions please refer to the Authors address in copyright section. 

 

 

22.2 Known bugs

22.2.1 Amiga version

 

22.2.2 VEGA ZZ


23. Development information

The VEGA package was originally developed to run with AmigaOS using its graphic interface. The GUI was totally rewritten to work with all Windows systems and takes the advantages of the OpenGL graphic API.

 

23.1 Hardware for beta testing

In this section, you can find the hardware platforms used to develop and test VEGA and VEGA ZZ:

23.2 Development tools


No endorsement of any hardware of software should be inferred

24. History

- Calculation\XLOGP2.

calculate the logP by XLOGP V2 method.

 

- Database\SMILES to database.c

convert a file containing SMILES strings to a database.

 

- Docking\PLANTS\Rescore ChemPlp.c
- Docking\PLANTS\Rescore Plp.c

- Docking\PLANTS\Rescore Plp95.c

evaluate ligand - receptor interactions by different PLANTS scoring functions.

 

- Docking\Vina\Docking.c

Vina graphic interface.

 

- Docking\Vina\Ligand.c

prepare the ligand to be docked by Vina.

 

- Docking\Vina\Receptor.c

prepare the receptor to be docked by Vina.

 

- Docking\Vina\Virtual screening.c

complete easy-to-use virtual screening system based on Vina.

 

- Docking\X-Score.c

evaluate ligand - receptor interactions by X-Score.

 

- Interaction surface\CHARMM interaction surface.c

show the ligand-receptor interaction surface using the CHARMM force field.

 

- Interaction surface\Lipophilic interaction surface.c

show the ligand-receptor lipophilic interaction surface.

 

- Interaction surface\MEP interaction surface.c

show the ligand-receptor electrostatic interaction surface).

 

- Interaction surface\MLPInS color ramp.c

normalize the color ramp of surfaces calculated by MLPInS interaction surfaces.c

 

- Interaction surface\MLPInS interaction surfaces.c

show the ligand-receptor MLPInS interaction surface

 

- Movie\Sec. structure anim.c

create a movie changing the secondary structure.

 

- QSAR\Automatic linear regression.c

generate all possible regression models.

 

- QSAR\Linear regression.c

perform multiple linear regressions.

 

- Trajectory\DCD fix for VMD.c

patch buggy DCD files generated by pre-3.0.0 VEGA ZZ releases.

- New batch files: Namd.cmd (NAMD command line interface), NamdClean.cmd (clean the directory removing useless files and keeping NAMD results), NamdMulti.cmd (perform multiple NAMD calculations considering all input files in a given directory).
- AutoDock 4 and AutoGrid 4 were compiled by gcc 4.6.3 for x86 and x64 Windows with a significant performance improvement (from 2 to 3 time faster than the previous build made by gcc 3.4.5).
- AutoDock Vina 32 and 64 bit version built by gcc 4.6.3 are now included in the package. Vina 64 bit is up to two time faster than the original 32 bit version.
- gcc and gfortran 4.6.3 were used to update both 32 and 64 bit executables (AMMP, ChemSol2, ESCHER NG, Fpocket, HyperDrive, InChI, Mopac7, Predator, PropKa, VEGA command line).
- Updated gl2ps library to 1.3.6.
- Updated InChI library to 1.03.
- Updated REBOL to 2.7.8.
- VEGA ZZ in now compiled by RAD Studio XE.
- Support of Wine emulation layer discontinued.
- VEGA command line for Linux includes binaries for both x86 (32 bit) and x64 (64 bit) operating systems in a unique package. Now, the same package contains also: AMMP, ESCHER NG, GriDock, Mopac 7 and SQLite.
 

 

 

 

 

 

 

 


25. Copyright and disclaimers

All trademarks and software directly or indirectly referred in this document, are copyrighted from legal owners. VEGA and VEGA ZZ are freeware programs and can be spread through Internet, BBS, CD-ROM and other electronic formats. The Authors of these programs accept no responsibility for hardware/software damages resulting from the use of this package.
No warranty is made about the software or its performance.

These applications include SODIUM code developed by Alexander Balaeff at the Theoretical Biophysics Group in the Beckman Institute for Advanced Science and Technology at the University of Illinois at Urbana-Champaign.

Use and copying of these aplications  and the preparation of derivative works based on this software are permitted, so long as the following conditions are met:

Special VEGA ZZ notes:

VEGA ZZ requires the user registration to obtain the Activation Key generated starting from the Product Key. The Product and the Activation Keys are personal and work with a specific PC/workstation only. You can't activate more than one PCs with the same Activation Key because each PC has a different and unique Product Key. The activation expires after 1 year for non-profit academic users and after 30 days for business companies. After this time it's possible to request another Activation Key. The Authors can change the licensing method in any time on their own decision.
The business companies can't access to the collaborative support without purchasing the Support Pack: help or new feature requests will be trashed if they are from companies without Support Pack. The Authors spent a lot of time to develop a software that, in some cases, includes better performances than several commercial packages. They request a little contribution to the companies in order to continue the VEGA ZZ project otherwise destined to end in the near future.

  

  

VEGA and VEGA ZZ
are pieces of software developed in 1996-2021
by Alessandro Pedretti & Giulio Vistoli
All rights reserved.
 

Alessandro Pedretti
Dipartimento di Scienze Farmaceutiche
Facoltà di Scienze del Farmaco
Università degli Studi di Milano
Via Luigi Mangiagalli, 25
I-20133 Milano - Italy
Tel. +39 02 503 19332
Fax. +39 02 503 19359
E-Mail: info@vegazz.net
WWW: http://www.vegazz.net


26. How to cite VEGA and VEGA ZZ

If you use VEGA and VEGA ZZ for your research, you agree to cite the publications detailing the original methods and reference data used, as well as one of the specific papers:

A. Pedretti, A. Mazzolari, S. Gervasoni, L. Fumagalli, G. Vistoli
"THE VEGA SUITE OF PROGRAMS: AN VERSATILE PLATFORM FOR CHEMINFORMATICS AND DRUG DESIGN PROJECTS"
Bioinformatics, Vol. 37(8) 1174-1175 (2021).
DOI: 10.1093/bioinformatics/btaa774

 

Other articles on VEGA an related programs are available here.

Electronic documents should include a direct link to the Drug Design Lab home page:

http://www.ddl.unimi.it

or to VEGA ZZ Web site:

http://www.vegazz.net


27. Acknowledgements

Special thanks to all VEGA testers:

All people unintentionally not mentioned in this document, please don't offend.


No endorsement of any hardware of software should be inferred

APPENDIX A - Gasteiger-Marsili parameters

All this parameters are included in GASTEIGER.tem file stored in Data directory.

 

#TemplateCharge Gasteiger

; *************************************************
; ****              VEGA Template              ****
; ****  Gasteiger-Marsili template for charges ****
; *************************************************

; Ref. Tetrahedron, 36, 3219, 1980
;      Croat.Chem.Acta, 53, 601, 1980

#Title Gasteiger-Marsili charges

; Type        a        b        c        d      Charge
; =====================================================
  H          7.17     6.24    -0.56    12.85     0.000000
  HOS3      15.00     6.24    -0.56    20.68     0.000000
  C3         7.98     9.18     1.88    19.04     0.000000
  C2         8.79     9.32     1.51    19.62     0.000000
  CS2        7.35     1.40     0.30     8.40     0.000000
  C1        10.39     9.45     0.73    20.57     0.000000
  N3        11.54    10.82     1.36    23.72     0.000000
  N2        12.87    11.15     0.85    24.87     0.000000
  N1        15.68    11.70    -0.27    27.11     0.000000
  O3        14.18    12.92     1.39    28.49     0.000000
  O2        17.07    13.79     0.47    31.33     0.000000
  OS4E      13.00     5.00     1.50    18.00     0.000000
  F         14.66    13.85     2.31    30.82     0.000000
  Cl        11.00     9.69     1.35    22.04     0.000000
  Br        10.08     8.47     1.16    19.71     0.000000
  I          9.90     7.96     0.96    18.82     0.000000
  S2        10.50     1.80     2.00    13.80     0.000000
  S3        10.14     9.13     1.38    20.65     0.000000
  P          8.90     8.32     1.58    18.10     0.000000
  Du         0.00     0.00     0.00     1.00     0.000000
  SO2        7.00     1.40     0.30     8.40     0.000000
  SO4        5.40     1.40     0.30     6.40     0.000000
  OS2       18.00     2.00     0.20    20.00     0.000000
  CSO2      12.00     1.80     2.00    13.80     0.000000
  NSO2      13.00     1.80     2.00    14.80     0.000000

; Atoms with localized partial charge
  CN        10.39     9.45     0.73    20.57    -0.500000
  S-        10.14     9.13     1.38    20.65    -1.000000
  SO1       10.14     9.13     1.38    20.65     1.000000
  S+         5.10     3.80     0.50    20.65     1.000000
  SO3H       5.14     5.13     0.38    10.65     3.000000
  SO3-       5.14     5.13     0.38    10.65     2.000000
  NC        15.68    11.70    -0.27    27.11    -0.500000
  O-        17.07    13.79     0.47    31.33    -0.500000 
  OP        17.07    13.79     0.47    31.33    -0.500000 
  OP=       17.07    13.79     0.47    31.33    -0.666667
  OS1       17.07    13.79     0.47    31.33    -1.000000
  OS3       17.07    13.79     0.47    31.33    -1.000000
  OS4       17.07    13.79     0.47    31.33    -0.333334

; Guanidine group:
  CG         8.79     9.32     1.51    19.62     0.040000
  NG        17.07    13.79     0.47    31.33     0.320000

  N3+       11.54    10.82     1.36    23.72     1.000000
  NP+       11.54    10.82     1.36    23.72     1.000000
  NI+       11.54    10.82     1.36    23.72     0.500000
  
  PN        11.54    10.82     1.36    23.72     0.000000 
  P=         8.90     8.32     1.58    18.10     0.010000

  Na         0.00     0.00     0.00     1.00     1.000000
  K          0.00     0.00     0.00     1.00     1.000000
  Ca         0.00     0.00     0.00     1.00     2.000000
  Mg         0.00     0.00     0.00     1.00     2.000000
  Mn         0.00     0.00     0.00     1.00     2.000000
  Fe         0.00     0.00     0.00     1.00     2.000000
  Zn         0.00     0.00     0.00     1.00     2.000000
  Co         0.00     0.00     0.00     1.00     3.000000
  Cr3+       0.00     0.00     0.00     1.00     3.000000
  F0         0.00     0.00     0.00     1.00    -1.000000
  Cl0        0.00     0.00     0.00     1.00    -1.000000
  Br0        0.00     0.00     0.00     1.00    -1.000000
  I0         0.00     0.00     0.00     1.00    -1.000000

APPENDIX B - VEGA prefs file

This is an example of VEGA prefs file. This file must be placed in Data directory.

 

; ********************************************
; ****      VEGA V3.2.3 - Preferences     ****
; **** (c) 1997-2023, Alessandro Pedretti ****
; ****         All rights reserved        ****
; ********************************************

; This file can be changed manually with a text editor. No errors will be
; displayed by VEGA loading the configuration. All fields are case-insensitive.


; **** General preferences ****
;
; Language:
; (ignored by AmigaOS)

LANGUAGE        Auto

; Default output format:

OUTFORMAT	PDB2

; Overlapping tolerance for connecctivity calculation (%)

CONNTOL         20.0

; Starting residue for renumbering:

RENSTART	1

; **** Interaction energy calculation ****
;
; Contact distance for score calculation 

ENERGY_CONTDIST 2.5

; Cutoff distance (Amstrong):

ENERGY_CUTOFF	10.0

; Filter for energy decopmosition by residue (%):

ENERGY_FILTER	1.0

; Dielectric constant:

ENERGY_DIEL	1

; **** Info format ****
;
; Max atom number for calculation of extra information:
; Surface, volume, logP, etc.

MAXATMINFO      5000

; **** Mopac format ****
;
; Default keywords:

MOPAC_DEF	AM1 PRECISE GEO-OK

; Charge calculation (AUTO/charge):

MOPAC_CRG	AUTO

; Peptide bond correction (AUTO/ON/OFF):

MOPAC_MMOK	AUTO

; **** SAS parameters ****
;
; Probe radius (A):

SAS_PROBERAD	1.4

; Dot density:

SAS_POINTS	10

; **** Shell generation ****
;
; Box length / Sphere radius / Shell (A):

SOL_RADIUS	10.0

; Shape type (Box, Sphere, Shell):

SOL_SHAPE	BOX

; **** Volume calculation ****
;
; Dot density for cubic Angstrom

VOL_DENSITY     12

; **** HyperDrive parameters ****
;
; Number of CPUs used by HyperDrive (0 = all installed CPUs)

MAXCPU              0
; **** OpenCL ****
;
; Device type:
; None = OpenCL disabled
; Auto = Automatic detection
; Default = default device
; Accelerator = generic accelerator (e.g. IBM Cell Broadband Engine)
; CPU = generic CPU with SSE3 support (specific driver required)
; GPU = Graphic Processing Unit
;
; For the CPU device, a specific driver must be installed (e.g. included in the
; AMD Stream package).

OCLDEVTYPE         Auto
; **** XTC compression ****
;
; Number of digits after the point (from 1 to 8)

XTCPREC 3

APPENDIX C - CVFF atom types

The CVFF.tem file is stored in Data directory.

 
#TemplateFF CVFF 3.0

; ******************************
; ****  VEGA Template V4.0  ****
; ****   Force Field CVFF   ****
; ******************************


; ATDL atom description:
; ~~~~~~~~~~~~~~~~~~~~~~
; Element (2) - Bond order (1) - Ring indicator (1) - Aromatic indicator (1)
;
; The brackets indicates the length in characters of each field.

; Generic elements:                     Bond order:
; ~~~~~~~~~~~~~~~~~                     ~~~~~~~~~~~
; X = Any atom                          0   = Atom not bonded
; # = Heavy atom                        1-6 = Bond order
; $ = Any atom excluding C and H        9   = Any bond order
; @ = Halogen
; - = None

; Ring indicator:                       Aromatic indicator:
; ~~~~~~~~~~~~~~~                       ~~~~~~~~~~~~~~~~~~~
; 0     = Don't check ring              0 = Don't check
; 2     = Not inside a ring             1 = Aromatic
; 3...7 = From 3 to 7 member ring
; 9     = Generic ring

; Logical operators:
; ~~~~~~~~~~~~~~~~~~
; to use the logical operators AND, OR and NOT (&, | and !), you must
; place the expression between square brackets at the specified position:
;
; Examples:
; [C- |  N-]900  -> the element can be carbon or nitrogen
; [X- & !Cl]900  -> all elements but not chlorine
; C-[4 | 3]00    -> sp3 or sp2 carbon
; C-4[9 & 9]0    -> sp3 carbon in a double condensed ring
; C-3[6 | 5][!1] -> sp2 carbon in 5 or 6 member ring not aromatic

; Atom types:
; ~~~~~~~~~~~
; each not blank and not commented line (; is the remark indicator) must
; include at least the atom type name (max. 8 characters) and the ATDL
; description. Optionally, you can specify the bonded atoms placing them
; between round brackets.


; Type    Atm    Bonded atoms
; ========================================================================; ATDL atom description:
; ~~~~~~~~~~~~~~~~~~~~~~
; Element (2) - Bond order (1) - Ring indicator (1) - Aromatic indicator (1)
;
; The brackets indicates the length in characters of each field.

; Generic elements:                     Bond order:
; ~~~~~~~~~~~~~~~~~                     ~~~~~~~~~~~
; X = Any atom                          0   = Atom not bonded
; # = Heavy atom                        1-6 = Bond order
; $ = Any atom excluding C and H        9   = Any bond order
; @ = Halogen
; - = None

; Ring indicator:                       Aromatic indicator:
; ~~~~~~~~~~~~~~~                       ~~~~~~~~~~~~~~~~~~~
; 0     = Don't check ring              0 = Don't check
; 2     = Not inside a ring             1 = Aromatic
; 3...7 = From 3 to 7 member ring
; 9     = Generic ring

; Logical operators:
; ~~~~~~~~~~~~~~~~~~
; to use the logical operators AND, OR and NOT (&, | and !), you must
; place the expression between square brackets at the specified position:
;
; Examples:
; [C- |  N-]900  -> the element can be carbon or nitrogen
; [X- & !Cl]900  -> all elements but not chlorine
; C-[4 | 3]00    -> sp3 or sp2 carbon
; C-4[9 & 9]0    -> sp3 carbon in a double condensed ring
; C-3[6 | 5][!1] -> sp2 carbon in 5 or 6 member ring not aromatic

; Atom types:
; ~~~~~~~~~~~
; each not blank and not commented line (; is the remark indicator) must
; include at least the atom type name (max. 8 characters) and the ATDL
; description. Optionally, you can specify the bonded atoms placing them
; between round brackets.


; Type    Atm    Bonded atoms
; ========================================================================

  h    H-100  (C-900)
  h+   H-100  (N-400)
  hn   H-100  (N-900)
  h*   H-100  (O-200 (H-100 H-100))
  ho   H-100  (O-900)
  hp   H-100  (P-900)
  hs   H-100  (S-900)
  dw   D-100  (O-200 (D-100 H-100))
  dw   D-100  (O-200 (D-100 D-100))
  d    D-100  (X-900)

  c3h  C-430  (C-430 H-100 H-100 #-930)
  c3m  C-430  (C-430 #-930 X-900 X-900)
  c4h  C-440  (H-100 H-100 X-940 X-940)
  c4m  C-440  (X-940 X-940 X-900 X-900)
  cg   C-400  (N-400 (H-100 H-100) C-300 H-100 H-100)
  cg   C-400  (N-300 (H-100) C-300 H-100 H-100)
  ca   C-400  (N-400 C-300 H-100 X-900)
  ca   C-400  (N-300 C-300 H-100 X-900)
  coh  C-400  (O-200 (C-900) O-200 H-100 X-900)
  co   C-400  (O-200 (C-900) O-200 X-900 X-900)
  c3   C-400  (H-100 H-100 H-100 X-900)
  c2   C-400  (H-100 H-100 #-900 #-900)
  c1   C-400  (H-100 #-900 #-900 #-900)
  cn   C-400  (N-400 X-900 X-900 X-900)
  cn   C-400  (N-300 X-900 X-900 X-900)
  c    C-400  (X-900 X-900 X-900 X-900)
  ci   C-351  (N-351 (H-100) N-351 (H-100) X-900)
  cs   C-351  (S-251 X-951 X-900)
  c5   C-351  (X-951 X-951 X-900)
  cp   C-391  (X-991 X-991 X-900)
  cr   C-300  (N-300 N-300 N-300)
  cr   C-300  (N-200 N-300 N-300)
  c'   C-300  (O-100 N-300 X-900)
  c-   C-300  (O-100 O-100 X-900)
  c"   C-300  (O-100 X-900 X-900)
  c=   C-300  (X-900 X-900 X-900)
  ct   C-200  (X-900 X-900)

  n4   N-400  (X-900 X-900 X-900 X-900)
  ni   N-351  (C-351 (N-351) C-351 H-100)
  np   N-391  (X-991 X-991)
  no   N-300  (O-100 O-100)
  n1   N-300  (C-300 (N-300 N-300) C-400 H-100)
  n2   N-300  (C-300 (N-300 N-900) H-100 H-100)
  n    N-300  (C-300 (O-100) X-900 X-900)
  n3   N-300  (X-900 X-900 X-900)
  np   N-291  (X-991 X-991)
  n=   N-200  (X-900 X-900)
  nt   N-100  (X-900)

  o*   O-200  (H-100 H-100)
  oh   O-200  (H-100 X-900)
  o-   O-200  (Mg900 C-900)
  o-   O-200  (Zn900 C-900)
  o    O-200  (X-900 X-900)
  o-   O-300  (Mg900 Mg900 C-900)
  o-   O-100  (C-300 (O-100 O-100))
  o-   O-100  (P-400)
  o'   O-100  (C-300)
  o'   O-100  (N-300 (O-100 O-100))
  o'   O-100  (S-400)
  oo   O-900  (O-900 Fe900)

  s    S-400
  sh   S-200  (H-100 C-900)
  s    S-200  (C-900 X-900)
  s1   S-200  (S-200 X-900)
  s    S-100

  p    P-900
  si   Si900

  f    F-100  (C-900)
  cl   Cl100  (C-900)
  Cl   Cl000
  br   Br100  (C-900)
  Br   Br000
  i    I-900

  ar   Ar000
  Na   Na000
  c+   Ca000
  c+   Mg900
  cu   Cu900
  fe   Fe900
  pt   Pt900
  Zn   Zn900

  nu   Nu900

 


APPENDIX C - TRIPOS atom types

The TRIPOS.tem file is stored in Data directory and it contains the new atom types with more than four character length.

 

#TemplateFF TRIPOS 3.1

; ******************************
; ****  VEGA Template V4.0  ****
; ****  Force Field TRIPOS  ****
; ******************************


; ATDL atom description:
; ~~~~~~~~~~~~~~~~~~~~~~
; Element (2) - Bond order (1) - Ring indicator (1) - Aromatic indicator (1)
;
; The brackets indicates the length in characters of each field.

; Generic elements:                     Bond order:
; ~~~~~~~~~~~~~~~~~                     ~~~~~~~~~~~
; X = Any atom                          0   = Atom not bonded
; # = Heavy atom                        1-6 = Bond order
; $ = Any atom excluding C and H        9   = Any bond order
; @ = Halogen
; - = None

; Ring indicator:                       Aromatic indicator:
; ~~~~~~~~~~~~~~~                       ~~~~~~~~~~~~~~~~~~~
; 0     = Don't check ring              0 = Don't check
; 2     = Not inside a ring             1 = Aromatic
; 3...7 = From 3 to 7 member ring
; 9     = Generic ring

; Logical operators:
; ~~~~~~~~~~~~~~~~~~
; to use the logical operators AND, OR and NOT (&, | and !), you must
; place the expression between square brackets at the specified position:
;
; Examples:
; [C- |  N-]900  -> the element can be carbon or nitrogen
; [X- & !Cl]900  -> all elements but not chlorine
; C-[4 | 3]00    -> sp3 or sp2 carbon
; C-4[9 & 9]0    -> sp3 carbon in a double condensed ring
; C-3[6 | 5][!1] -> sp2 carbon in 5 or 6 member ring not aromatic

; Atom types:
; ~~~~~~~~~~~
; each not blank and not commented line (; is the remark indicator) must
; include at least the atom type name (max. 8 characters) and the ATDL
; description. Optionally, you can specify the bonded atoms placing them
; between round brackets.


; Type    Atm    Bonded atoms
; ========================================================================

  H.t3p  H-100 (O-200 (H-100 H-100))
; H.spc  H-100 (O-200 (H-100 H-100))
  H      H-100

  C.3    C-400
  C.ar   C-391
  C.cat  C-300 (N-300 N-300 N-300)
  C.2    C-300
  C.1    C-200

  N.4    N-400
  N.ar   N-391
  N.am   N-300 (C-300 (O-100))
  N.pl3  N-300 (C-300)
  N.3    N-300
  N.ar   N-291
  N.2    N-200
  N.1    N-100

  O.t3p  O-200 (H-100 H-100)
; O.spc  O-200 (H-100 H-100)
  O.3    O-200
  O.ar   O-291
  O.co2  O-100 (C-300 (O-100 O-100))
  O.co2  O-100 (P-400 (O-100 O-100 O-100))
  O.2    O-100

  S.3    S-400 (Lp100 Lp100)
  S.O2   S-400 (O-100 O-100)
  S.O    S-300 (O-100)
  S.3    S-200
; S.ar   S-291
  S.2    S-100

  P.3    P-400

  I      I-100
  I      I-000
  F      F-100
  F      F-000
  Cl     Cl100
  Cl     Cl000
  Br     Br100
  Br     Br000

  Se     Se900
  Si     Si400

  Na     Na900
  K      K-900
  Ca     Ca900
  Mg     Mg900
  Li     Li900
  Al     Al900
  Fe     Fe900
  Mn     Mn900
  Mo     Mo900
  Co.oh  Co900
  Cr.th  Cr300
  Cr.oh  Cr600
  Zn     Zn900
  Sn     Sn900

  Du     Du900
  LP     Lp900

  Hev    #-900
  Any    X-900



APPENDIX C - UNIV atom types

The UNIV.tem file is stored in Data directory.

 

#TemplateFF UNIV 1.0

; ******************************
; ****  VEGA Template V3.0  ****
; ****   UNIV atom types    ****
; ******************************


; NOTE:
; This template is expecially designed for Gasteiger-Marsili charge template and
; can't be renamed or removed. It's based on MENG atom type definitions.

; Description:
; ~~~~~~~~~~~~
; Generic atom type - Bond order - Ring indicator - Aromatic indicator

; Generic atom types:                   Bond order:
; ~~~~~~~~~~~~~~~~~~~                   ~~~~~~~~~~~
; X = Any atom                          0   = Atom not bonded
; # = Heavy atom                        1-6 = Bond order
; $ = Any atom excluding C and H        9   = Any bond order
; @ = Halogen
; - = None

; Ring Indicator:                       Aromatic Indicator:
; ~~~~~~~~~~~~~~~                       ~~~~~~~~~~~~~~~~~~~
; 0     = Don't check ring              0 = Don't check
; 3...6 = From 3 to 6 member ring       1 = Aromatic
; 9     = Generic ring


; Type Atm    Bonded Atoms
; ========================================================================
  HOS3 H-100 (O-200 (S-400))
  H    H-100

  CSO2 C-400 (S-400 (O-100 O-100 N-900 C-900))
  CSO2 C-400 (S-400 (O-100 O-100 C-900 C-900))
  C3   C-400
  CSO2 C-300 (S-400 (O-100 O-100 N-300 C-900))
  CSO2 C-300 (S-400 (O-100 O-100 C-900 C-900))
  CS2  C-300 (S-100 C-900 C-900)
  CG   C-300 (N-300 N-300 N-300)
  C2   C-300
  C1   C-200
  CN   C-100 (N-100)

  N3+  N-400
  N3   N-361 (C-361 (O-100) C-361)
  NP+  N-361
  NI+  N-351 (C-351 (N-351 N-351))
  NG   N-300 (C-300 (N-300 N-300 N-300))
  NSO2 N-300 (S-400 (O-100 O-100 N-300 C-900))
  N3   N-300
  N2   N-200
  NC   N-100 (C-100)
  N1   N-100

  O3   O-200  (P-400 P-400)
  O3   O-200  (P-400 C-900)
  OP   O-200  (P-400 (O-200 O-200 O-100 O-100))
  OS4E O-200  (S-400 (O-100 O-100 O-200 O-900))
  OS1  O-200  (S-400 H-100)
  O-   O-200  (C-300 Zn900)
  O3   O-200
  
  O3   O-100  (S-400 (O-100 O-100 O-200 (C-900) C-900))
  OS4  O-100  (S-400 (O-100 O-100 O-100 O-900))
  OS3  O-100  (S-400 (O-100 O-100 O-100 C-900))
  OS2  O-100  (S-400 (O-100 O-100 C-900 C-900))
  OS2  O-100  (S-400 (O-100 O-100 N-300 C-900))
  OS1  O-100  (S-400)
  OS1  O-100  (S-300)
  O-   O-100  (C-300 (O-100 O-100))
  OP   O-100  (P-400 (O-200 O-200 O-100 O-100))
  OP   O-100  (P-400 (O-200 N-300 O-100 O-100))
  OP=  O-100  (P-400 (O-100 O-100 O-100))
  O2   O-100

  SO4  S-400  (O-100 O-100 O-900 O-900)
  SO3H S-400  (O-200 (H-100) O-100 O-100)
  SO3- S-400  (O-100 O-100 O-100 C-900)
  SO2  S-400  (O-100 O-100 C-900 #-900)
  SO1  S-300  (O-100 C-900 C-900)
  S+   S-300
  S-   S-200  (C-400 Zn900)
  S3   S-200
  S-   S-100  (C-400)
  S-   S-100  (C-350 (N-250 S-250))
  S2   S-100  (C-300)
  S2   S-100  (C-200)
  PN   P-400  (O-200 O-200 O-100 O-100)
  P=   P-400  (O-100 O-100 O-100)
  P    P-900

  F0   F-000
  Cl0  Cl000
  Br0  Br000
  I0   I-000

  F    F-900
  Cl   Cl900
  Br   Br900
  I    I-900

  Na   Na900
  K    K-900
  Ca   Ca900
  Mg   Mg900
  Mn   Mn900
  Co   Co900
  Cr3+ Cr000
  Fe   Fe900
  Zn   Zn900

  Du   X-900

APPENDIX D –  CSV Surface Format

The CSV Surface Format is a simple Comma Separated Values (CSV) file in which the field separator is the semicolon character (;) and uses the following format:

12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
NNNNNN; XXXXXX.XXXXXXXX; YYYYYY.YYYYYYYY; ZZZZZZ.ZZZZZZZZ; VVVVVV.VVVVVVVV; RRR; GGG; BBB

NNNNNN          <- Number of the atom associated to the surface dot (C: %6d, Fortran: i6)
XXXXXX.XXXXXXXX <- X coordinate (C: %15.8f, Fortran: f15.8)
YYYYYY.YYYYYYYY <- Y coordinate (C: %15.8f, Fortran: f15.8)
ZZZZZZ.ZZZZZZZZ <- Z coordinate (C: %15.8f, Fortran: f15.8)
VVVVVV.VVVVVVVV <- Property value projected to the surface dot  (C: %15.8f, Fortran: f15.8)
RRR             <- Red component of the dot color (C: %3d, Fortran: i3)
GGG             <- Green component of the dot color (C: %3d, Fortran: i3)
BBB             <- Blue component of the dot color (C: %3d, Fortran: i3)

 

Example:

...
    19;      6.75958252;      1.91035986;      1.95385861;      0.00207091;   0;   0; 255
    19;      7.02752399;      2.00558615;      1.95385861;     -0.00113359;  47; 255;   0
    19;      7.08981323;      4.05955124;      1.76369834;      0.00192202;  87; 255;   0
    19;      6.82545519;      4.15205383;      1.76369834;      0.00394259; 113; 255;   0
    19;      6.82545519;      1.71330953;      1.76369834;     -0.00801759;   0; 255;  42
    19;      6.82479095;      4.32851887;      1.54213154;     -0.00837863;   0; 255;  47
    19;      6.54714155;      4.35586500;      1.54213154;     -0.00651778;   0; 255;  23
    19;      6.26949215;      4.32851887;      1.54213154;     -0.00380767;  12; 255;   0
    19;      6.00251293;      4.24753141;      1.54213154;     -0.00061359;  53; 255;   0
    19;      5.75646353;      4.11601543;      1.54213154;      0.00250929;  94; 255;   0
...
    48;      6.40636539;      3.02671599;      2.81072426;      0.03325002; 255;  12;   0
    48;      6.60387897;      3.02671599;      2.79435802;      0.03198734; 255;  29;   0
    48;      6.50512218;      3.19776773;      2.79435802;      0.03299629; 255;  15;   0
    48;      6.30760860;      3.19776773;      2.79435802;      0.03386965; 255;   4;   0
    48;      6.20885181;      3.02671599;      2.79435802;      0.03395212; 255;   3;   0
    48;      6.30760860;      2.85566425;      2.79435802;      0.03302151; 255;  15;   0
    48;      6.50512218;      2.85566425;      2.79435802;      0.03195009; 255;  29;   0
    48;      6.79600477;      3.02671599;      2.74570513;      0.03010002; 255;  53;   0
    48;      6.74380302;      3.22153568;      2.74570513;      0.03116508; 255;  39;   0
    48;      6.60118484;      3.36415362;      2.74570513;      0.03226105; 255;  25;   0
...

APPENDIX D –  DATABASE FORMATS

 

IUPAC database

The IUPAC database (.iup or .txt) is a text file in which each line includes the IUPAC name of each molecule.

 

File format example:

Bis(2-naphthyl)methane
dinaphthalen-2-ylmethane
2-(naphthalen-2-ylmethyl)naphthalene
4H-benzo[d][1,3]dithiine
3,6,8-trioxabicyclo[3.2.2]nonane
2(10),3-Pinadiene
Perfluoro(1-methylperhydronaphthalene)
4-(Isopropylidenehydrazono)-2,5-cyclohexadiene-1-carboxylic acid
1-Ethylidene-5-(2-naphthyl)carbonohydrazide

 

SMILES database

The SMILES database (.smi or .txt) is a text file in which each line includes two fields (the SMILES string and the molecule name) separated by one or more spaces or tabs. If the molecule name contains spaces, it must be quoted by using double quotes.

 

File format example:

CC(=O)Oc1ccccc1C(O)=O "Aspirin (ASA)"
CC1=CN(C2CC(N=NN)C(CO)O2)C(=O)NC1=O AZT
CN1C(=O)c2c([n]c[n]2C)N(C)C1=O Caffeine
[NH3+][Pt]([NH3+])(Cl)Cl Cisplantin
Nc1ccc(cc1)S(=O)(=O)c1ccc(N)cc1 Dapsone
CN1C(=O)CN=C(c2cc(Cl)ccc12)c1ccccc1 Diazepam
CNCC(O)c1cc(O)c(O)cc1 Epinefrine
CC12CCC3C(CCc4cc(O)ccc43)C1CCC2O Estradiol
CC(C)Cc1ccc(cc1)C(C)C(O)=O Ibuprofen
CN(C)CCCN1c2ccccc2CCc2ccccc12 Imipramine
CN1CCCC1c1c[n]ccc1 Nicotine
CN(C)CC1CCC(CSCCNC(=C[n](:o):o)NC)O1 Ranitidine
CC1OC(OC2C([nH]:c(:[nH2]):[nH2])C(O)C([nH]:c(:[nH2]):[nH2])C(O)C2O)C(OC2OC(CO)C(O)C(O)C2NC)C1(O)C=O Streptomycin

 


APPENDIX D - Interchange File Format (IFF) 1.4

The Interchange File Format (IFF) is a binary file with an AmigaOS chunk structure (like IFF-ILBM, AIFF, etc). All chunks are optional (with the exception of the first one) and the structure is totally expandable. Use this powerful format if you want store the largest number of information when you are using VEGA and VEGA ZZ.

 

Conventions for numeric formats:

Type Size (bit) Description
BYTE 8 Byte integer.
UBYTE 8 Unsigned byte integer.
WORD 16 Two byte integer.
UWORD 16 Two byte unsigned integer.
LONG 32 Four byte integer.
ULONG 32 Four byte unsigned integer.
DLONG 64 Eight byte integer.
UDLONG 64 Eight byte unsigned integer.
FLOAT 32 Single precision IEEE float (4 bytes).
DOUBLE 64 Double precision IEEE float (8 bytes).

IFF files are in big endian format and so if the hardware doesn’t support it (e.g. x86 CPUs), you must change the byte order when write the floats and integers which size is more than one character.
RIFF files (Resource Interchange File Format) are equivalent to IFF, but the numeric data is stored in little endian format and they are supported starting from VEGA ZZ 2.0.6 and VEGA 1.5.6.
A chunk is a data block with a 8 byte header:

 

Chunk {
    HEADER (8 bytes)
    Data
    ...
}

 

The first 4 bytes are a string identifying the chunk type and the next 4 bytes (ULONG format) are the size of Data block, as shown in the following C structure:

 

typedef struct {
    UBYTE  Hdr[4]
    ULONG  Size
} HEADER;

 

IFF file structure:

 

IFF_File {
    HEADER {
        "FORM",
        4 + sizeof(Chunk_1) + sizeof(Chunk_1) + ... + sizeof(Chunk_N)
    }

    "MOLE"

    Chunk_1
    Chunk_2
    ...
    Chunk_N

}

 

All IFF files are a sequence of chunks with a header of 8 bytes. The recognition string (Hdr field) is FORM and the Size field is the sum of lengths of all chunks and the size of subformat recognition header (8 bytes). IFF is a family of binary files that can store a variety of data as audio, image, video and molecule. To recognize the subformat you must read the next 8 byte containing the subformat header. In particular, this second header contains the sub-recognition string MOLE and the Size field with the value of the size of all data chunks.
If the file is in little endian format, the main chunk starts with RIFF string instead of FORM.

 

ATOM  -  Atom name chunk:

ATOM {
    HEADER {
        "ATOM",
        4 + 2 * TotAtm
    }
    ULONG  TotAtm
    UBYTE  Element[2][TotAtm]
}

 

This is the only one chunk that can't be optional. TotAtm is the total number of atoms stored in the file. Element is a two byte vector containing the names of chemical elements for each atom. If the element name has the size of one character (e.g. H, C, O, S, etc), the second byte must be a space. The special Xc element name is reserved for centroids (dummy atoms). For example,  the ATOM chunk of chlorobenzene (C6H5Cl, 12 atoms) must be:

 

ATOM {
    HEADER {
        "ATOM",
        24,
    }
    "C ", "C ", "C ", "C ", "C ",
    "H ", "H ", "H ", "H ", "Cl"
}

 

XYZ1  -  Single precision Cartesian coordinate chunk:

XYZ1 {
    HEADER {
        "XYZ1",
        TotAtm * 12
    }
    XYZ[TotAtm] {
        FLOAT  x
        FLOAT  y
        FLOAT  z
    }
}

 

This chunk contains the Cartesian coordinates for each atom in single precision floating-point format. This chunk and the XYZ2 could be repeated more thane one time if the file is a MD trajectory. For example, the XYZ1 chunk of benzene (C6H6) could be:

 

XYZ1 {
    HEADER {
        "XYZ1",
        144
    }
    XYZ {
        { 0.695,  1.203,  0.000 },
        {-0.695,  1.203, -0.002 },
        {-1.389,  0.000, -0.006 },
        {-0.695, -1.203, -0.007 },
        { 0.695, -1.203, -0.006 },
        { 1.389,  0.000, -0.002 },
        { 1.235,  2.139,  0.003 },
        {-1.235,  2.139, -0.001 },
        {-2.470,  0.000, -0.007 },
        {-1.235, -2.139, -0.010 },
        { 1.235, -2.139, -0.007 },
        { 2.470,  0.000, -0.001 }
    }
}

 

XYZ2  -  Double precision Cartesian coordinate chunk:

XYZ2 {
    HEADER {
        "XYZ1",
        TotAtm * 24
    }
    XYZ[TotAtm] {
        DOUBLE  x
        DOUBLE  y
        DOUBLE  z
    }
}

 

XYZ2 is the double precision version of XYZ1 chunk, keeping the same structure.

 

CENT  -  Centroid chunk:

CENT {
    HEADER {
        "CENT",
        4 + 5 * TotCent + TotRefAtm * 4
    }
    ULONG TotCent;
    CENTROIDS[TotCent] {
        ULONG  CentID
        BYTE   TotRef
        ULONG  RefAtmID[TotRef]
    }
}

 

Centroids are dummy atoms labelled as Xc in the element chunk (ATOM). This chunk contains the data to calculate dynamically the position of each centroid. TotCent is the number of centroids, CentID is the identification number of the centroid (it's the normal atom serial number), TotRef is the number of the atoms used to calculate dynamically the centroid position, RefAtmID is the array containing the serials of the atoms used to calculate the position. TotRefAtm in the IFF header is the number of all atoms involved in the position calculation of all centroids. If this chunk is missing, the centroids specified in the ATOM chunk will be considered fixed and their coordinates aren't dynamically calculated when the coordinates of the reference atoms are changed.

 

CHIR  -  Chirality chunk:

VGCL {
    HEADER {
        "CHIR",
        TotAtm
    }
    BYTE  Chiral[TotAtm]
}

 

It stores the chirality flag of each atom. The possible values of each array elements are:

Value Character Description
0 - No chirality
82 R R chirality
83 S S chirality
42 * Unknown chirality

 

CONX  -  Connectivity chunk:

CONX {
    HEADER {
        "CONX",
        TotBond * 9
    }
    ULONG TotBond;
    CONN[TotBond] {
        ULONG  Atom1
        ULONG  Atom2
        UBYTE  BondOrder
    }
}

 

This chunk is needed to indicate the connectivity between atom pairs. TotBond is the number of bonds, Atom1 and Atom2 is the pair of connected atom and BondOrder is the bond order that can be 1 (single bond), 2 (double bond), 3 (triple bond) and 4 (partial double bond).

 

IIUB  -  IUPAC IUB atom name chunk:

IIUB {
    HEADER {
        "IIUB",
        TotAtm * IUB_Len
    }
    UBYTE  IUB_Len
    UBYTE  Name[IUB_Len][TotAtm]
}

 

In this chunk you can find the IUPAC IUB atom names. IUB_Len is the length of Name record.

 

CALC  -  Potential and atomic charges chunk:

CALC {
    HEADER {
        "CALC",
        18 + sizeof(ForceFieldName[ ]) + TotAtm * (4 + ATPY_Len)
    }
    UBYTE  ForceFieldName[ ]
    HEADER {
        "CHRG",
        TotAtm * 4
    }
    FLOAT  AtmCharge[TotAtm]

    HEADER {
        "ATYP",
        TotAtm * ATPY_Len
    }
    UBYTE  ATPY_Len
    UBYTE  AtmType[ATPY_Len][TotAtm]
}

 

This is a complex chunk containing the atom type and the atomic charge of each atom. In this chunk, two sub-chunk are present: CHRG and ATYP. The former includes the atomic charges in single precision format (AtmCharge) and the latter stores the atom potentials (atom types). ATPY_Len is the size (in bytes) of each potential record. At this time, the default value is 8.

 

FIXA  -  Atom constraints chunk:

FIXA {
    HEADER {
        "FIXA",
        TotAtm
    }
    FLOAT  FixValue[TotAtm]
}

 

This chunk contains constraint values used by molecular dynamics simulations. Each value is a positive floating point number, usually ranged from 0 (free) to 1 (fix).

 

RESI  -  Residue name, residue number and chain identification chunk:

RESI {
    HEADER {
        "RESI",
        TotRes * 13
    }
    RESDATA[TotRes] {
        ULONG  Atoms

        UBYTE  ResName[4]
        UBYTE  ResNum[4]
       
UBYTE  ChainID
    }
}

 

TotRes is the total number of residues, Atoms is the number of atoms in the residue, ResName is the residue name, ResNum is the residue number and ChainID is the chain indicator. ChainID contains the chain identification character or a null value.

 

RSNU  -  Residue number chunk (obsolete):

RSNU {
    HEADER {
        "RSNU",
        TotAtm * 4
    }
    UBYTE  ResNum[4][TotAtm]
}

 

It's the residue number of each atom. ResNum is a four character string and not an integer number, because it can include the chain indicator (e.g. "99 A"). This chunk was maintained for backward compatibility only and  it was replaced by RESI chunk.

 

RSNA  -  Residue name chunk (obsolete):

RSNA {
    HEADER {
        "RSNA",
        TotRes * 4
    }
    UWORD  TotRes
    RESNAME[TotRes] {
        UBYTE  ResNum[4]
        UBYTE  ResName[4]
    }
}

 

This chunk is used to translate the residue number ResNum to residue name ResName. TotRes is the total number of residue in the file. This chunk was maintained for backward compatibility only and  it was replaced by RESI chunk.

 

SEGM  -  Segments chunk:

SEGM {
    HEADER {
        "SEGM",
        TotSeg * 4
    }
    ULONG  AtmNum[TotSeg]
}

 

This chunk is equivalent to TER record in PDB file format. TotSeg is the number of segments and AtmNum is a vector containing the atom IDs (progressive number) indicating the end of each segment.

 

MOLM  -  Name of the molecules chunk:

MOLM {
    HEADER {
        "MOLM",
        sizeof(MOLNAME[ ])
    }
    ULONG  TotMol
    MOLNAME[TotMol] {
        ULONG  AtmStart
        ULONG  AtmNum
        UBYTE  MolName[ ]
    }
}

 

IFF files can include more than one molecule. TotMol is the total number of molecules, AtmStart is the first atom number of the molecule, AtmNum is the number of atoms in the selected molecule and MolName is the molecule name (C string format, null terminated).

 

MOLN  -  Name of the molecules chunk:

MOLN {
    HEADER {
        "MOLN",
        sizeof(MOLNAME[ ])
    }
    UWORD  TotMol
    MOLNAME[TotMol] {
        ULONG  AtmStart
        ULONG  AtmNum
        UBYTE  MolName[ ]
    }
}

 

This chunk is replaced by MOLM and it's kept for compatibility.

 

COMM  -  Remark chunk:

COMM {
    HEADER {
        "COMM",
        1 + sizeof(Remark[ ])
    }
    UBYTE  Remark[ ]
}

 

In this chunk, you can include a remark.

 

SRFA  -  Surface atom number chunk:

SRFA {
    HEADER {
        "SRFA",
        Points * 4
    }
    ULONG  AtmNum[Points]
}

 

It stores the atom number for each surface point. This chunk requires the SURF chunk before it.

 

SRC3  -  Surface color chunk (24 bit):

SRC3 {
    HEADER {
        "SRC3",
        Points * 3
    }
    DOTCOLOR[Points] {

      UBYTE  R
      UBYTE  G
      UBYTE  B
    }
}

 

This chunk contains the color for each surface point in RGB format (24 bit), where R is the red component , G is the green component and B is the blue component. All these parameters must be in the range from 0 to 255. This is the default color chunk written by VEGA ZZ. You can use SRFC chunk also, preferring SRC3 if the alpha (transparency) information isn't required.

 

SRFC  -  Surface color chunk (32 bit):

SRFC {
    HEADER {
        "SRFC",
        Points * 4
    }
    DOTCOLOR[Points] {

      UBYTE  A
      UBYTE  R
      UBYTE  G
      UBYTE  B
    }
}

 

This chunk contains the color for each surface point in ARGB format, where A is the alpha key (transparency), R is the red component , G is the green component and B is the blue component. All these parameters must be in the range from 0 to 255.

SRFF  -  Surface face chunk:

SRFF {
    HEADER {
        "SRFF",
        NumVertexID * Size + 1
    }
    UBYTE  Size

    UBYTE  (or UWORD, or ULONG) VertexIDArray[NumVertexID]
}

 

This chunk contains the surface faces as triplets of vertex IDs. The vertex ID is a positive integer number indicating the surface dot (see SURF chunk) used to define one face (triangle) vertex. The vertex IDs can be stored in the formats defined by the Size byte: UBYTE (Size = 1), UWORD (Size = 2) and ULONG (Size = 3). The three formats are able to store respectively until 256, 65536 and 4294967296 vertex IDs.

 

SRFV  -  Surface value chunk:

SRFV {
    HEADER {
        "SRFV",
        Points * 4
    }

    FLOAT  Value[Points]
}

 

It contains the property value of each surface dot.

 

SRFI  -  Surface information chunk:

SRFI {
    HEADER {
        "SRFI",
        LenOfSrfName + 16
    }

    UBYTE  LenOfSrfName
    UBYTE  SrfName[LenOfSrfName]
    LONG   Flags
    UBYTE  SrfType
    UBYTE  Alpha
    UBYTE  DotSize
    ULONG  Reserved1
    ULONG  Reserved2
}

 

If you want to add extra information to surfaces, you can use this chunk in which SrfName is the surface name, LenOfSrfName is the length of the surface name (max. 255 characters),  Flags is the special surface flags (click here for more information), SrfType is the surface type (click here for more information), Alpha is the alpha blending value (0 full transparent, 255 full opaque) and DotSize is the dot size used to show the dotted surface. LenOfSrfName can be zero, but in this case SrfName mustn't present in the chunk. Reserved1 and Reserved2 are for future use.

 

SRFN  -  Surface normal chunk:

SRFN {
    HEADER {
        "SRFN",
        Points * 6 
    }
    XYZ[Points] {
        WORD  x
        WORD  y
        WORD  z
    }
}

 

This chunk stores the normal vectors of each surface point used by VEGA ZZ lighting engine for shading. If the surface type is dotted, this chunk is ignored. The normals, which values are in range from -1.0 to 1.0, are stored in low precision integer format. When you want put the normals in the chunk, you must multiply each coordinate by 32767 and thus you must take the integer part. To revert the floating point format, you must divide the coordinates by 32767 and cast to float. In this way, you can obtain a good precision using half of disk space.  

 

SURF  -  Generic surface chunk:

SURF {
    HEADER {
        "SURF",
        Points * 12
    }
    XYZ[Points] {
        FLOAT  x
        FLOAT  y
        FLOAT  z
    }
}

 

This chunk contains the Cartesian coordinates of each surface point. Points is the number of surface points. The IFF format allows more than one surfaces and so one or more SURF chunk can be present in the file. Please remember that this chunk must written before all other surfaces chunk otherwise they will be ignored. All other surface chunk are optional.

 

VERS  -  Version chunk:

VERS {
    HEADER {
        "VERS",
        4
    }
    LONG  Version
}

 

The chunk contains the file version number organized in two 16 bit words: the higher word is the version and the lower word is the revision.

 

Special VEGA chunks:

 

VGAB  -  Active atom chunk:

VGAB {
    HEADER {
        "VGAB",
        (TotAtm / 8) + 1
    }
    UBYTE  Active[(TotAtm / 8) + 1]
}

 

It defines if the atom is active or not (visible or not). The boolean values are stored in a bitmap in order to reduce the size and so this chunk is eight time smaller then the previous VGAC. If a bit is true (1), the atom is active, otherwise if it's false (0), the atom is inactive. To encode/decode this chunk, you can use the routines at the end of this document.

 

VGAC  -  Active atom chunk (obsolete):

VGAC {
    HEADER {
        "VGAC",
        TotAtm
    }
    UBYTE  Active[TotAtm]
}

 

It defines if the atom is active or not (visible or not). If a vector item is true (1), the atom is active, otherwise if it's false (0), the atom is inactive. This chunk is obsolete and it's replaced by VGAB. 

 

VGCL  -  Color chunk:

VGCL {
    HEADER {
        "VGCL",
        TotAtm
    }
    UBYTE  ColorID[TotAtm]
}

 

It stores the color of each atom with the VEGA color code. See below for all color codes.

 

VGDM  -  Draw mode chunk:

VGDM {
    HEADER {
        "VGDM",
        TotAtm
    }
    UBYTE  DrawMode[TotAtm]
}

 

It stores the information about the draw mode of each atom. Starting from VEGA ZZ 2.0.0, it's possible to change the display mode of each atom. See below for the draw modes.

 

VGLB  -  Label chunk:

VGLB {
    HEADER {
        "VGLB",
        TotAtm
    }
    UBYTE  Label[TotAtm]
}

 

This chunk stores the label of each atom. See below for label codes.

 

VGMO  -  Monitor chunk:

VGLB {
    HEADER {
        "VGMO",
        The size can't be pre-computed
    }
    MONITOR[TotMon] {
        UBYTE  MonType
        IF (MonType != 0x10) {
            UBYTE  LblLen
            BYTE  Label[LblLen]
        IF (NonType == 0x20) {
            ULONG  AtmNum[2]
            BYTE   EzGeom
        } ELSE {
            ULONG  AtmNum[MonType & 0xf]
        }
    } 
}

 

This chunk contains the information for the monitors. The MonType byte is the monitor type as reported in the following table:

 

MonType Description
0x02 Distance.
0x03 Angle.
0x04 Torsion.
0x06 Angle between two planes.
0x10 H-bond label.
0x12 H-bond.
0x20 E/Z geometry.

 

AtmNum is the vector of atom numbers defining the monitor and its size can be obtained by MonType AND (logical operator) 0xf (16). If MonType is 0x10, the AtmNum array is replaced by the LblLen unsigned byte and Label byte array containing the H-bond label. If MonType is 0x20, AtmNum array has two elements only and the EzGeom byte is added.

 

VGTR  -  Transformation chunk:

VGAC {
    HEADER {
        "VGTR",
        TotAtm
    }
    FLOAT  PosX

    FLOAT  PosY
    FLOAT  PosZ

    FLOAT  RotStepX
    FLOAT  RotStepY
    FLOAT  RotStepZ

    FLOAT  PosStepX
    FLOAT  PosStepY
    FLOAT  PosStepZ

    FLOAT  Scale

    FLOAT  RotMat[4][4]
}

 

This chunk is only for private use and stores the current view settings of VEGA ZZ.

 

 

C subroutines and definitions:

In order to simplify the C programming, some useful definitions and subroutines are reported:

/**** VEGA atom label definitions ****

#define VG_ATMLBL_NONE       0
#define VG_ATMLBL_NAME       1
#define VG_ATMLBL_ELEMENT    2
#define VG_ATMLBL_NUMBER     3
#define VG_ATMLBL_TYPE       4
#define VG_ATMLBL_CHARGE     5
#define VG_ATMLBL_CHIRAL     6
#define VG_ATMLBL_FIX        7
#define VG_ATMLBL_RESNAMESEQ 8
#define VG_ATMLBL_RESNAME    9
#define VG_ATMLBL_RESSEQ    10

/**** VEGA color definitions ****/

#define VGCOL_NONE           0
#define VGCOL_BLACK          1
#define VGCOL_WHITE          2
#define VGCOL_RED            3
#define VGCOL_GREEN          4
#define VGCOL_CYAN           5
#define VGCOL_YELLOW         6
#define VGCOL_FIREBIRCK      7
#define VGCOL_MAGENTA        8
#define VGCOL_PINK           9
#define VGCOL_VIOLET        10
#define VGCOL_GRAY          11
#define VGCOL_ORANGE        12
#define VGCOL_DARKGREEN     13
#define VGCOL_BLUE          14
#define VGCOL_DARKYELLOW    15
#define VGCOL_BROWN         16
#define VGCOL_SKYBLUE       17
#define VGCOL_DARKGRAY      18
#define VGCOL_GHOSTPINK     19
#define VGCOL_GHOSTGREEN    20
#define VGCOL_GHOSTBLUE     21
#define VGCOL_GHOSTYELLOW   22
#define VGCOL_GHOSTGRAY     23
#define VGCOL_SAND          24

/**** Draw modes ****/

#define VG_ATMD_WIREFRAME   0    /* Vectors only                */
#define VG_ATMD_CPK_DOTTED  1    /* CPK/Van der Waals dotted    */
#define VG_ATMD_CPK_WIRE    2    /* CPK/Van der Waals wireframe */
#define VG_ATMD_CPK_SOLID   3    /* CPK/Van der Waals solid     */
#define VG_ATMD_BALL_WIRE   4    /* Ball & stick wireframe      */
#define VG_ATMD_BALL_SOLID  5    /* Ball & stick solid          */
#define VG_ATMD_SICK_WIRE   7    /* Stick wireframe             */
#define VG_ATMD_SICK_SOLID  8    /* Stick solid                 */
#define VG_ATMD_TUBE_SOLID  8    /* Tube solid                  */
#define VG_ATMD_TRACE_SOLID 9    /* Trace solid                 */
/**** Chirality ****/
#define VG_ATMC_NONE        0    /* Not chiral                  */
#define VG_ATMC_E         'E'    /* E geometry                  */
#define VG_ATMC_Z         'Z'    /* Z geometry                  */
#define VG_ATMC_R         'R'    /* R                           */
#define VG_ATMC_S         'S'    /* S                           */
#define VG_ATMC_UNDEF     '*'    /* Undefined chirality         */

/**** Surface Flags (see SRFI chunk) ****/

#define VG_SRFF_NONE        0    /* None                        */
#define VG_SRFF_ACTIVE      1    /* The surface is visible      */
#define VG_SRFF_ALPHA       2    /* Enable the alpha blending   */

/**** Surface types ****/

#define VG_SRFT_DOTTED      0    /* Dotted surface              */
#define VG_SRFT_MESH        1    /* Mesh surface                */
#define VG_SRFT_SOLID       2    /* Solid surface               */

/**** Types ****/

typedef char             BYTE;
typedef unsigned char    UBYTE;
typedef int              LONG;
typedef unsigned int     ULONG;
typedef short            WORD;
typedef unsigned short   UWORD;
typedef float            FLOAT;
typedef double           DOUBLE;

/**** IFF Chunk header ****/

typedef struct {
    char Hdr[4];
    ULONG Size;
} IFFHDR;

/**** Prototypes ****/

void SwapW(void *);
void SwapL(void *);
void SwapD(void *);


/**** Change the endian for WORD and UWORD ****/

void SwapW(register void *Val)
{
    register UBYTE T;
    T = ((UBYTE *)Val)[0];
    ((UBYTE *)Val)[0] = ((UBYTE *)Val)[1];
    ((UBYTE *)Val)[1] = T;
}


/**** Change endian for LONG, ULONG and FLOAT ****/

void SwapL(register void *Val)
{
    register UBYTE T;
    T = ((UBYTE *)Val)[0];
    ((UBYTE *)Val)[0] = ((UBYTE *)Val)[3];
    ((UBYTE *)Val)[3] = T;
    T = ((UBYTE *)Val)[1];
    ((UBYTE *)Val)[1] = ((UBYTE *)Val)[2];
    ((UBYTE *)Val)[2] = T;
}


/**** Change the endian for DOUBLE ****/

void SwapD(void *Val)
{
    register UBYTE T;
    T = ((UBYTE *)Val)[0];
    ((UBYTE *)Val)[0] = ((UBYTE *)Val)[7];
    ((UBYTE *)Val)[7] = T;
    T = ((UBYTE *)Val)[1];
    ((UBYTE *)Val)[1] = ((UBYTE *)Val)[6];
    ((UBYTE *)Val)[6] = T;
    T = ((UBYTE *)Val)[2];
    ((UBYTE *)Val)[2] = ((UBYTE *)Val)[5];
    ((UBYTE *)Val)[5] = T;
    T = ((UBYTE *)Val)[3];
    ((UBYTE *)Val)[3] = ((UBYTE *)Val)[4];
    ((UBYTE *)Val)[4] = T;
}


/**** Encode the active atom into the bitmap ****/

/*
 * Active -> An array of unsigned bytes from which the boolean values
 *           are packed.
 * TotAtm -> Number of atom in the IFF file.
 *
 * The returned value is the pointer of the bitmap that can be saved
 * directly in the IFF file.
 */

UBYTE *EncodeActiveAtm(UBYTE *Active, ULONG TotAtm)
{
    UBYTE           *PtrMtx;
    UBYTE           Bit;
    UBYTE           *Bitmap;
    ULONG           i;

    if ((Bitmap = (BYTE *)calloc(1, (TotAtm >> 3) + 1)) != NULL) {
        PtrMtx = Bitmap;
        Bit    = 1;
        for(i = 0; i < TotAtm; ++i) {
            if (Active[i]) *PtrMtx |= Bit;
            if (Bit == 128) {
                Bit = 1;
                ++PtrMtx;
            } else Bit <<= 1;
        } /* End of for */
    }

    return Bitmap;
}


/**** Decode the active atom from the bitmap ****/

/*
 * Active -> An array of unsigned bytes in which the boolean values
 *           are unpacked.
 * Bitmap -> The bitmap pointer.
 * TotAtm -> Number of atom in the IFF file.
 */

void PopActiveAtm(UBYTE *Active, UBYTE *Bitmap, ULONG TotAtm)
{
    ULONG          i;

    UBYTE          Bit = 1;

    for(i = 0; i < TotAtm; ++i) {
        Active[i] = ((*Bitmap & Bit) != 0);
        if (Bit == 128) {
            Bit = 1;
            ++Bitmap;
        } else Bit <<= 1;
    } /* End of for */
}

APPENDIX D - PDB Fat File Format 1.1

The PDB Fat (PDBF) file format is a custom version of the standard PDB that was created to include extra information, normally not allowed, keeping the compatibility with the Brookhaven National Library specifications. A sequence of REMARK records (one for each atom) was added at the beginning of file. The REMARK type is the user defined REMARK 77 (see PDB specifications) followed by the EXTRA keyword. This rule was introduced recognize the custom records from standard REMARKs. In each REMARK record are included the following information: atom number, element, atom type (according to force field) and the atomic partial charge:

         1         2         3         4
1234567890123456789012345678901234567890123
REMARK  77 EXTRA NNNNN EE FFFFFFFF  CC.CCCC

NNNNN    <- Atom number (C: %5d, Fortran: i5)
EE       <- Element (C: %-2.2s, Fortran: a2)
FFFFFFFF <- Atom type (C: %-8.8s, Fortran: a8)
CC.CCCC  <- Atom charge (C: %7.4f, Fortran: f7.4)

Warning:
Starting from 1.1 specifications, introduced in VEGA 1.5.0, the atom type format is changed in order to support atom types with more than four characters (the limit is now eight characters).  The old 1.0 specifications are supported by VEGA in read mode for backward compatibility.

 

Example:
Benzene ring with CVFF atom types and Gasteiger atom charges.

REMARK   4
REMARK   4 File converted by VEGA V1.1
REMARK   4
REMARK  77 EXTRA     1 C  cp    -0.0618
REMARK  77 EXTRA     2 C  cp    -0.0618
REMARK  77 EXTRA     3 C  cp    -0.0618
REMARK  77 EXTRA     4 C  cp    -0.0618
REMARK  77 EXTRA     5 C  cp    -0.0618
REMARK  77 EXTRA     6 C  cp    -0.0618
REMARK  77 EXTRA     7 H  h      0.0618
REMARK  77 EXTRA     8 H  h      0.0618
REMARK  77 EXTRA     9 H  h      0.0618
REMARK  77 EXTRA    10 H  h      0.0618
REMARK  77 EXTRA    11 H  h      0.0618
REMARK  77 EXTRA    12 H  h      0.0618
ATOM      1  C1  BEN     1       0.695   1.203   0.000  1.00  0.00
ATOM      2  C2  BEN     1      -0.695   1.203  -0.002  1.00  0.00
ATOM      3  C3  BEN     1      -1.389   0.000  -0.006  1.00  0.00
ATOM      4  C4  BEN     1      -0.695  -1.203  -0.007  1.00  0.00
ATOM      5  C5  BEN     1       0.695  -1.203  -0.006  1.00  0.00
ATOM      6  C6  BEN     1       1.389   0.000  -0.002  1.00  0.00
ATOM      7  H7  BEN     1       1.235   2.139   0.003  1.00  0.00
ATOM      8  H8  BEN     1      -1.235   2.139  -0.001  1.00  0.00
ATOM      9  H9  BEN     1      -2.470   0.000  -0.007  1.00  0.00
ATOM     10  H10 BEN     1      -1.235  -2.139  -0.010  1.00  0.00
ATOM     11  H11 BEN     1       1.235  -2.139  -0.007  1.00  0.00
ATOM     12  H12 BEN     1       2.470   0.000  -0.001  1.00  0.00
TER      13      BEN     1
CONECT    1    2    6    7
CONECT    2    1    3    8
CONECT    3    2    4    9
CONECT    4    3    5   10
CONECT    5    4    6   11
CONECT    6    1    5   12
CONECT    7    1
CONECT    8    2
CONECT    9    3
CONECT   10    4
CONECT   11    5
CONECT   12    6
MASTER       15    0    0    0    0    0    0    0   12    1   12    0
END

APPENDIX D - PDB ATDL 1.1

The PDB ATDL (PDBA) File Format is another special version of the standard PDB. This format was created in order to include extra information keeping the compatibility with the Brookhaven National Library specifications. For this reason, REMARK records (one for each atom) were added at the beginning of file to store the non-standard data. The REMARK type is the user defined REMARK 78 (see PDB specifications). This rule was introduced to recognize custom records from standatd REMARKs. In each custom REMARK, some information are included as: atom number, atomic charge, atom type (that is force field-dependent) and ATDL atom description. This last item isn't fully exhaustive, because it ends at second level of the ATDL description.

         1         2         3         4
1234567890123456789012345678901234567890
REMARK  78 NNNNN CCC.CCCC FFFFFFFF ATDL

NNNNN   <- Atom number (C: %5d, Fortran: i5)
CC.CCCC <- Atom charge (C: %8.4f, Fortran: f8.4)
FFFF    <- Atom type (C: %-4.4s, Fortran: a4)
ATDL    <- ATDL description (free format, see ATDL specifications)

Warning:
Starting from 1.1 specifications, introduced in VEGA 1.5.0, the atom type format is changed in order to support atom types with more than four characters (the limit is now eight characters).  The old 1.0 specifications are supported by VEGA in read mode for backward compatibility.

 

Example:
A3 molecule with TRIPOS atom types and Mopac atom charges.

REMARK   4
REMARK   4 File converted by VEGA V1.4.0
REMARK   4
REMARK  78     1  -0.1342 C.ar C-361 (C-361 C-361 H-100)
REMARK  78     2  -0.1211 C.ar C-361 (C-361 C-361 H-100)
REMARK  78     3   0.0103 C.ar C-361 (C-361 C-361 O-260)
REMARK  78     4   0.0127 C.ar C-361 (C-361 C-361 O-260)
REMARK  78     5  -0.1224 C.ar C-361 (C-361 C-361 H-100)
REMARK  78     6  -0.1317 C.ar C-361 (C-361 C-361 H-100)
REMARK  78     7   0.1346 H    H-100 (C-361)
REMARK  78     8   0.1490 H    H-100 (C-361)
REMARK  78     9   0.1495 H    H-100 (C-361)
REMARK  78    10   0.1351 H    H-100 (C-361)
REMARK  78    11  -0.2053 O.3  O-260 (C-361 C-460)
REMARK  78    12  -0.0061 C.3  C-460 (O-260 C-460 C-400 H-100)
REMARK  78    13  -0.0495 C.3  C-460 (C-460 O-260 H-100 H-100)
REMARK  78    14  -0.2028 O.3  O-260 (C-361 C-460)
REMARK  78    15   0.0983 H    H-100 (C-460)
REMARK  78    16   0.1358 H    H-100 (C-460)
REMARK  78    17  -0.0742 C.3  C-400 (C-460 N-300 H-100 H-100)
REMARK  78    18   0.1037 H    H-100 (C-460)
REMARK  78    19  -0.3024 N.3  N-300 (C-400 C-400 H-100)
REMARK  78    20   0.1057 H    H-100 (C-400)
REMARK  78    21   0.0759 H    H-100 (C-400)
REMARK  78    22  -0.0813 C.3  C-400 (N-300 C-400 H-100 H-100)
REMARK  78    23  -0.0242 C.3  C-400 (C-400 O-200 H-100 H-100)
REMARK  78    24   0.1049 H    H-100 (C-400)
REMARK  78    25   0.0725 H    H-100 (C-400)
REMARK  78    26  -0.1971 O.3  O-200 (C-400 C-361)
REMARK  78    27   0.0840 H    H-100 (C-400)
REMARK  78    28   0.0887 H    H-100 (C-400)
REMARK  78    29  -0.0066 C.ar C-361 (O-200 C-361 C-361)
REMARK  78    30   0.1008 C.ar C-361 (C-361 C-361 O-200)
REMARK  78    31  -0.2280 C.ar C-361 (C-361 C-361 H-100)
REMARK  78    32  -0.0676 C.ar C-361 (C-361 C-361 H-100)
REMARK  78    33  -0.2270 C.ar C-361 (C-361 C-361 H-100)
REMARK  78    34   0.0895 C.ar C-361 (C-361 C-361 O-200)
REMARK  78    35   0.1412 H    H-100 (C-361)
REMARK  78    36   0.1345 H    H-100 (C-361)
REMARK  78    37   0.1406 H    H-100 (C-361)
REMARK  78    38  -0.2037 O.3  O-200 (C-361 C-400)
REMARK  78    39  -0.0770 C.3  C-400 (O-200 H-100 H-100 H-100)
REMARK  78    40   0.1068 H    H-100 (C-400)
REMARK  78    41   0.0717 H    H-100 (C-400)
REMARK  78    42   0.0779 H    H-100 (C-400)
REMARK  78    43  -0.1905 O.3  O-200 (C-361 C-400)
REMARK  78    44  -0.0788 C.3  C-400 (O-200 H-100 H-100 H-100)
REMARK  78    45   0.1089 H    H-100 (C-400)
REMARK  78    46   0.0758 H    H-100 (C-400)
REMARK  78    47   0.0713 H    H-100 (C-400)
REMARK  78    48   0.1521 H    H-100 (N-300)
ATOM      1  C1  A3      1      -0.167   0.519  -0.316  1.00  0.00
ATOM      2  C2  A3      1       1.205   0.304  -0.310  1.00  0.00
ATOM      3  C3  A3      1       2.080   1.373  -0.177  1.00  0.00
ATOM      4  C4  A3      1       1.577   2.671  -0.061  1.00  0.00
ATOM      5  C5  A3      1       0.206   2.881  -0.062  1.00  0.00
ATOM      6  C6  A3      1      -0.667   1.809  -0.189  1.00  0.00
ATOM      7  H7  A3      1      -0.841  -0.318  -0.417  1.00  0.00
ATOM      8  H8  A3      1       1.601  -0.695  -0.405  1.00  0.00
ATOM      9  H9  A3      1      -0.173   3.887   0.035  1.00  0.00
ATOM     10  H10 A3      1      -1.733   1.980  -0.190  1.00  0.00
ATOM     11  O11 A3      1       3.444   1.107  -0.166  1.00  0.00
ATOM     12  C12 A3      1       4.203   2.182   0.346  1.00  0.00
ATOM     13  C13 A3      1       3.744   3.489  -0.311  1.00  0.00
ATOM     14  O14 A3      1       2.411   3.776   0.059  1.00  0.00
ATOM     15  H15 A3      1       3.813   3.412  -1.397  1.00  0.00
ATOM     16  H16 A3      1       4.382   4.319  -0.007  1.00  0.00
ATOM     17  C17 A3      1       5.678   1.886   0.076  1.00  0.00
ATOM     18  H18 A3      1       4.039   2.246   1.423  1.00  0.00
ATOM     19  N19 A3      1       6.547   2.933   0.612  1.00  0.00
ATOM     20  H20 A3      1       5.855   1.798  -0.997  1.00  0.00
ATOM     21  H21 A3      1       5.961   0.938   0.536  1.00  0.00
ATOM     22  C22 A3      1       7.967   2.742   0.320  1.00  0.00
ATOM     23  C23 A3      1       8.807   3.913   0.821  1.00  0.00
ATOM     24  H24 A3      1       8.092   2.633  -0.758  1.00  0.00
ATOM     25  H25 A3      1       8.294   1.815   0.791  1.00  0.00
ATOM     26  O26 A3      1      10.161   3.658   0.516  1.00  0.00
ATOM     27  H27 A3      1       8.681   4.035   1.898  1.00  0.00
ATOM     28  H28 A3      1       8.484   4.839   0.341  1.00  0.00
ATOM     29  C29 A3      1      10.955   4.719   0.921  1.00  0.00
ATOM     30  C30 A3      1      11.271   5.713   0.003  1.00  0.00
ATOM     31  C31 A3      1      12.069   6.782   0.410  1.00  0.00
ATOM     32  C32 A3      1      12.536   6.846   1.716  1.00  0.00
ATOM     33  C33 A3      1      12.215   5.847   2.625  1.00  0.00
ATOM     34  C34 A3      1      11.418   4.771   2.231  1.00  0.00
ATOM     35  H35 A3      1      12.341   7.576  -0.267  1.00  0.00
ATOM     36  H36 A3      1      13.151   7.677   2.027  1.00  0.00
ATOM     37  H37 A3      1      12.597   5.930   3.630  1.00  0.00
ATOM     38  O38 A3      1      11.039   3.720   3.067  1.00  0.00
ATOM     39  C39 A3      1      11.482   3.798   4.406  1.00  0.00
ATOM     40  H40 A3      1      11.115   2.931   4.956  1.00  0.00
ATOM     41  H41 A3      1      11.092   4.691   4.895  1.00  0.00
ATOM     42  H42 A3      1      12.572   3.787   4.458  1.00  0.00
ATOM     43  O43 A3      1      10.748   5.558  -1.281  1.00  0.00
ATOM     44  C44 A3      1      11.069   6.573  -2.210  1.00  0.00
ATOM     45  H45 A3      1      10.609   6.340  -3.170  1.00  0.00
ATOM     46  H46 A3      1      12.147   6.634  -2.365  1.00  0.00
ATOM     47  H47 A3      1      10.682   7.538  -1.882  1.00  0.00
ATOM     48  H48 A3      1       6.406   3.027   1.611  1.00  0.00
TER      49      A3      1
CONECT    1    2    6    7
CONECT    2    1    3    8
CONECT    3    2    4   11
CONECT    4    3    5   14
CONECT    5    4    6    9
CONECT    6    1    5   10
CONECT    7    1
CONECT    8    2
CONECT    9    5
CONECT   10    6
CONECT   11    3   12
CONECT   12   11   13   17   18
CONECT   13   12   14   15   16
CONECT   14    4   13
CONECT   15   13
CONECT   16   13
CONECT   17   12   19   20   21
CONECT   18   12
CONECT   19   17   22   48
CONECT   20   17
CONECT   21   17
CONECT   22   19   23   24   25
CONECT   23   22   26   27   28
CONECT   24   22
CONECT   25   22
CONECT   26   23   29
CONECT   27   23
CONECT   28   23
CONECT   29   26   30   34
CONECT   30   29   31   43
CONECT   31   30   32   35
CONECT   32   31   33   36
CONECT   33   32   34   37
CONECT   34   29   33   38
CONECT   35   31
CONECT   36   32
CONECT   37   33
CONECT   38   34   39
CONECT   39   38   40   41   42
CONECT   40   39
CONECT   41   39
CONECT   42   39
CONECT   43   30   44
CONECT   44   43   45   46   47
CONECT   45   44
CONECT   46   44
CONECT   47   44
CONECT   48   19
MASTER       51    0    0    0    0    0    0    0   48    1   48    0
END

APPENDIX D - Raw Surface Format

This file type is binary and endian-dependent. It's a sequence of fixed length records containing the information of each surface dot:

 

Type Size Description
unsigned integer 4 Dot progressive number.
unsigned integer 4 Number of the associated atom.
float 4 X coordinates.
float 4 Y coordinates.
float 4 Z coordinates.
byte 1 Red color.
byte 1 Green color.
byte 1 Blue color.
byte 1 Flags (not used yet).

 

In C language, you can use the following structure to read/write the data:

struct vg_surface {
  unsigned int          Num;        /* Dot progressive number                 */
  unsigned int          AtmNum;     /* Atom number                            */
  float                 x, y, z;    /* Coordinates (don't change the order of */
  float                 Val;        /* these two fields)                      */
  char                  Color[3];   /* Color vector                           */
  char                  Flags;      /* Flags (not used yet)                   */
};

APPENDIX D –  VEGA SELECTION 2.0

The VEGA ZZ selection file (.sel) is used to store bonds, angles, distances, torsions, angles between two planes and multiple atom selections in a file to save the time required to do multiple analysis operations in which same selections are repeated several times (see the trajectory Selection Tool).

 

File format description:
Each record in the .sel file is defined by a case-insensitive keyword preceded by # character. The first line must be the file identification header:

#Selection 2.0

The #Selection keyword must be followed by file format version as argument and by selection records:

#<SELECTION_TYPE> <SELECTION_NAME>
<ATOM_1>
<ATOM_2>
...
<ATOM_N>

The <SELECTION_TYPE> is the selection type and can be: DISTANCE, ANGLE, TORSION, PLANEANGLE and MULTI. The <SELECTION_NAME> is the user-defined name of the selection. This must be an unique name for each selection type (e.g. two angles named Ang_1 can't exist, but one angle and one torsion with the same name are allowed). The <ATOM_1> to <ATOM_N> tags can be atom numbers or atom descriptors in standard VEGA format. For more information about atom selection rules, click here. The number of the <ATOM_N> lines is defined by the selection type, as shown in the following table:

Selection Type Number of ATOM lines
DISTANCE 2
ANGLE 3
TORSION 4
PLANEANGLE 6
MULTI No limits

 

Starting from 2.0 specifications, you can store in the TORSION record the parameters for the conformational search such as the starting torsion value (<BASE>), the number of steps (<STEPS>) in which the search is completed if it is a systematic conformational search, the rotation window (<END/WINDOW>) for the random searches or the end of the rotation for the systematic search and a Boolean flag (<ENABLED>) to take in consideration the torsion during the conformational search (for more details, see the AMMP dialog window):

#TORSION <SELECTION_NAME> <BASE> <STEPS> <END/WINDOW> <ENABLED>
 <ATOM_1>
 <ATOM_2>
 <ATOM_3>
 <ATOM_4>

All these parameters (coloured in red) are optional.

 

 

Example:
This is quisqua.sel file that can be used with quisqua.dcd trajectory placed in the Examples/Molecules directory.

#Selection 1.0
#DISTANCE "Dist_1"
N10:QUIS:1:*:1
O16:QUIS:1:*:1
#ANGLE "Ang_1"
C11:QUIS:1:*:1
C7:QUIS:1:*:1
C6:QUIS:1:*:1
#TORSION "Tor_1"
C7:QUIS:1:*:1
C6:QUIS:1:*:1
N3:QUIS:1:*:1
O2:QUIS:1:*:1

APPENDIX E - Language localization

Introduction:

In VEGA and VEGA ZZ, the language localization is provided by AmigaOS Locale Technology. This method allows to translate the character strings without recompile the source code, editing a text file and compiling it with a tool included in VEGA ZZ or in localization packages.
Each language requires a translation file (called catalog) which file name is that of the program that use it followed by  .catalog extension (e.g. VEGA.catalog, WINDD.catalog). The translation files must be placed in subdirectories named with the language (e.g. italiano, français, deutsch, etc) of the Catalogs folder that must be present in the program root directory .
All programs that uses this technology, can run without catalog files, because the default language (usually english) is built-in.

 

What you need to translate a catalog:

In order to translate all VEGA messages into your preferred language, you need the language localization (VEGA_XX_Locale.tar.gz) or the source code (VEGA_XX_Source.tar.gz) or VEGA ZZ package. If you are using the former package, please remember that the localization tools aren't installed if you performed the installation using the default settings. Before to start the translation, you must identify:

 

How to build a new VEGA.catalog file:

 

Notes:


APPENDIX F - Dielectric constants

 

Typical dielectric constant values:

 

Solvent Dielectric constant
Acetic acid 6.2
Acetone 20.7
Benzene 2.3
Chloroform 4.8
Cyclohexane 2.02
Diethylether 4.3
Dimethylformamide (DMF) 38
Dimethylsulfoxide (DMSO) 48
Ethanol 24.3
Ethylacetate 6.0
Formic acid 58
Hexane 1.9
Methanol 33.6
n-octanol 10.3
t-butanol 10.9
Water 80.4

 


APPENDIX G - Error codes

This is the list of the error codes that can be reported by VEGA and VEGA ZZ

 

Error code Description
11 Abort
12 LocaleLib error
13 No command
44 Out of memory
45 Java not installed
 

Input/Output

 

51 Bzip2 error
52 Can't pack the file
53 DOS I/O error
54 Gzip error
55 Stdout not allowed
56 No stdout with packed output
57 PowerPacker error
58 PowerPacker comp. AmigaOS only
59 PowerPacker.library not found
60 File too short
61 Unknown compressor
62 Set the environment variable
63 xPK error
64 Z32 error
65 Can't download the file
66 Can't initialize the HTTP client
67 Can't parse the URL
101 Unknown command
102 Too many arguments
103 Too few arguments
104 Illegal type of argument
105 Value exceed the legal range
106 Unknown keyword in argument
201 Command not already implemented
202 Command for OpenGL only
203 No molecule
204 No surface present
205 No trajectory
 

Command line

 

301 Total number of atoms exceeded
302 Duplicate description
303 Illegal atom number
304 Illegal number of atoms in measure
305 Incorrect atom description
306 It don't match the input file
307 Description with multiple match
308 Too few atoms to measure
309 Atom description too long
310 Unknown measure mode
311 Invalid frame number
312 First frame exceeds the total
313 Last frame exceeds the total
314 Missing first frame
315 Invalid range of frames
316 Invalid number of CPUs
317 -m option and trajectory format can't be used at the same time
318 Unknown keyword for InfoXML file format
319 Unknown keyword for C-term capping
320 Unknown keyword for N-term capping

 

Load and save operations

 

401 Biosym subformat not supported
402 Field type not specified
403 Sybyl rgn file not loaded
404 Unacceptable bond order
405 Unknown VDW radius
406 No associated molecule file
407 Type of measure not specified
408 CSSR/QMC format: there are more than 9999 atoms
409 Input file isn't protein or DNA
410 Corrupted IFF file
411 Invalid IFF file
412 Not an IFF XXXX file
413 Corrupted or incoplete Mol2
414 Can't find TRIPOS template
415 Illegal TRIPOS template
416 The file isn't in MSF format
417 The MSF file isn't compatible
418 Faulty atom
419 Bad cartesian to internal conv.
420 The format don't support charge
421 The format don't support ff tag
422 Input file not found
423 Corrupted rgn file
424 Region file without a molecule
425 Illegal number of steps in rgn
426 Illegal number of points in rgn
427 Illegal step size in rgn file
428 Unknown input format
429 Unknown output format
430 No molecule loaded
431 Unable to read the IFF file
432 Unable to write the IFF file
433 Unknown mol type to add hydrog.
434 Nothin to calculate
435 Unknown remove hydrogen method
436 Unknown torsion method
437 Unknown database extr. mode
438 Invalid record number
439 Record not found
440 Too many databases
441 Invalid SQL code
442 Unsupported 2D file format
443 Unable to open the molecule beacuse the workspace is locked
444 Spillo missing ligand
 

Merge

 

455 Merge not allowed
456 Incompatible molecules
 

Plots

 

461 With a trajectory only
462 Point out of range
 

Solvatation

 

471 Can't open shell file
472 Nothing to add
473 Molecule exceeds the shell dim.

 

Trajectory analysis

 

481 Incorrect selection
482 Unassigned atomic charges
483 Unknown trajectory file
484 Unsupported output
485 No molecule loaded
486 Energy graph can't be showed
487 Output file not specified
488 Surface not permitted
489 Trajectory not permitted
490 Incompatible molecules
491 Same trajectory file
492 Invalid handle
493 The number of atoms doesn't match the trajectory.
494 Corrupted AutoDock output.
 

Charges

 

501 Atomic charges not assigned
502 Atom name too long in temp.
503 Missing atom name in temp.
504 Invalid number of bonds in temp.
505 Missing number of bonds in temp.
506 A macro/residue can't call its.
507 Unable to delete atom in temp.
508 #Description duplicated in temp.
509 Decription too long in temp.
510 Unknown format of charge temp.
511 Invalid group ID in temp.
512 Missing group ID in temp.
513 Duplicated ID in temp.
514 ID too long in temp.
515 Missing ID in temp.
516 Non-unique ID in temp.
517 Unknown ID in temp.
518 #ResName expected in temp.
519 Residue name too long in temp.
520 Missing residue name in temp.

 

Force field

 

550 Atom type too long
551 Can't assign potential
552 Illegal number of arguments
553 Incorrect atom description
554 Incorrect subatom description
555 Template file not found
556 Template not in standard format
557 Sublevel overflow
558 Unbalenced parenthesis
559 Illegal aromaticity
560 Illegal bond order
561 Illegal ring size
562 Invalid element
563 Invalid operator
564 Multiple operators
565 Operator required
566 Invalid SMARTS file
567 Invalid SMARTS string
 

Calculations

 

601 Force field not assigned
602 Non-bond parameters not found
603 Can't open template
604 More than one residue is needed
605 Residue not found
606 Unknown atom type
607 Not all atoms are parametrized
608 Parameters not found
609 Unrecognized parameter file
610 No Virtual logP calculation
611 A water cluster required
612 Too many cell copies
 

Command line options

 

701 Can't find the charge template
702 Unknown color
703 Missing input file name
704 Argument must be unsigned float
705 Illegal dielectric constant
706 Illegal probe radius
707 Illegal residue name
708 Illegal SAS density
709 Illegal solvatation radius
710 Illegal starting residue
711 Argument must be an unsigned int
712 Invalid port number
713 VEGA OpenGL already running
714 Invalid surface number
715 Missing sub-argument
716 Unknown option
717 Unknown shape type
718 Shell file not found
719 Unsupported charge template
720 Option available only in Win32
721 Calculation already running
722 Unknown bond fix method
723 Invalid molecule ID
724 Invalid segment ID
 

Console

 

801 Unable to save the buffer
 

Secondary structure

 

811 The molecule isn't a protein
812 No valid torsions
813 Invalid torsion name
 

OpenGL initialization

 

1001 Can't activate the GL context
1002 Can't create GL device context
1003 Can't create GL rend. context
1004 OpenGL initialization failed
1005 Can't find suitable pixelformat
1006 Can't set the pixel format
1007 Failed to register window class
1008 Window creation error
1009 Can't allocate the pixel buffer
1010 Unable to load the extension
1011 OpenGL extensions not supported
1012 No pixel format ARB
1013 Pixel buffer not available
1014 Unknown problem
 

OpenGL generic

 

1101 Unknown color
1102 DevIL error
1103 Fmod error
1104 Can't execute
1105 Can't open help file
1106 Demo files not installed
1107 Gl2Vrml error
 

Mopac

 

1201 Can't find Mopac executable
1202 Abnormal termination
1203 Too many atoms
 

BioDock

 

1301 Missing argument
1302 Missing BEGIN command
1303 The value must be lower than 1
1304 Command duplicated
1305 Invalid selection of frames
1306 Missing selection of frames
1307 Field already closed in macro
1308 Field required
1309 Field not closed in macro
1310 Field not opened in macro
1311 Field already opened in macro
1312 Missing command
1313 Unknown module
1314 Null string not allowed
1315 Boolean value required
1316 Float number required
1317 Illegal number of frames (> 1)
1318 The value can't be zero
1319 Integer number required
1320 Positive integer required
1321 The rotation ranges must be +
1322 The input file exceeds 65535 l.
1323 The trans. ranges must be +
1324 Unknown command
1325 Unknown extraction mode
1326 Unknown optimization method
1327 Unterminated string
1328 Can't find BioDock executable
1329 Can't open BioDock input file
1330 Unrecognized BioDock output
1331 BioDock output corrupted
 

OpenGL measure

 

1401 Multiple selection
1402 Atom not found
 

OpenGL selection

 

1501 The selection doesn't match
1502 Illegal number of arguments
1503 Unknown tag

OpenGL SkyBox
 
1511 The texture aspect ratio must be 2:1
1512 The pixel format of the image must be RGB
1513 Can't buid the face bitmaps
1514 Can't initialize the context to process the textures
 

ESCHER Next Generation

 

1601 Corrupted ESCHER file
1602 Illegal number of solutions
1603 Unknown format
 

GRAMM

 

1611 Invalid number of poses in GRAMM output
1612 Invalid atom range of GRAMM ligand
1613 Atom selection of the GRAMM ligand not found
 

Graph Editor

 

1701 Illegal GraphEd ID
1702 No GraphEd window opened
1703 No data in plot
1704 Point out of range
1705 Exel export
1706 Excel too many records
1707 OLE initialization

 

Database engine

 

1801 Can't create the database
1802 Invalid database handle
1803 Unable to get the molecule
1804 Unable to read the molecule catalogue
1805 Database already opened
1806 Unable to put the molecule
1807 Unable to remove the molecule
1808 Unable to rename the molecule
1809 The database doesn't support SQL commands
1810 Unknown database format
1811 Unable to update the molecule
1812 The zip32.dll can't be initialized
1813 Unknown format of .dat file
1814 Unable to connect to ODBC database
1815 Unable to allocate the ODBC handle
1816 Unable to check the ODBC version
1817 Unable to open the SQLite database
1818 Unable to set the SQLite parameters
1819 Unable to attach SQLite structure database
1820 Missing control data in SQLite database
1821 Unable to open the Zip archive
1822 Unable to update the data
1823 Can't add the column
1824 Can't update the columns
1825 The number of lines don't match the number of molecules in the database
1826 Incompatible number of columns
1827 Unsupported data type
1828 Incompatible data type
1829 Nothing to paste
1830 Can't delete the column
1831 Can't rename the column
 

Database reports

 

1851 Unable to find the report header
1852 Unable to load the report template
1853 Missing end of section
1854 Token error
1855 Unable to find the report tail

 

Energy engine

 

1901 Unknown parameter key
 

Ammp

 

2001 Ammp communication lost
2002 Unable to connect to host
2003 Unable to send data to Ammp
2004 Can't find the Ammp executable
2005 Host already in use
2006 No free host available
2007 Unable to send the molecule
2008 Unable to initialize pipe
2009 Can't load the SP4 parameters
2010 Can't assign the force field
2011 Can't open the force field
2012 One or more atoms have an undefined atom type
 

CML

 

2101 Parsing aborted
2102 Parsing error
2103 Unable to create the parser
2104 Unable to allocate the stack

 

InChI

 

2111 InChI library internal error
2112 InChI library error
 

Cano

 

2121 Cano library error
 

Dingo

 

2131 Dingo library error

OPSIN
 
2141 Invalid IUPAC name
2142 OPSIN not installed
2143 Can't run OPSIN
 

NAMD

 

2201 Unable to read the remote coordinates
2202 Ascertain relative endianness of remote host
2203 Unable to read the energies
2204 NAMD input load error
2205 Unable to create mutex
2206 fullElectFrequency isn't stepspercycle factor
2207 NAMD not installed
2208 pailistdist < cutoff
2209 Unable to open the parameter file
2210 PMEGridSizeX must be factor of 2, 3, 5
2211 PMEGridSizeY must be factor of 2, 3, 5
2212 PMEGridSizeZ must be factor of 2, 3, 5
2213 Unable to read indices and forces
2214 Unable to send indices and forces
2215 switchdist < cutoff
2216 Unable to find a free TCP/IP port
 

Isotopic distribution

 

2301 Invalid element in formula
2302 Invalid formula
2303 Invalid character in formula
2304 Invalid index in formula
2305 The table of isotopes is empty
2306 The table of isotopes with an invalid mass
2307 File of isotopes not found
2308 File of isotopes in unknown format
 

Interaction energy (score)

 

2401 Score function not selected
2402 Unknown interaction energy type
2403 Invalid ligand number
2404 Unable to assign the parameters
2405 At least two molecules are required
2406 Can't assign the potential
 

Ionization

 

2501 Parameters not available for the specified potential
 

Windows errors

 

3001 Windows error
3002 Can't get the function address
3003 Can't open the DLL
3004 Windows MCI error
 

AVI

 

3101 Add frame error
3102 Create AVI file error
3103 Compression settings
3104 Incompatible width
3105 Incompatible height
 

VEGA GL

 

3201 VglBeginGroup expected
3202 Invalid group ID
3203 Matrix stack out of bounds
3204 Primitive already initialized
3205 Too many groups
 

Undo

 

3301 Can't create a new uno level
3302 Internal error
 

Update

 

3501 Update already running.
3502 Internet connection not available
3503 Corrupted update file
3504 Corrupted package list
3505 Unable to download update data
3506 Unable to create the download directory
3507 Unable to download the update file
3508 Run.exe not found
3509 Unable to save the update script
3510 Unable to start the update script
3511 Invalid update URL
3512 Missing update URL in configuration file

OpenVR
 
3601 Unable to initialize the OpenVR context.

DNA build
 
3701 Invalid DNA/RNA sequence
 

License

 

8001 License expired
8002 Invalid CRC
8003 Invalid host
8004 Invalid signature
8005 Invalid chunk size
8006 Not in requested file format
8007 Invalid file size
8008 Invalid encryption
8009 Not in IFF file format
8010 Unable to read the license
8011 Unknown license error
8012 Live license
 

 

 

9000 Unknown error


 

 


   

ESCHER NG

   

   

RELEASE 1.2.1

      

Copyright 1997-2023, G. Ausiello, G. Cesareni and M. Helmer Citterich
Next Generation version by Alessandro Pedretti and Giulio Vistoli

 

 

1.0 Introduction

 

ESCHER Next Generation (NG) is an enhanced version of the original ESCHER protein-protein automatic docking system developed in 1997 by  Gabriele Ausiello, Gianni Cesareni and Manuela Helmer Citterich. The new release, with a totally reengineered code, includes some new features:

For more information about the method implemented in ESCHER, refer to the paper: G. Ausiello, G. Cesareni, M. Helmer Citterich, "ESCHER: a new docking procedure applied to the reconstruction of protein tertiary structure", Proteins, 28, 556-567 (1997) .

 

  

2.0 Installation

 

If you are using ESCHER NG included in the VEGA ZZ package, no installation is required. ESCHER can be executed by VEGA shell in command line mode or by VEGA ZZ by its nice graphic user interface. Starting from VEGA 3.0.0 for Linux, ESCHER NG is included in its package and for the installation you must follow the steps for VEGA.


If you have downloaded the standalone ESCHER NG package, follow these steps:

 

1. Unpack the archive.
If you already installed the VEGA package, copy the executable required by your system, the Catalog and the Data folder in the VEGA installation directory. Now go to the last installation step (4) if your system has a Unix-like operating system.

 

The following steps are for Unix-like operating systems only. They aren't  required for Windows and Amiga OS.

 

2. Set the VEGADIR and LD_LIBRARY_PATH  environment variables to the installation pathway. For csh/tcsh shell, you must type:

setenv VEGADIR <INSTALLATION_PATH>
setenv LD_LIBRARY_PATH <INSTALLATION_PATH>

For sh/bash:

VEGADIR=<INSTALLATION_PATH>
LD_LIBRARY_PATH=<INSTALLATION_PATH>
export VEGADIR
export LD_LIBRARY_PATH

The LD_LIBRARY_PATH is required to inform your system where are the dynamic libraries needed by ESCHER NG. It’s strongly recommended to add the installation directory pathway in the command search variable path, defined in the shell startup script.

For example, if you installed ESCHER in the /usr/local/bin/escher directory, you must set the environment variables as follow (csh/tcsh):

setenv VEGADIR /usr/local/bin/escher
setenv LD_LIBRARY_PATH /usr/local/bin/escher

or (sh/bash):

VEGADIR=/usr/local/bin/escher
LD_LIBRARY_PATH=/usr/local/bin/escher
export VEGADIR
export LD_LIBRARY_PATH

3. Finally, you must change the file permissions:

chmod 755 $VEGADIR/escher

4. As option, edit the <INSTALLATION_PATH>/Data/esprefs file at the item <LANGUAGE> to select your preferred language. The automatic language selection isn't supported in Unix operating systems.

 

WARNING:
The Linux version couldn't work with Red Hat 9.0 distribution, because it introduces the Native Posix Thread Library (NPTL). Applications complied with older Red Had distributions (e.g. ESCHER NG and VEGA) are known to experience problems with this library. To work around this problem, you can use the old Linux threads implementation by setting the environmental variable LD_ASSUME_KERNEL. Set it to either 2.2.5 or 2.4.1.
If you are using c shell, you can enter one of the following at the LINUX prompt:

setenv LD_ASSUME_KERNEL 2.4.1

or

setenv LD_ASSUME_KERNEL 2.2.5

If you are using bash shell, you can enter one of the following at the LINUX prompt:

export LD_ASSUME_KERNEL=2.4.1

or

export LD_ASSUME_KERNEL=2.2.5

Only the Win32 version was tested in parallel mode (SMP) and the Amiga OS version doesn't work in SMP mode.

 

  

3.0 Usage

 

The required files to run ESCHER are the probe and the target in PDB format without hydrogens. Probe and target are the partners witch best orientation will be find by ESCHER maximizing the attractive forces and minimizing the repulsions. As shown in the original documentation, the probe should be oriented along an axis. Since ESCHER relies on a cylindrical symmetry, the interaction site must be exposed as parallel as possible to the Z axis. When the interaction site is not known, at least two orthogonal orientations of the target protein must be used. In order to perform this operation, you can use the VEGA ZZ software. When the probe is correctly oriented (using the mouse or the 3D control gadgets), you must select Edit Coordinates Apply transf. in VEGA ZZmain menu and save the molecule in PDB format.

The ESCHER NG command line syntax is:

ESCHER NG V1.2.0 - (c) 1997-2023, G. Ausiello, G. Cesareni, M. Helmer Citterich
NG release by A. Pedretti and G. Vistoli
Windows 32 bit version - Intel Pentium Pro
Synopsis: escher TARGET PROBE -a[ACTIVE_COLOR] -b[MAX_BUMPUS]
          -c[MIN_CHARGE] -d[DOTS] -i[PROBE_RAD] -l[SOLUTIONS]
          -p[CPU_NUM] -r[ROT_STEP] -s[SOLUTION_ID] -efgz

 a -> active surface color (default 120)
 b -> max bumps (default 200)
 c -> min charge (default -200)
 d -> surface dots for each atom sphere (default 420)
 e -> evaluate the electrostatic complementarity only
 f -> force the surface calculation
 g -> perform the solution clustering only
 i -> probe radius for surface calculation (default 1.8Å)
 l -> number of solutions (default 1000)
 p -> number of reserved CPUs (default all)
 r -> rotation step (default 10)
 s -> generate the PDB file from the solution
 z -> rotate the probe around Z axis only

Examples: escher protein ligand -r 20
          escher protein ligand -s 1

This help can be showed typing the escher command without arguments in the command shell. Please remember that the target and the probe pdb files must be in the same directory. 

  

 

3.1 TARGET and PROBE

 

TARGET and PROBE are the file names of the target and probe molecules. You must remember that they must be without extensions and you can use the full path. If the surface files aren't present, ESCHER NG calculates them automatically creating two .srf files in Insight format. To force the surface calculation when the .srf files are already present, use -f option.

 

  

3.2 -a[ACTIVE_COLOR]

 

The Insight surface files include the color information for each surface dot (from 0 to 255). In the default condition, ESCHER NG take in consideration the dots with color attribute set to  120 and  the others are discarded. With -a option it's possible specify the color code of the active surface dots.

 

  

3.3 -b[MAX_BUMPS]

 

This option sets the maximum number of collisions allowed during the bump-check. If a docking solution exceeds this number, it will be discarded during the cluster analysis. The default value is 200.

 

  

3.4 -c[MIN_CHARGE]

 

The cluster analysis is performed also setting a charge threshold. If a docking solution has a charge score less than minimum charge value, it will be discarded during the cluster analysis. The default value is -200.

 

  

3.5 -d[DOTS]

 

This option sets the number of dots for each atom sphere used in the surface calculation. Big values allow a better surface description, but increase the computational time. The default value is 430.

 

  

3.6 -e

 

This switch enables the only electrostatic evaluation of the solutions, neglecting the other score components.

 

  

3.7 -f

 

This switch forces the surface calculation when the surface files (.srf) are already present.

 

  

3.8 -g

 

This switch enables the solution clustering, skipping the docking procedure. The *_1.sol file must be present in the directory of the target file.

 

  

3.9 -i[PROBE_RAD]

 

The target and the probe PBD files should not include the hydrogens and so in order to consider their steric behavior the surface calculation should be performed using a probe. Changing its radius value (in Å), it's possible to exalt or reduce the surface roughness and thus the steric sensitivity of the docking method. The default probe radius is 1.8 Å.

 

 

3.10 -l[SOLUTIONS]

 

It sets the total number of the solutions calculated during the docking. The default value is 1000.

 

 

3.11 -p[CPU_NUM]

 

ESCHER NG can use one or more CPUs in multiprocessor systems. By this option, it's possible indicate the number of reserved CPUs that will be used to perform the docking calculation. By default, ESCHER NG uses the maximum number of installed CPUs for the best performances.

 

 

3.12 -r[ROT_STEP]

 

This is the most important docking parameter, because it sets the rotation step in degree to generate the solutions. The target and the probe are cut in slices and to generate a solution, the probe slices are rotated by this rotation step. Small values induce more precise orientations but require a bigger computational time. The allowed range is from 1 to 179 and the default value is 10.

 

 

3.13 -s[SOLUTION_ID]

 

This option allows to extract the solutions from the ESCHER output file (*_2.sol). The SOLUTION_ID is the solution number in the output file (see first column). Another way to analyze the solutions is the use of the VEGA OpenGL software that supports ESCHER NG outputs trough its trajectory analysis tools without extract the each solution from the output file.

 

 

3.14 -z

 

This switch forces the probe rotation rotation around the Z axis only.

 

 

4.0 The ESCHER NG outputs

 

ESCHER NG generates three types of output files that you can identify by the extension:

Extension Description
.pdb

It's the solution extracted by -s option. It contains the probe only. Therefore, you must open the target and the extracted files in your preferred molecular graphic package if you want analyze the complex.

.sol

It's the output text file including the solutions. ESCHER NG creates two solutions files named *_1.sol and *_2.sol, where * is the name of the target and the probe separated by a dash (-). The first contains the all computed solutions, and the second contains the clustered solution, neglecting the out layered scores (see -b and -c options)

.srf

It's the surface file in Insight format. It can be output, but it can be input also.

 

  

4.1 The solution output file

 

The solution output file contains some sections. Each section begin with a keyword starting with the # character. The file format scheme is the following:

Section Description
#ESCHERNG_VER

It's file header and it's placed at the first line. This tag has got a version number that identifies the type of the ESCHER output. At this time, the allowed  version number is 1.

 

After the #ESCHER_VER tag the file can contain the date, user comments, etc without limits in the number of lines.

#DOCKING_INFO
...
#END

In this section are present some information about the docking:

- Target file name (with full path).
- Probe file name (with full path).
- Number of computed solutions.
- Rotation center (X, Y, Z).

Other information lines can be added in the future.

#SOLUTIONS
...
#END

In this section are included the calculated solutions. The first two lines are the column labels for a best user readability. Each subsequent line is a solution and the meaning of each field is:

 

Column Description
Sol. Solution number.
Score Total score (high score = best complex).
Rms Root mean square.
Bumps Number of atom collisions between target and probe.
Chg. Total charge score.
Pos. Positive <-> negative charge score. 
Neg. Positive <-> positive and negative <-> negative charge score.
Apo. Apolar <-> apolar score.
Pol. Apolar <-> polar score.
RotX X rotation.
RotY Y rotation.
RotZ Z rotation.
TransX X translation.
TransY Y translation.
TransZ Z translation.

Using the rotation center of #DOCKING_INFO section and RotX, RotY, RotZ, TransX, TransY and TransZ fields it's possible to generate the complex of the solution.

  

This is an example of a solution file:

#ESCHERNG_VER 1
Tue Jun 03 14:05:16 2003
#DOCKING_INFO
Target file name..: "DNA.pdb"
Probe file name...: "A.pdb"
Solutions.........: 1000
Center (x, y, z)..: -3.441995 -6.353000 3.789000
#END
#SOLUTIONS
Sol. Score   Rms Bumps Chg. Pos. Neg. Apo. Pol. RotX RotY RotZ TransX TransY TransZ
===================================================================================
   1   482  36.5     5  -19    0    0    1   20  -35   35   71   -6.4   28.4   -9.5
   2   480  26.3    91 -106    0    0    1  107  -35   75  284   -5.7    2.6    1.1
   3   479  26.7   113 -133    0    0    0  133  -35   75  276   -5.9    3.1    1.1
   4   479  25.1   259 -202    0    0    3  205  -35   55  252   -6.3    2.7   -0.0
   5   477  21.6     4   -5    4    0    0    9  -25   45  289   -6.1   -3.8   -2.9
...
#END

 

5.0 The esprefs file

 

ESCHER NG reads a preference file in order to set the default parameters. This file is stored in Config directory, it's called esprefs and it's in ASCII format editable as a normal text file. Each entry has a keyword with one or more parameters. A semicolon (;) placed in the first column of a line indicates a remark. You must remember that ESCHER NG doesn't print any warning about incorrect parameter or syntax errors in the esrefs file. In the following table, all available keywords are reported:

Keyword

Description

LANGUAGE

Default language used for the messages. The argument can be AUTO to set automatically the preferred language (AmigaOS and Win32 only), or the language type to set it manually.

e.g. LANGUAGE italiano

 

 

6.0 History

 

  

7.0 Copyright and disclaimers

 

All trademarks and software directly or indirectly referred in this document, are copyrighted from legal owners. ESCHER NG is a freeware program that can be spread through Internet, BBS, CD-ROM and other electronic formats. The Authors of this program accept no responsibility for hardware/software damages resulting from the use of this package. No warranty is made about the software or its performance.

Use and copying of this software and the preparation of derivative works based on this software are permitted, so long as the following conditions are met:

   

ESCHER
is a software developed in 1997
by Gabriele Ausiello, Gianni Cesareni and Manuela Helmer Citterich
All rights reserved.

Manuela Helmer Citterich
Centro di Bioinformatica Molecolare - Dipartimento di Biologia
Università di Roma Tor Vergata
Via della Ricerca Scientifica
I-00133 Roma - Italy
Tel. +39 06 7259 4314
E-Mail: citterich@uniroma2.it
WWW: http://cbm.bio.uniroma2.it/~manuela
 

ESCHER NG
is an enhanced version of the original ESCHER project
Copyright 2003-2023, Alessandro Pedretti & Giulio Vistoli
All rights reserved.

Alessandro Pedretti
Dipartimento di Scienze Farmaceutiche
Università degli Studi di Milano
Via Mangiagalli, 25
I-20133 Milano - Italy
Tel. +39 02 503 19332
Fax. +39 02 503 19359
E-Mail: info@vegazz.net
WWW: http://www.vegazz.net

 


InpMerge
CHARMM Parameter Merger

 

1. Introduction

InpMerge is a shell command that can be used to merge the CHARMM/NAMD parameter files in order to obtain a single file. This is useful to when you need a parameter file containing custom data saved by the missing parameter table.

 

2. Installation & usage

The software is installed automatically with VEGA ZZ and it requires the locale.dll and the hdrive.dll to work properly. The program must  be executed from the command prompt, selecting VEGA ZZ -> VEGA Console in the Start menu.

Synopsis:

InpMerge   <OUTPUT>   <INPUT1>   <INPUT2> ...

<OUTPUT>   

This is the name of the CHARMM/NAMD parameter output file (.inp).

<INPUT1>
<INPUT2>
...
  There are the name of the CHARMM/NAMD parameter input files (.inp). InpMerge supports files containing the INCLUDE directive.

 

3. History

 

4. Copyright and disclaimers

All trademarks and software directly or indirectly referred in this document, are copyrighted from legal owners. InpMerge is a freeware program and can be spread through Internet, BBS, CD-ROM and other electronic formats. The Authors of this program accept no responsibility for hardware/software damages resulting from the use of this package. No warranty is made about the software or its performance.

Use and copying of this software and the preparation of derivative works based on this software are permitted, so long as the following conditions are met:

   

InpMerge
is a software to merge the CHARMM parameter files
Copyright 2006-2023, Alessandro Pedretti & Giulio Vistoli
All rights reserved.

Alessandro Pedretti
Dipartimento di Scienze Farmaceutiche
Università degli Studi di Milano
Via Mangiagalli, 25
I-20133 Milano - Italy
Tel. +39 02 503 19332
Fax. +39 02 503 19359
E-Mail: info@vegazz.net
WWW: http://www.vegazz.net


VEGA ZZ Live CD Creator
A package to create VEGA ZZ live distributions

 

1.0 Introduction

VEGA ZZ Live CD Creator is a software developed to create live distributions starting from the VEGA ZZ files installed in your PC. A live distribution is an auto-starting CD or pen drive that allows to use VEGA ZZ without installation and activation. In this way, you are able to use VEGA ZZ everywhere, changing anything in the host PC.

 

2.0 Requirements

VEGA ZZ Live CD Creator:

VEGA ZZ Pen Drive installer:

 

3.0 Installation

The installation is very easy:

 

4.0 Live CD creation

To create a Live CD, you must select VEGA ZZ Utilities Live CD Creator Create Live CD in the Start menu. A shell windows is shown:

 

VEGA ZZ Live CD Creator

 

Typing Y and the return key, the creation of the ISO image starts. A new question is shown: Do you want burn the CD with BurnISO (Y/N) ? Answering N the ISO image will be saved to the directory specified by the user, otherwise answering Y the burning software will be started at the end of the image creation procedure. In this last case, the ISO image is automatically deleted when the writing phase is completed.

 

 

WARNING:
The CdBurn software requires at least Windows XP and for this reason if your operating system is Windows 2000, you must generate the CD image, answering N to the Do you want burn the CD with BurnISO (Y/N) ? question. The resulting image can be written by a burning software supporting your operating system (e.g. Nero Burning Rom, Easy CD & DVD Creator, CDBurnerXP, etc).

 

If you want complete your Live CD, you could print the cover. Two PDF covers are included in the package (see Start VEGA ZZ Utilities Live CD Creator): for the normal CD jewel case and for the MiniCD slim case.

 

5.0 Pen Drive installation

To install VEGA ZZ on a pen drive, you must select VEGA ZZ Utilities Live CD Creator Install on Pen Drive in the Start menu. A shell windows is shown:

 

VEGA ZZ Pen Drive Installer

 

Typing Y and the return key, the setup starts and the drive letter is requested. After few minutes (they are depending on the drive speed) the installation is completed.

 

 

6.0 History

 

7.0 Copyright and disclaimers

All trademarks and software directly or indirectly referred in this document, are copyrighted from legal owners. VEGA ZZ Live CD Creator is a freeware program and can be spread through Internet, BBS, CD-ROM and other electronic formats. The Authors of this program accept no responsibility for hardware/software damages resulting from the use of this package. No warranty is made about the software or its performance.

Use and copying of this software and the preparation of derivative works based on this software are permitted, so long as the following conditions are met:

   

VEGA ZZ Live CD Creator
is a software developed in 2006-2021
Alessandro Pedretti & Giulio Vistoli
All rights reserved.

Alessandro Pedretti
Dipartimento di Scienze Farmaceutiche
Università degli Studi di Milano
Via Mangiagalli, 25
I-20133 Milano - Italy
Tel. +39 02 503 19332
Fax. +39 02 503 19359
E-Mail: alessandro.pedretti@unimi.it
WWW: http://www.vegazz.net

 


Scripts
for the command prompt

 

Manual.cmd

Show this help. It can be invoked also typing help in the command prompt.

 

NamdClean.cmd

Remove the not useful files generated by NAMD2 (.bak, .old and restarts) keeping the calculation results.
Usage:

NamdClean  DIRECTORY

where DIRECTORY is the path of the folder to clean. It can be omitted and in this case the cleaning is performed in the current directory. To show the script help, use /? option.

 

NamdMulti.cmd

Run multiple NAMD2 calculations. The input files must be prepared before to run this script (e.g. by VEGA ZZ). Usage:

NamdMulti /P CPUS /R /S DIRECTORY

where:

DIRECTORY    is the working directory. The default  directory is the current one.
/P CPUS   is the number of reserved CPUs for the calculation. The default value is the maximum number of installed CPUs.
/R   enables the recursive mode. This is useful if you prepared NAMD calculations in separated directories.
/S   shutdown the system when all calculations are finished.

 

NamdShutDown.cmd

Enable/disable the system shutdown when NamdMulti is already running. Usage:

NamdShutDown   DIRECTORY

where DIRECTORY is the path of the working directory used by NamdMulti.

 

OpenDataDir.cmd

Open Data directory showing it in Explorer. It's useful for service operations to find Data directory which path depends on the type of installation and on the version of the operating system.

 


ShutDownGUI
Power off the system when an event occurs

 

1. Introduction

ShutDownGUI is a graphical utility to power off the system when an event occurs. The most common scenario is a long calculation (e.g. a NAMD molecular dynamics) whose end is unknown and you want to shutdown your PC when it’s finished. There are three operating modes:

You can abort the shutdown procedure in any time by clicking Abort button or by closing the program window.

 

2. System requirements

To run ShutDownGUI, you need a PC with Windows Vista/7/8/8.1/10 x86 or x64 operating system.

 

3. Installation

No installation is required.

 

4. Usage

You can configure ShutDownGUI by command line options or by its graphic interface.

 

4.1 Configuring by command line

You can use some command line options to set and customize ShutDownGUI:

Option Argument Description
/BUTTON Text Text of abort button.
/CONFIG - Show the configuration dialog window.
/DATE d/m/yyyy Shutdown date for timer mode. This option can be used with /TIME.
/DELAY h:m:s Delay before the shutdown for countdown mode.
/DELAYS sec Same of above, but the delay is in seconds.
/HELP - Show the command line options.
/H
/?
/LABEL   Shutdown message.
/PID Number ID of the process to wait. You can specify more than one ID.
/TIME h:m:s Shutdown time for timer mode. This option can be used with /DATE.
/TITLE Text Window title.

*All options are case-insensitive.

 

4.2 Configuring by graphic interface

To show the configuration window, you must use /CONFIG option to run ShutDownGUI.

ShutDownGUI graphic configuration

In this self-explaining dialog, you can set the operating mode (Mode box), delay, date, time and process IDs as explained above.

 

5. History

 

6. Copyright and disclaimers

All trademarks and software directly or indirectly referred in this document, are copyrighted from legal owners. ShutDownGUI is a freeware program and can be spread through Internet, BBS, CD-ROM and other electronic formats. The Author of this program accepts no responsibility for hardware/software damages resulting from the use of this package. No warranty is made about the software or its performance. Use and copying of this software and the preparation of derivative works based on this software are permitted, so long as the following conditions are met:

   

ShutDownGUI

Copyright 2012-2023, Alessandro Pedretti
All rights reserved

Alessandro Pedretti
Dipartimento di Scienze Farmaceutiche
Università degli Studi di Milano
Via Mangiagalli, 25
I-20133 Milano - Italy
Tel. +39 02 503 19332
Fax. +39 02 503 19359
E-Mail: info@vegazz.net
WWW: http://www.vegazz.net


Tree2C
Classification tree to code converter

Main topics:

1. Introduction
2. System requirements
3. Installation
    3.1 Linux installation
4. Usage
  4.1 Data preparation for machine learning with VEGA ZZ
    4.2 Model generation with Weka
  4.3 Decision tree conversion
      4.3.1 Command line examples
  4.4 Graphic user interface
  4.5 Tree input file
5. C code description
  5.1 Constants
  5.2 Data types
  5.3 Shared global variables
  5.4 Functions
    5.4.1 Run information section
    5.4.2 Classifier model section
6. C++ code description
  6.1 Constants
  6.2 Model class
    6.2.1 Properties/Attributes
    6.2.2 Methods
  6.3 Usage
7. Fortran 90 code description
  7.1 Model module
    7.1.1 Constants
    7.1.2 Properties/attributes
    7.1.3 Methods
  7.2 Usage
8. Java code description
  8.1 Model class
    8.1.1 Constants
    8.1.2 Properties/attributes
    8.1.3 Methods
  8.2 Usage
9. JavaScript code description
  9.1 Model class
    9.1.1 Constants
    9.1.2 Properties/attributes
    9.1.3 Methods
  9.2 Usage
10. JScript code description
  10.1 Model pseudo-class
    10.1.1 Constants
    10.1.2 Properties/attributes
    10.1.3 Functions
  10.2 Usage
11. Lua code description
  11.1 Model class
    11.1.1 Constants
    11.1.2 Properties/attributes
    11.1.3 Methods
  11.2 Usage
12. PHP code description
  12.1 Model class
    12.1.1 Constants
    12.1.2 Properties/attributes
    12.1.3 Methods
  12.2 Usage
13. Python code description
  13.1 Model class
    13.1.1 Constants
    13.1.2 Properties/attributes
    13.1.3 Methods
  13.2 Usage
14. REBOL code description
  14.1 Model class
    14.1.1 Constants
    14.1.2 Properties/attributes
    14.1.3 Methods
  14.2 Usage
15. VBScript code description
  15.1 Constants
  15.2 Model class
    15.2.1 Properties/attributes
    15.2.2 Methods
  15.3 Usage
16. Examples & applications
  16.1 Prediction of blood-brain barrier permeation
    16.1.1 Usage
    16.1.2 About the decision tree model
  16.2 Prediction of mutagenicy
    16.2.1 Usage
    16.2.2 About the decision tree model
17. History
18. Copyright and disclaimers

 

1. Introduction

This program converts the machine learning models, in particular the classification trees, generated by Weka program mainly to C source code but it supports also other programming languages (e.g. C++, Fortran 90, Java, JavaScript, JScript, Lua, PHP, Python, REBOL and VBScript). The resulting code requires no or very limited modifications to be used. The program can recognize several molecular attributes/descriptors (especially those that are calculated by VEGA ZZ and MOPAC 2016) and it can add automatically the code to calculate them. Moreover, Tree2C can generate code also for the domain property check, which is a very useful feature to evaluate the confidence of the classification results. In addition, the program can build the code for different targets to be integrated in a pre-existing program:

The code generated by Tree2C was successfully tested by different language compilers and interpreters as shown in the following table:

Language Operating systems Compiler/Interpreter Version
C Linux x86 and x64 gcc 4.6 and above
Windows x86 and x64 MinGW 4.6 and above
Windows x86 and x64 RAD Studio 10.2.3
Windows x86 and x64 TinyC 0.9.6
C++ Linux x86 and x64 gcc 4.6 and above
Windows x86 and x64 MinGW 4.6 and above
Windows x86 and x64 RAD Studio 10.2.3
Fortran 90 Linux x86 and x64 gfortran 4.6 and above
  Windows x86 and x64 MinGW 4.6 and above
Java Platform independent Java SE Development Kit 8 update 12
JavaScript Platform independent Node.js 10.15.3
JScript Windows x64 Windows Script Host 9.0
Lua Platform independent Lua 5.3.5
PHP Platform independent PHP 5.2.5 and above
Python Platform independent Python 3.5.1
REBOL Platform independent REBOL/View 2.7.8.3.1
VBScript Windows x64 Windows Script Host 5.8

 

2. System requirements

Tree2C supports both Linux (x86 or x64) and Windows (2000/XP/Vista/7/8/8.1/10 x86 or x64) operating systems and requires the HyperDrive runtime library, which is the same used for VEGA ZZ software. Since the program is written in standard C code, it can be ported to other operating systems without modifications.

Tree2C is provided in two different versions:

Both versions shares the several features, but the GUI-based version supports only the C language as target.

 

3. Installation

Tree2C is provided in three different packages:

The stand-alone version of Tree2C doesn't require the installation, while the GUI version is integrated in VEGA ZZ package and is installed automatically when you run the VEGA ZZ setup. Moreover, the same package includes the command line version (for both 32 and 64 bit Windows versions).

 

3.1 Linux installation

Linux systems require to set LD_LIBRARY_PATH environment variable to find the hdrive.so dynamic library. You can do it by editing your shell start-up script (e.g. .cshrc for csh or tcsh, .bashrc for GNU bash). For csh/tcsh shell, you must add these lines at the end of the script:

setenv LD_LIBRARY_PATH "<INSTALLATION_PATH> $LD_LIBRARY_PATH"
setenv PATH "<INSTALLATION_PATH>:$PATH"

where <INSTALLATION_PATH> is the directory in which Tree2C executable is present.

 

For sh/bash:

export LD_LIBRARY_PATH="<INSTALLATION_PATH> $LD_LIBRARY_PATH"
export PATH="<INSTALLATION_PATH>:$PATH"

For example, if you installed Tree2C for Linux in /usr/local/tree2c directory, you must set the environment variables (csh/tcsh):

setenv LD_LIBRARY_PATH "$/usr/local/tree2c $LD_LIBRARY_PATH"
setenv PATH "/usr/local/tree2c:$PATH"

or (sh/bash):

export VEGADIR="/usr/local/vega"
export LD_LIBRARY_PATH="/usr/local/vega $LD_LIBRARY_PATH"
export PATH="/usr/local/vega:$PATH"

Finally, you must change the file permissions:

chmod 755 tree2c

 

4. Usage

Before to use this utility, you must follow these steps in order obtain the code to perform the classification:

This workflow is especially thought for the classification of molecules, but Tree2C can be used with success also with non-chemical datasets and models.

 

4.1 Data preparation for machine learning with VEGA ZZ

When you want to build a model to classify molecules, a training dataset of examples for each class is required in order to teach the learning algorithm. The so obtained model can be used to predict the belonging class of an unknown molecule as shown in the following scheme:

Model generation workflow

Obviously, to perform the classification, you must know the features/attributes of the query molecule and have the right tool to calculate them.
VEGA ZZ can help you in the first phase of this workflow and, in particular, it can be used not only to prepare the training set of molecules, but also to calculate several attributes. Its flexible database engine can help you in organizing and processing molecules from different data sources and formats (e.g. IUPAC name, use name, SMILES notation, InChI notation, 2D and 3D structures in different format, etc.) in order to obtain homogenous data ready to use for the calculation of the attributes as shown in the following scheme:

VEGA ZZ supports different types of databases, but when you have to perform the machine learning, it is very important the use of relational databases (e.g. Microsoft Access, MySQL, SQLite)  because 1) they can include not only the molecules structures but also their attributes and the belonging class; 2) you can manage the data not only with VEGA ZZ but also with other programs; 3) you can use the WarpEngine technology to calculate the descriptors (e.g. semi-empirical ones).
The generic procedure, which you can use to build a training set with VEGA ZZ, could be:

 

4.2 Model generation with Weka

This part of the manual don't want to be exhaustive (this is only a "mini how-to" guide) and more information can be found in Weka manual and tutorials.

 

4.3 Decision tree conversion

If you run this utility by command prompt without arguments, the program options are shown as here below:

Tree2C V1.0.0 - (c) 2017-2023, Alessandro Pedretti

Usage: Tree2C INPUT_FILE -o[OUTPUT_FILE] -a[DATA_FILE] -i[SCRIPT_DIR]
              -l[CLASS_LABELS] -n[MODEL_NAME] -s[LANGUAGE]
              -t[TEMPLATE_DIR] -dfhmv

 a -> ARFF file to generate the domain check code
 d -> Add DLL code (define T2C_DLL to enable compiling the code)
 f -> Force to write the code also for the unused attributes
 h -> Save all code in the header file
 i -> Install the C-script in the specified directory
 l -> Class labels (comma separated)
 m -> Multi-language support (VEGA ZZ C-script only)
 n -> Name of the model (default input file name)
 o -> Output file name (default input file)
 s -> Target programming language:
      C (default), C++, Fortran90, Java, JavaScript, JScript, Lua,
      PHP, Python, REBOL, VBScript
 t -> VEGA template directory (usually autodetected)
 v -> Code compatible with VEGA ZZ C-script

Examples:
Tree2C weka_tree.txt
Tree2C weka_tree.txt -s Python
Tree2C weka_tree.txt -l "No,Yes"
Tree2C weka_tree.txt -o prediction.c -a weka_input.arff -v
 

All parameters are optional with the exception of the the input file (INPUT_FILE), which includes the decision tree model generated as explained in the previous section. The meaning of the other parameters is summarized in the following table:

Option Argument Description
-a DATA_FILE If you specify the ARFF file used to create the model, additional code is generated to check if the calculated attributes are included in the same domain as those used to build the model.
-d - Add the code to compile the model as dynamic link library (DLL) for Windows OSs. Define T2C_DLL if you want to obtain a DLL, otherwise the resulting object will be the same as without -d option. This option is available only for the C target language.
-f - Usually Tree2C doesn't consider the attributes not used by Weka in the tree even if they appear in the header of the model or ARFF files. By this switch, you can force the code generation for all attributes. This feature is useful when you want to use together more than one model sharing the same set of attributes.
-h - The code is merged in the header file (.h) without to create the C file (.c).
-i SCRIPT_DIR Install the code as C-script the specified script directory (see -v option). This feature is useful only if VEGA ZZ is installed.
-l CLASS_LABELS Usually Tree2C uses a progressive number to indicate each class for the prediction (e.g. 0, 1 ... n), but you can change this behaviour specifying a label for each class. Each label must be comma separated and included between quotes (e.g. "Inactive,Active" respectively for 0 and 1 classes).
-m - Enable the language localization of the C-script (see -v option).
-n MODEL_NAME Name of the model. By default, it is the input file name without path and extension.
-o OUTPUT_FILE Name of the output file(s). By default, the input file name is used for both code and header files.
-s LANGUAGE Target programming language used to generate the source code. Actually, the keywords for the supported languages are: C, C++, Fortran90, Java, JavaScript, JScript, Lua, PHP, Python, REBOL, and VBScript. This option is case-insensitive.
-t TEMPLATE_DIR Full path of the VEGA template directory needed to calculate the some molecular descriptors.
-v - Generate the code as VEGA ZZ C-script, including the code to calculate the known molecular properties. When you run the resulting script, if the VEGA workspace is not empty and there is a molecule, the classification is performed for the current molecule, otherwise a file requester is shown to select an input database. In this second case, the classification is performed for all molecules of the database. The output is a CSV file whose name can be specified through a file requester.

*All options are case-insensitive.

When you generate the code as VEGA ZZ C-script (-v option), the attribute names are analyzed and if are calculable by VEGA ZZ, the right code is automatically added to the output, otherwise a warning message is shown. In this case, you have to complete the code.

 

4.3.1 Command line examples

Here are some examples to clarify the use of Tree2C:

Here, the typical Tree2C output of a generic run is shown:

tree2c "random tree.txt"

* Loading the model

  Target programming language..: C
  Original model name..........: RANDOM_TREE
  Model name for the code......: RANDOM_TREE
  Number of attributes.........: 58
  Number of unused attributes..: 31
  Unused attributes............: Surface Charge FG_Br FG_CHO FG_CN3 FG_CNH FG_CNR
  Number of trees..............: 1
  Number of output values......: 2
  Class values.................: FALSE TRUE
  Class labels.................: None

* Saving the C code
* Done
 
4.4 Graphic user interface

To use the GUI version of Tree2C, you must start VEGA ZZ and select File Run script in the main menu. Hence, you must find Development tools Decision tree to C converter.vll in the script tree and finally you must double click on it. Although the program is managed as a VEGA ZZ C-script, you cannot edit the source code because it was built as VEGA Link Library (VLL), which is in binary format. As for the standard C-scripts, you can show the help clicking the > symbol on the right side of the Select the script ... window.

Decision treeto C converter

The features of this Tree2C version are the same of the command line version but are accessible through a nice graphic user interface. To build the C code (the only language supported by this version), you must:

 

4.5 Tree input file

As explained above, the input file required by Tree2C is the output generated by Weka when you run a tree-based classifier (random tree, random forest, etc.), but since is a text file, you can generate it in easy way by other programs. This paragraph doesn't want to be an exhaustive guide on the Weka output format, but shows only the most important topics aimed to build a file compatible with Tree2C.
The file includes three parts: 1) a header with the information on the attributes and the learning approach (Run information section); 2) one or more decision trees (Classifier model section); 3) a footer with the statistical data (Summary section). Tree2C requires only the first two sections of the file.

 

4.5.1 Run information section

Not all tags of this section are needed by Tree2C and, in particular, only the first two must be always present: Scheme and Attributes.

Scheme:       weka.classifiers.trees.RandomTree -K 0 -M 1.0 -V 0.001 -S 1

and the minimal value of Scheme for Tree2C is:

Scheme:       weka.classifiers.trees
Attributes:   5
              Angles
              Atoms
              Dipole
              HbAcc
              HbDon

Since Tree2C can find the attributes directly from the trees, you cannot specify their list as shown below:

Attributes:   5
              [list of attributes omitted]

The Run information label cannot be present because Tree2C assumes by default that the first section found in the file is just this one.

 

4.5.2 Classifier model section

The Classifier model label marks the section in which one ore more decision trees are reported. This label is optional for Tree2C because it searches directly for the RandomTree label, which denotes the beginning of each tree. The tree is drawn from left to right and the splitting nodes are not indicated but are placed virtually in the middle of the segment built by multiple pipe characters ( | ). At the end of two branches of the fork there is a leaf represented by an attribute and a condition (respectively the true and false conditions for each leaf pair) as shown below:

Attribute1 < Value1
|
| Other branches
|
Attribute1 >= Value1
|
| Other branches

The previous example shows the comparison of an attribute (Attribute1) with a threshold value (Value1) through a pair of operators (less than and equal or greater than) for both true and false conditions. Just for an exemplification, the corresponding pseudo-code is:

if Attribute1 < Value1 then
    True condition
else
    False condition

If you have to insert a branch with a Boolean attribute, you must use a different representation as shown below:

Attribute2 = yes
|
| Other branches
|
Attribute2 = no
|
| Other branches

and the corresponding pseudo code is:

 if Attribute2 is true then
    True condition
else
    False condition

When a leaf must return the class and you don't have to continue the tree with other branches, you can indicate the class after the condition as shown in the following example:

Attribute3 < Value3 : 1
Attribute3 >= Value3 : 0

where 0 and 1 are the class IDs. Translating the node to pseudo-code:

 if Attribute3 > Value3 then
    return 1
else
    return 0

Weka adds statistical data (two integer numbers separated by a slash) to this kind of leaf, which is however ignored by Tree2C:

Attribute3 < Value3 : 1 (TotInst/MissClassInst)
Attribute3 >= Value3 : 0 (TotInst/MissClassInst)

In particular, the first number is the total number of instances (TotInst, weight of instances) reaching the leaf and the second number is the number (weight) of those instances that are misclassified (MIssClassInst).

 

5. C code description

All constants, data structures and functions are named according to the rule in which each object has T2C_MODEL_NAME_ prefix, where MODEL_NAME is obtained automatically from the Weka file name capitalizing it and replacing the spaces with underscores characters ("_") or is specified by the user with -n option.

 

5.1 Constants

The constants are defined in the header file or in the C file if you have selected an output without header file.

/**** Output values ****/

#define T2C_RANDOM_TREE_FALSE                   0
#define T2C_RANDOM_TREE_TRUE                    1
/**** Values of the attributes ****/

#define T2C_RANDOM_TREE_FG_CON2_NO              0
#define T2C_RANDOM_TREE_FG_CON2_YES             1
/**** MOPAC keywords ****/

#define T2C_MOPAC_KEYS                          "PM7 GEO-OK MMOK 1SCF SUPER"

/**** MOPAC properties ****/

#define T2C_MOPAC_CORE_CORE_REPULSION           0
#define T2C_MOPAC_COSMO_AREA                    1
#define T2C_MOPAC_COSMO_VOLUME                  2
#define T2C_MOPAC_DE_TOTAL                      3
#define T2C_MOPAC_DN_TOTAL                      4
#define T2C_MOPAC_DIPOLE                        5
#define T2C_MOPAC_ELECTRONIC_ENERGY             6
#define T2C_MOPAC_HEAT_OF_FORMATION             7
#define T2C_MOPAC_HOMO_ENERGY                   8
#define T2C_MOPAC_IONIZATION_POTENTIAL          9
#define T2C_MOPAC_LUMO_ENERGY                   10
#define T2C_MOPAC_MULLIKEN_ELECTRONEGATIVITY    11
#define T2C_MOPAC_NO_OF_FILLED_LEVELS           12
#define T2C_MOPAC_PARR_POPLE_ABSOLUTE_HARDNESS  13
#define T2C_MOPAC_PIS_TOTAL                     14
#define T2C_MOPAC_SCHUURMANN_MO_SHIFT_ALPHA     15
#define T2C_MOPAC_TOTAL_ENERGY                  16

#define T2C_MOPAC_NUM_OF_PROPERTIES             17
/**** Window parameters ****/

#define T2C_ABWWIDTH     300    /* Abort window width  */
#define T2C_ABWHEIGHT    104    /* Abort window height */
#define T2C_BTWIDTH       89    /* Button width        */
#define T2C_BTHEIGHT      25    /* Button height       */

 

5.2 Data types

The only data type defined in the source code is that is used as input for both T2C_MODEL_NAME_Classify() and T2C_MODEL_NAME_DomCheck() functions. It is named T2C_MODEL_NAME_INPUT and in its structure, the Boolean and discrete attributes/parameters are defined respectively as integer numbers (int type) and the other ones as single precision floating point numbers (float type).

Example:

/**** Data types ****/

typedef struct {
  float    Angles;
  float    Atoms;
  float    Bonds;
  float    ChiralAtms;
  float    Dipole;
  float    EzBnds;
  int      FG_CON2;
  int      FG_COOH;
  int      FG_COOR;
  int      FG_F;
  int      FG_PhOH;
  float    FlexTorsions;
  float    Gyrrad;
  float    HbAcc;
  float    HbDon;
  float    HeavyAtoms;
  float    Lipole;
  float    Mass;
  float    Ovality;
  float    Psa;
  float    Rings;
  float    Sas;
  float    Sav;
  float    Sdiam;
  float    Torsions;
  float    Vdiam;
  float    VirtualLogP;
} T2C_RANDOM_TREE_INPUT;
 

5.3 Shared global variables

Tree2C declares several shared global variables for the C-scripts as shown in the following table:

Name Type Header Description
Errors HD_ULONG hdtypes.h Number of errors occurred during the classification.
FH FILE * stdio.h Pointer to the file handle used to write the output CSV file.
hAbort GAZ_WINDOW graphappz.h Handle of the abort window.
hDb HD_STRING hdtypes.h String variable, which contains the handle of the library/database to process.
hMopac HD_PROC hdprocess.h Process handle for MOPAC calculations.
hThread HD_THREAD hdtypes.h Handle of the calculation thread (used only when you have to process a library of molecules).
LBL_Abort GAZ_LABEL graphappz.h Handle of the label gadget showing the progress messages in the abort window.
Mols HD_LONG hdtypes.h Number of the molecules included in the library to which to predict the belonging class.
MopacProp float - Vector with T2C_MOPAC_NUM_OF_PROPERTIES size used to store the semi-empirical descriptors calculated by MOPAC.
Running HD_BOOL hdtypes.h This variable signals to the working process to abort the calculation when it is set to 0.

 

5.4 Functions

Here you can find the description of each C function generated by Tree2C.

 

 

Here is the list of the specific function for C-scripts. Some of them uses GraphAppZ and HyperDrive data types that are defined respectively in graphappz.h and hdtype.h header files that are stored in ...\VEGA ZZ\Tcc\include\vega and ...\VEGA ZZ\Tcc\include\hyperdrive directory. If you installed the 64 bit version of VEGA ZZ, the Tcc directory is renamed to Tcc64.

 

 

 

 

 

6. C++ code description

When you select C++ as output, Tree2C generates two files: the header and the code files. The former includes the definition of the class which is named according to T2CPP_MODEL_NAME rule and the latter includes the code of the methods. Tree2C is unable to generate the C++ code to calculate the attributes/parameters when you specify the -v option.
 

6.1 Constants

The constants are defined in the header file as for the C output.

 

6.2 Model class

The model class includes properties and methods to perform the classification in easy way and is defined as in the following example:

/**** Class definition ****/

class T2CPP_RANDOM_TREE
{
  public:
 

6.2.1 Properties/attributes

The properties are defined in the header file as shown in the following example:

/**** Properties ****/

float    Angles;
float    Atoms;
int      FG_CON2;

 

6.2.2 Methods

Tree2C generates the code for two methods Classify() and, optionally when you specify the ARFF file with -a option, DomCheck(). Both methods don't have arguments because the data is taken from the attribute properties that must be set before to call them.

 

6.3 Usage

Before to use the class, you must create the related object:

T2CPP_RANDOM_TREE     Model;

then, you must set the properties:

Model.Angles       = 325.0f;
Model.Atoms        = 176.0f;
Model.FG_CON2      = 0;

finally, you must call the methods:

printf("Domain violations: %d\n", Model.DomCheck());
printf("Predicted class: %d\n", Model.Classify());

The resources of Model object are automatically freed exiting by the function and/or the compound. The object can be also created dynamically by new command:

T2CPP_RANDOM_TREE *   Model = new T2CPP_RANDOM_TREE();

but since new returns the pointer to the object, the syntax required to address properties and methods is different and, in particular, for the properties:

Model -> Angles       = 325.0f;
Model -> Atoms        = 176.0f;
Model -> FG_CON2      = 0;

and for the methods:

printf("Domain violations: %d\n", Model -> DomCheck());
printf("Predicted class: %d\n", Model -> Classify());

The resources of the objects created by new aren't not automatically released and, therefore, you must free them by delete command:

delete Model;

 

7. Fortran 90 code description

When you select Fortran90 as output, the class/module is named according to the name of the model in Weka file or by -n option. Tree2C is unable to generate the Fortran 90 code to calculate the attributes/parameters when you specify the -v option.

 

7.1 Model module

The model module includes constants, properties and methods to perform the classification in easy way and is defined as in the following example:

!**** Classification module ****/

module random_tree
  implicit none

 

7.1.1 Constants

The constants have T2F90_MODEL_NAME_ prefix and are defined inside the module as parameters:

  !**** Output values ****

  integer, parameter :: T2F90_RANDOM_TREE_FALSE = 0
  integer, parameter :: T2F90_RANDOM_TREE_TRUE = 1
  !**** Values of the attributes ****

  integer, parameter :: T2F90_RANDOM_TREE_FG_CON2_NO = 0
  integer, parameter :: T2F90_RANDOM_TREE_FG_CON2_YES = 1

 

7.1.2 Properties/attributes

The properties are declared inside a type definition whose name is T2F90_MODEL_NAME_Input as shown in the following example:

  type :: T2F90_RANDOM_TREE_Input

    !**** Properties ****

    real :: Angles
    real :: Atoms
    integer :: FG_CON2

The type definition is closed by the declaration of the methods to perform the classification (Classify) and the domain check (DomCheck):

  contains
    procedure, pass(this) :: Classify
    procedure, pass(this) :: DomCheck
  end type T2F90_RANDOM_TREE_Input

 

7.1.3 Methods

Tree2C generates the code for two methods Classify and, optionally when you specify the ARFF file with -a option, DomCheck. Both methods don't have arguments because the data is taken from the attribute properties that must be set before to call them. For more information on these two methods, click here.

 

7.2 Usage

First of all, after the program declaration, you must include the module code:

program random_tree_test
  use random_tree
  implicit none

before to use the class, you must create the related object:

  type(T2F90_RANDOM_TREE_Input) :: Model

then, you must set the properties:

  Model%Angles = 325
  Model%Atoms = 176
  Model%FG_CON2 = 0

and now you can call the methods:

  print *, " Domain violations: ", Model%DomCheck()
  print *, " Predicted class: ", Model%Classify()

finally, you must remember to add the following line to end the program:

  end program random_tree_test

 

8. Java code description

When you select Java as output, the class is named (in lower case) according to the name of the model in Weka file or by -n option. Tree2C is unable to generate the Java code to calculate the attributes/parameters when you specify the -v option.

 

8.1 Model class

The model class includes constants, properties and methods to perform the classification in easy way and is defined as in the following example:

/**** Model class ****/

class random_tree {

 

8.1.1 Constants

The constants have C_ prefix and are defined inside the class as static final properties (constants):

  /**** Output values ****/

  static final int C_FALSE = 0;
  static final int C_TRUE = 1;
  /**** Values of the attributes ****/

  static final int C_FG_CON2_NO = 0;
  static final int C_FG_CON2_YES = 1;

 

8.1.2 Properties/attributes

The properties are declared inside the class as shown in the following example:

  /**** Attributes ****/

  float Angles;
  float Atoms;
  int FG_CON2;

 

8.1.3 Methods

Tree2C generates the code for two methods Classify() and, optionally when you specify the ARFF file with -a option, DomCheck(). Both methods don't have arguments because the data is taken from the attribute properties that must be set before to call them. For more information on these two methods, click here.

 

8.2 Usage

First of all, after the program and main class declaration, you create the object of the class:

public class random_tree_test
{
  public static void main(String[] args)
  {
    random_tree Model = new random_tree();

then, you must set the properties:

  Model.Angles = 325.0f;
  Model.Atoms = 176.0f;
  Model.FG_CON2 = 0;

and now you can call the methods:

  System.out.printf(" Domain violations: %d\n", Model.DomCheck());
  System.out.printf(" Predicted class: %d\n", Model.Classify());

finally, you must remember to add the following lines to end the program:

  }
}

 

9. JavaScript code description

When you select JavaScript as output, the class is named (in lower case) according to the name of the model in Weka file or by -n option. Tree2C is unable to generate the JavaScript code to calculate the attributes/parameters when you specify the -v option.

 

9.1 Model class

The model class includes constants, properties and methods to perform the classification in easy way and is defined as in the following example:

/**** Model class ****/

class random_tree {

 

9.1.1 Constants

The constants (this is an improper term, because in JavaScript the constant type doesn't exist) have C_ prefix and are defined inside the constructor of the class:

  /**** Constructor ****/

  constructor() {

There are two type of constants:

    /**** Output values ****/

    this.C_FALSE = 0;
    this.C_TRUE = 1;
    /**** Values of the attributes ****/

    this.C_FG_CON2_NO = 0;
    this.C_FG_CON2_YES = 1;

 

9.1.2 Properties/attributes

The properties are declared inside the class constructor and are initialized to zero as shown in the following example:

    /**** Attributes ****/

    this.Angles = 0.0;
    this.Atoms = 0.0;
    this.FG_CON2 = 0;

 

9.1.3 Methods

Tree2C generates the code for two methods Classify() and, optionally when you specify the ARFF file with -a option, DomCheck(). Both methods don't have arguments because the data is taken from the attribute properties that must be set before to call them. For more information on these two methods, click here.

 

9.2 Usage

First of all, you must include the code of the classification class. The following example is based on Node.js but the syntax can differ on the basis of the JavaScript interpreter:

const random_tree = require('./random_tree.js');

before to use the class, you must create the related object:

  const Model = new random_tree();

and now you must set the properties:

  Model.Angles = 325.0;
  Model.Atoms = 176.0;
  Model.FG_CON2 = 0;

finally, you can call the methods:

  console.log(" Domain violations: %d", Model.DomCheck());
  console.log(" Predicted class: %d", Model.Classify());

 

10. JScript code description

JScript is Microsoft's dialect of ECMAScript standard and although shares some programming and syntax paradigms with JavaScript, it must not confused with JavaScript. JScript doesn't support class programming, but it is possible to implement pseudo-classes through functions.
When you select JScript as output, a pseudo-class is created as a function named (in lower case) according to the name of the model in Weka file or by -n option. Tree2C is unable to generate the JScript code to calculate the attributes/parameters when you specify the -v option.

 

10.1 Model pseudo-class

The model class includes constants, properties and methods to perform the classification in easy way and is defined as in the following example:

/**** Model pseudo-class ****/

function random_tree() {

 

10.1.1 Constants

As for JavaScript, the constants are not supported by JScript, but Tree2C creates the code declaring and initializing variables according to the rule in which each variable is preceded by the C_ prefix. They are defined at the beginning of the main function and there are two type of constants:

    /**** Output values ****/

    this.C_FALSE = 0;
    this.C_TRUE = 1;
    /**** Values of the attributes ****/

    this.C_FG_CON2_NO = 0;
    this.C_FG_CON2_YES = 1;

 

10.1.2 Properties/attributes

The properties are declared inside the main function and are initialized to zero as shown in the following example:

    /**** Attributes ****/

    this.Angles = 0.0;
    this.Atoms = 0.0;
    this.FG_CON2 = 0;

 

10.1.3 Functions

Tree2C generates the code for two functions inside the main function, namely Classify() and, optionally when you specify the ARFF file with -a option, DomCheck(). Both functions can be managed as methods and don't have arguments because the data is taken from the attribute properties that must be set before to call them. For more information on these two functions, click here.

 

10.2 Usage

As first step, you must include the code of the classification function.

<job>
  <script language="JScript" src="random_tree_jscript.js"/>
  <script language="JScript">

before to use the external function, you must create the related object:

    var Model = new random_tree();

then, you must set the properties:

    Model.Angles = 325.0;
    Model.Atoms = 176.0;
    Model.FG_CON2 = 0;

finally, you can call the methods:

    WSH.echo("Domain violations:", Model.DomCheck(),
             "Predicted class:  ", Model.Classify());

finally, you must remember to add the following lines to end the script:

  </script>
</job>

 

11. Lua code description

When you select Lua as output, Tree2C generates the the class code for you, which is a little bit tricky if you want to write it by yourself. As usual, the class is named (in lower case) according to the name of the model in Weka file or by -n option. Tree2C is unable to generate the Lua code to calculate the attributes/parameters when you specify the -v option.

 

11.1 Model class

As explained above, all code to declare the class is automatically generated by Tree2C as shown in the following example:

---- Model class ----

random_tree = {}
random_tree.__index = random_tree

 

11.1.1 Constants

Also for Lua, the constants are not supported and are replaced by standard properties which, however, are not write-protected as the constants. This kind of properties, have C_ prefix and are defined inside the constructor of the class:

function random_tree:New()
  local Acnt = {}
  setmetatable(Acnt, random_tree)

There are two type of constants:

  ---- Output values ----

  self.C_FALSE = 0
  self.C_TRUE = 1
    /**** Values of the attributes ****/

    this.C_FG_CON2_NO = 0;
    this.C_FG_CON2_YES = 1;

 

11.1.2 Properties/attributes

The properties are declared inside the class constructor and are initialized to zero as shown in the following example:

  ---- Properties ----

  self.Angles = 0.0
  self.Atoms = 0.0
  self.FG_CON2 = 0

 

11.1.3 Methods

Tree2C generates the code for two methods Classify() and, optionally when you specify the ARFF file with -a option, DomCheck(). Both methods don't have arguments because the data is taken from the attribute properties that must be set before to call them. For more information on these two methods, click here.

 

11.2 Usage

First of all, you must include the code of the classification class:

require 'random_tree'

before to use the class, you must create the related object:

Model = random_tree:New()

then, you must set the properties:

Model.Angles = 325
Model.Atoms = 176
Model.FG_CON2 = 0

finally, you can call the methods:

print(" Domain violations: " .. Model:DomCheck())
print(" Predicted class: " .. Model:Classify())

 

12. PHP code description

When you select PHP as output, the class is named (in upper case) according to the name of the model in Weka file or by -n option preceded by T2PHP_ prefix. Tree2C is unable to generate the PHP code to calculate the attributes/parameters when you specify the -v option.

 

12.1 Model class

The model class includes constants, properties and methods to perform the classification in easy way and is defined as in the following example::

/**** Model class ****/

class T2PHP_RANDOM_TREE {

 

12.1.1 Constants

There are two type of constants, which are declared inside the class and  have C_ prefix:

  /**** Output values ****/

  const C_FALSE = 0;
  const C_TRUE = 1;
  /**** Values of the attributes ****/

  const C_FG_CON2_NO = 0;
  const C_FG_CON2_YES = 1;

 

12.1.2 Properties/attributes

The properties are declared inside the class constructor and are initialized to zero as shown in the following example:

  /**** Properties ****/

  public $Angles = 0.0;
  public $Atoms = 0.0;
  public $FG_CON2 = 0;

 

12.1.3 Methods

Tree2C generates the code for two methods Classify() and, optionally when you specify the ARFF file with -a option, DomCheck(). Both methods don't have arguments because the data is taken from the attribute properties that must be set before to call them. For more information on these two methods, click here.

 

12.2 Usage

First of all, you must include the code of the classification class:

<?php
  require 'random_tree.php';

before to use the class, you must create the related object:

  $Model = new T2PHP_RANDOM_TREE();

then, you must set the properties:

  $Model -> Angles = 325;
  $Model -> Atoms = 176;
  $Model -> FG_CON2 = 0;

and now you can call the methods:

echo " Domain violations: " . $Model -> DomCheck() . "\n";
echo " Predicted class: " . $Model -> Classify() . "\n";

finally, you must remember to add the following line to end the script:

?>

 

13. Python code description

The code generated by Tree2C is compatible only with Python 3 and Python 2.7 is not currently supported. More in detail, as for the C code, the class is named as T2PY_MODEL_NAME. Although VEGA ZZ supports Python for scripting, at this time, Tree2C is unable to generate the code to calculate the attributes/parameters when you use the -v option.

 

13.1 Model class

The model class includes the properties/attributes and the methods to perform the classification and the domain check in easy way and is defined as in the following example:

#**** Model class ****

class T2PY_RANDOM_TREE:

 

13.1.1 Constants

Unlike the C language, which supports constants values through the macro pre-processor, Python doesn't have this feature and hence the constants are defined as standard properties inside the class of the classifier.

#**** Output values ****

C_FALSE = 0
C_TRUE = 1
#**** Values of the attributes ****

C_FG_CON2_NO = 0
C_FG_CON2_YES = 1

 

13.1.2 Properties/attributes

Although Python doesn't require to declare the properties, it was preferred initialize all attributes to 0 in order to provide a list of those that are effectively used in the model, making easier the code writing to pass the values. Example:

#**** Properties ****

Angles = 0.0
Atoms = 0.0
FG_CON2 = 0

 

13.1.3 Methods

Tree2C generates the code for two methods Classify() and, optionally when you specify the ARFF file with -a option, DomCheck(). For more information, see the C++ version.

 

13.2 Usage

First of all, you must include the code of the classification class:

import random_tree

before to use the class, you must create the related object:

Model = random_tree.T2PY_RANDOM_TREE()

then, you must set the properties:

Model.Angles = 325
Model.Atoms = 176
Model.FG_CON2 = 0

finally, you can call the methods:

print(" Domain violations:", Model.DomCheck())
print(" Predicted class: ", Model.Classify())

 

14. REBOL code description

When you select REBOL as output, the class is named (in lower case) according to the name of the model in Weka file or by -n option. Tree2C is unable to generate the REBOL code to calculate the attributes/parameters when you specify the -v option.

 

14.1 Model class

The model class includes constants, properties and methods to perform the classification in easy way and is defined as in the following example::

REBOL [
  Title: "random_tree"
  File: %random_tree.r
]


;**** Model class ****

random_tree: make object! [

 

14.1.1 Constants

REBOL doesn't support constants, which therefore are implemented as normal class properties. There are two type of constants, which are declared inside the class and  have C_ prefix:

  ;**** Output values ****

  C_FALSE: 0
  C_TRUE: 1
;**** Values of the attributes ****

C_FG_CON2_NO: 0
C_FG_CON2_YES: 1

 

14.1.2 Properties/attributes

The properties are declared inside the class and are initialized to zero as shown in the following example:

  ;**** Properties ****

  Angles: 0.0
  Atoms: 0.0
  FG_CON2: 0

 

14.1.3 Methods

Tree2C generates the code for two methods Classify and, optionally when you specify the ARFF file with -a option, DomCheck. Both methods don't have arguments because the data is taken from the attribute properties that must be set before to call them. For more information on these two methods, click here.

 

14.2 Usage

First of all, you must include the code of the classification class:

REBOL [
  Title: "random_tree_test"
  File: %random_tree_test.r
]

do %random_tree.r

the object don't need to be created and you can set directly the properties:

random_tree/Angles: 325.0
random_tree/Atoms: 176.0
random_tree/FG_CON2: 0

and now you can call the methods:

print [" Domain violations: " random_tree/DomCheck]
print [" Predicted class: " random_tree/Classify "]

 

15. VBScript code description

When you select VBScript as output, the class is named (in lower case) according to the name of the model in Weka file or by -n option. Tree2C is unable to generate the VBScript code to calculate the attributes/parameters when you specify the -v option.

 

15.1 Constants

There are two type of constants, which are declared with T2VBS_MODEL_NAME_ prefix:

'**** Output values ****

const T2VBS_RANDOM_TREE_FALSE = 0
const T2VBS_RANDOM_TREE_TRUE = 1
'**** Values of the attributes ****

const T2VBS_RANDOM_TREE_FG_CON2_NO = 0
const T2VBS_RANDOM_TREE_FG_CON2_YES = 1

 

15.2 Model class

The model class includes properties and methods to perform the classification in easy way and is defined as in the following example::

'**** Model class ****

Class random_tree

 

15.2.1 Properties/attributes

The properties are declared inside the class and to avoid conflicts with VBS keywords, the Attr suffix is added to the name as shown in the following example:

  '**** Attributes ****

  Public AnglesAttr
  Public AtomsAttr
  Public FG_CON2Attr

 

15.2.2 Methods

Tree2C generates the code for two methods Classify and, optionally when you specify the ARFF file with -a option, DomCheck. Both methods don't have arguments because the data is taken from the attribute properties that must be set before to call them. For more information on these two methods, click here.

 

15.3 Usage

As first step, you must include the code of the classification function.

<job>
  <script language="VBScript" src="random_tree.vbs"/>
  <script language="VBScript">

before to use the external function, you must create the related object:

    Dim Model
    Set Model = New random_tree

then, you must set the properties:

    Model.AnglesAttr = 325.0
    Model.AtomsAttr = 176.0
    Model.FG_CON2Attr = 0

finally, you can call the methods:

    WScript.Echo "Domain violations:", Model.DomCheck(), vbNewLine, _
                 "Predicted class: ", Model.Classify()

finally, you must remember to add the following lines to end the script:

  </script>
</job>

 

16. Examples & applications

16.1 Prediction of blood-brain barrier permeation

This is an example of a C-script generated automatically by Tree2C and performs the classification of molecules between permeants and non-permeants of blood-brain barrier (BBB) through a decision tree. Since the attributes are calculated by VEGA ZZ, no additional code was written manually. This script is included in VEGA ZZ package and you can run it selecting File Run script in VEGA ZZ main menu and double clicking BBB permeation predictor.c in ADMET.

 

16.1.1 Usage

If a molecule is present in the current workspace, a single classification is performed, otherwise a file requester is shown to select an input database. In this case, the classification is performed for all molecules of the database and the results are saved to a CSV file.
Since the training set used in the learning phase to build the model includes molecules is in neutral form, also the molecules for which you want to predict the BBB permeation must be in this form.

 

16.1.2 About the decision tree model

To derive the model, the Li's dataset (J. Chem. Inf. Model., 2005, 45, 1376-1384) was used as learning set with Weka 3.8 software. All molecules were converted from SMILES to 3D by VEGA ZZ and optimized by MOPAC 2016 (PM7 PRECISE GEO-OK SUPER keywords), keeping them in neutral form. 129 properties/attributes were calculated by both VEGA ZZ and MOPAC 2016. The most significant attributes were selected according to the BestFirst search algorithm (direction = Forward; lookupCacheSize = 1; searchTermination = 5) and the WrapperSubsetEval attribute evaluator (classifier = RandomForest with default settings; doNotCheckCapabilities = False; evaluationMeasure = accuracy, RMSE; folds = 5; seed = 1; threshold = 0.01) as implemented in Weka. In this way, only 9 attributes were kept, namely:

Attribute Description
Bonds Number of bonds
Charge Total charge
HeavyAtoms Number of heavy atoms
Mass Molecule mass
Vdiam Volume diameter
VirtualLogP Molecular lipophilicity cacluated as Log P according to Testa's method
FG_aaNH Kier-Hall E-state descriptor
FG_sCH3 Kier-Hall E-state descriptor
FG_sssN Kier-Hall E-state descriptor

Charge attribute appears in the list because the learning set includes quaternary ammonic molecules that were not neutralized with a counter ion. All electronic descriptor calculated by MOPAC 2016 with SUPER keyword were considered not meaningful by the selection algorithm to be considered in the next phase.
The final model was obtained by Random Forest machine learning algorithm implemented in Weka with default parameters (bagging with 100 iterations and base learner) and performing a 10 fold cross-validation. The results are summarized below, where class 0 and 1 indicate non-permenat and permeant molecules:

=== Stratified cross-validation ===
=== Summary ===

Correctly Classified Instances         346               83.3735 %
Incorrectly Classified Instances        69               16.6265 %
Kappa statistic                          0.6179
Mean absolute error                      0.2655
Root mean squared error                  0.3647
Relative absolute error                 59.5558 %
Root relative squared error             77.2667 %
Total Number of Instances              415

=== Detailed Accuracy By Class ===

                 TP Rate  FP Rate  Precision  Recall   F-Measure  MCC      ROC Area  PRC Area  Class
                 0.705    0.101    0.778      0.705    0.740      0.620    0.865     0.787     0
                 0.899    0.295    0.858      0.899    0.878      0.620    0.865     0.912     1
Weighted Avg.    0.834    0.230    0.831      0.834    0.832      0.620    0.865     0.870

=== Confusion Matrix ===

   a   b   

The overall accuracy of the model after cross validation is 83.37%, value which is comparable to that of 83.7% obtained by support vector machine (SVM) with recursive feature elimination (RFE) as published by Li et al. Also the Matthews correlation coefficient (MCC) is quite similar for both models (0.620 vs. 0.645), but the Weka model uses only 9 descriptors instead of 35 of the SVM+RFE model and doesn't include QM properties, reducing dramatically the time required to calculate the parameters. Finally, both models are based on Kier-Hall E-state descriptors but for the random forest model, only 3 descriptors are taken into account instead of 17 of the SVM+RFE model. This is a further advantage in reducing the time for the prediction.

 

16.2 Prediction of mutagenicy

As the previous example, this is a C-script, which was generated automatically by Tree2C with the aim to classy between mutagen and non-mutagen molecules through a decision model obtained by machine learning. Also in this case, all  attributes were calculated by VEGA ZZ and so no additional code was written manually.

 

16.2.1 Usage

Since this script shares the same base code of the previous example, you can use it in the same way and, in particular, if a molecule is present in the current workspace, a single classification is performed, otherwise a file requester is shown to select an input database and all molecules of the database are classified saving the result to a CSV file.
Since the training set used in the learning phase to build the model includes molecules in neutral form, also the molecules for which you want to predict the mutagenicity must be in this form.

 

16.2.2 About the model

To derive the model, the Bursi's dataset (J. Med. Chem., 2005, 48, 312-320) was used as learning set with Weka 3.8 software. All molecules were converted from SMILES to 3D by VEGA ZZ and optimized by MOPAC 2016 (PM7 PRECISE GEO-OK SUPER keywords) keeping them in neutral form. 129 properties/attributes were calculated by both VEGA ZZ and MOPAC 2016. The most significant attributes were selected according to the BestFirst search algorithm (direction = Forward; lookupCacheSize = 1; searchTermination = 5) and the WrapperSubsetEval attribute evaluator (classifier = RandomForest with default settings; doNotCheckCapabilities = False; evaluationMeasure = accuracy, RMSE; folds = 5; seed = 1; threshold = 0.01) as implemented in Weka. In this way, 24 attributes were kept, namely:

Attribute Program Description
EzBnds VEGA ZZ Number of asymmetric double bonds
HbAcc VEGA ZZ Number of H-bond acceptors
HbDon VEGA ZZ Number of H-bond donors
Impropers VEGA ZZ Number of improper (out-of-plane) angles
Psa VEGA ZZ Polar surface area
Rings VEGA ZZ Number of rings
Torsions VEGA ZZ Number of dihedrals (torsion angles)
HEAT_OF_FORMATION MOPAC Heat of formation
ELECTRONIC_ENERGY MOPAC Electronic energy
LUMO_ENERGY MOPAC Lumo energy
MOLECULAR_WEIGHT MOPAC Mass
CHARGE_ON_SYSTEM MOPAC Total charge
PARR_&_POPLE_ABSOLUTE_HARDNESS MOPAC Parr & Pople absolute hardness
FG_aaCH VEGA ZZ Kier-Hall E-state descriptor
FG_aaO VEGA ZZ Kier-Hall E-state descriptor
FG_aasC VEGA ZZ Kier-Hall E-state descriptor
FG_ddssS VEGA ZZ Kier-Hall E-state descriptor
FG_sCl VEGA ZZ Kier-Hall E-state descriptor
FG_ssCH2 VEGA ZZ Kier-Hall E-state descriptor
FG_ssGeH2 VEGA ZZ Kier-Hall E-state descriptor
FG_ssNH VEGA ZZ Kier-Hall E-state descriptor
FG_ssO VEGA ZZ Kier-Hall E-state descriptor
FG_sssCH VEGA ZZ Kier-Hall E-state descriptor
FG_sssN VEGA ZZ Kier-Hall E-state descriptor
FG_ssssC VEGA ZZ Kier-Hall E-state descriptor
FG_tCH VEGA ZZ Kier-Hall E-state descriptor

As in the previous example, CHARGE_ON_SYSTEM attribute appears in the list because the learning set includes quaternary ammonic molecules that were not neutralized with a counter ion. Some MOPAC attributes were kept during the variable selection procedure and therefore this script requires MOPAC 2016 to perform the classification.
The final model was obtained by Random Forest machine learning algorithm implemented in Weka with default parameters (bagging with 100 iterations and base learner) and performing a 10 fold cross-validation. The results are summarized here, where class 0 and 1 indicate respectively non-mutagen and mutagen substances:

=== Stratified cross-validation ===
=== Summary ===

Correctly Classified Instances        3575               82.4303 %
Incorrectly Classified Instances       762               17.5697 %
Kappa statistic                          0.6442
Mean absolute error                      0.2811
Root mean squared error                  0.3615
Relative absolute error                 56.8678 %
Root relative squared error             72.7173 %
Total Number of Instances             4337

=== Detailed Accuracy By Class ===

                 TP Rate  FP Rate  Precision  Recall   F-Measure  MCC      ROC Area  PRC Area  Class
                 0.798    0.155    0.806      0.798    0.802      0.644    0.896     0.867     0
                 0.845    0.202    0.838      0.845    0.842      0.644    0.896     0.910     1
Weighted Avg.    0.824    0.181    0.824      0.824    0.824      0.644    0.896     0.891

=== Confusion Matrix ===

    a    b   

The overall accuracy of Weka model is 82.43%, which is in accordance with the results obtained by Bursi et al. and, in particular, they found a mean accuracy of 82.50%.


17. History

 

18. Copyright and disclaimers

All trademarks and software directly or indirectly referred in this document, are copyrighted from legal owners. Tree2C is a freeware program and can be spread through Internet, BBS, CD-ROM and other electronic formats. The Author of this program accepts no responsibility for hardware/software damages resulting from the use of this package. No warranty is made about the software or its performance. Use and copying of this software and the preparation of derivative works based on this software are permitted, so long as the following conditions are met:

   

Tree2C
is a software developed in 2017-2021
by Alessandro Pedretti
All rights reserved.

Alessandro Pedretti
Dipartimento di Scienze Farmaceutiche
Università degli Studi di Milano
Via Luigi Mangiagalli, 25
I-20133 Milano - Italy
Tel. +39 02 503 19332
Fax. +39 02 503 19359
E-Mail: info@vegazz.net
WWW: http://www.vegazz.net


WakeUp
Wake on LAN tools to turn on the remote PCs

 

1. Introduction

Wake-on-LAN (WOL) is an ethernet computer networking standard that allows a computer to be turned by a network message named magic packed that is a broadcast frame containing 6 bytes set all to 255 (FF FF FF FF FF FF in hexadecimal), followed by sixteen repetitions of the target computer's 48-bit MAC address, for a total of 102 bytes. Optionally, if the network interface (NIC) supports it, it's possible to specify extra six bytes as password. To use this method to power on your PC:

 

2. System requirements

WakeUp tools require a Linux (x86 or x64) or Windows (2000/XP/Vista/7/8 x86 or x64) PC.

 

3. Installation

No installation is required for the stand-alone Windows version. If you want to use WakeUpServer and WakeUpService included in VEGA ZZ package, you must check "Warp utilities for secure Internet connection" component during the setup procedure. For the Linux version, choose the binary files compatible with your system (x86 or x64), copy wakeup, wakeupserver and wakeupservice to /usr/local/bin and libhdrive-so to /usr/local/lib. For WakeUpServer and WakeUpService read the 4.2 section.

 

4. Usage

The package include three tools:

 

4.1 WakeUp

If you run this small utility by command prompt without arguments, the help is shown:

WakeUp 1.0.0 - (c) 2013, Alessandro Pedretti
Send wake on lan magic packet

Usage: WakeUp -k [COMMAND] -hlq -c [CONFIG_FILE] -s [SERVER]
              -p [PORT] [MAC_ADDRESS/HOST_NAME] ...

 c -> configuration file
 h -> show this help
 k -> command to execute:
      find -> find the MAC address by host name or IP
      list -> show the host list of the configuration file
      wake -> wake up the specified hosts (default)
 p -> WakeUp server port (default 53212)
 q -> quiet mode
 s -> WakeUp server name or IP

Examples:
WakeUp bc-ff-5c-f3-01-00 MyHost
WakeUp -c list
WakeUp -c find 192.168.0.1

As argument, you can specify one or more targets by their MAC address, IP (Find command only), name that is automatically translated by the DNS or the information included in the configuration file (wakeup.ini), that is located usually in Config directory. Wildcards are allowed to turn on more than one PC included in the configuration file.

The following table shows the description of the options and their arguments:

Option Argument Description
-c Configuration file Change the default configuration file with that specified by the user.
-h - Show the help.
-k Command Define the command to be executed by WakeUp:
  • Find
    find the MAC address by IP or host name. It works only for the PCs connected in the local network.
     
  • List
    show all targets included in the configuration file.
     
  • Wake
    wake up the specified targets. It's the default operating mode.
-p Port TCP/IP port of the WakeUp server (default 53212). See -s option.
-q - Enable the quiet mode. No message is shown when you turn on this option.
-s Server WakeUp server name or IP for the routing of WOL packets. If you don't use it, you can turn on only the PC in the loca network.

*All options are case-insensitive.

 

4.1.1 Examples

Here are some examples to clarify the WakeUp uses:

 

4.2 WakeUpServer and WakeUpService

As explained in the introduction, WOL message can be sent only in the local network and in order to reach a remote network it must be routed by TCP/IP protocol. Some routers and firewalls can be configured to receive the WOL packet and to repeat in the original form in the local network, but if you don't have the access to the configuration of the network devices, it could be a problem. To overcome that, WakeUpServer and WakeUpService were developed that are the same tool in two different version: the former is a normal program that runs in background and the latter is the same program but it can run in service/daemon mode.

WakeUpServer and WakeUpService includes a protection system to avoid DoS attacks: no more than five concurrent connections are allowed and the the received packets must be encrypted. A check system stops the unauthorized packets.

 

4.2.1 Running WakeUpServer for Windows

To run this version, select VEGA ZZ WarpProject WakeUp Server in the Start menu. The program starts in background without graphic interface, installing a small icon in the Windows try bar. Clicking on it by the right mouse button, the context menu is shown:

If you want to run the stand-alone version, go into ...\Bin\Mingw32 or ...\Bin\Mingw64 directory and open Wakeupserver.exe.

The default TCP/IP listening port is 53212 and it must be opened if you are running a firewall.

 

4.2.2 Running WakeUpService for Windows

A Windows service (used to be called NT service) is a console application, which does not have a message pump. A Windows service can be started without the user having to login to the computer and it won't die after the user logs off. The WakeUpService works in background and it doesn't have the graphic interface. Before running it, it must be installed by selecting VEGA ZZ WarpProject WakeUp Service Install in the Start menu. To start the service, choose VEGA ZZ WarpProject WakeUp Service Start. Restarting the system, WakeUpService is automatically executed as the other  services. If you want to stop the service, select VEGA ZZ WarpProject WakeUp Service Stop. Remember that when you reboot the system, WakeUpService service is automatically restarted.
To uninstall the service, choose VEGA ZZ WarpProject WakeUp Service Uninstall.
As for the previous version, the default TCP/IP listening port is 53212 and it must be opened if you are running a firewall.

 

4.2.3 Running WakeUpServer for Linux

This version can be executed as a normal Linux command typing wakeupserver in the command prompt. No command options are available.

 

4.2.4 Running WakeUpService for Linux

A daemon (or service) is a background process that is designed to run autonomously, with little or not user intervention. WakeUpService can be started as Linux daemon when the system cam up, running in background. To configure the WakeUpService daemon, you must follow these steps:

 

5. Wakeup.ini configuration file

This file includes the information to translate the target names to MAC address. It can be found by WakeUp in ...\VEGA ZZ\Config directory or by reading VEGADIR environment variable value that should point to VEGA or VEGA ZZ installation directory. The Linux version, if VEGADIR is not set, looks also in /etc directory. Optionally, you can specify manually the file by using the WakeUp -c option.

Here's an example of wakeup.ini file:

;
; WakeUp host list
; Copyright 2013, Alessandro Pedretti
;
; Host name    MAC address
; =================================
  MyHost       70:FE:EA:39:43:E1

The first column is the host name and the second one is the MAC address. To separate each byte of the MAC address, you can use both dash (-) and colon (:). Both host name and MAC address are case insensitive.  Thanks to the pattern matching, it could be interesting to organize the hosts to be able to turn on group of them:

; Home PCs:
  Home/Desktop    b6-8a-59-5f-69-b0
  Home/Laptop     47-bf-dd-8e-ed-09

; Office PCs:

  Office\Desktop  bb-9d-64-b4-fd-5c
  Office\HPC1     53-b2-ca-2d-94-bb
  Office\HPC2     5f-03-fd-8e-4b-0a

The path separator can be slash (/) or back slash (\) and they are automatically interconverted during the pattern matching.

 

6. History

 

7. Copyright and disclaimers

All trademarks and software directly or indirectly referred in this document, are copyrighted from legal owners. WakeUp Tools is a freeware program and can be spread through Internet, BBS, CD-ROM and other electronic formats. The Author of this program accepts no responsibility for hardware/software damages resulting from the use of this package. No warranty is made about the software or its performance. Use and copying of this software and the preparation of derivative works based on this software are permitted, so long as the following conditions are met:

   

WakeUp Tools
is a software developed in 2013-2021
by Alessandro Pedretti
All rights reserved.

Alessandro Pedretti
Dipartimento di Scienze Farmaceutiche
Università degli Studi di Milano
Via Mangiagalli, 25
I-20133 Milano - Italy
Tel. +39 02 503 19332
Fax. +39 02 503 19359
E-Mail: info@vegazz.net
WWW: http://www.vegazz.net


WarpBench
Parallel Linpack Benchmark

 

1. Introduction

WarpBench is a benchmark useful to evaulate the FPU performances based on the original Linpack test included in the NETLIB. it's available for Windows and Linux systems and it's able to detect the number of installed CPUs in order to enable the parallel code to evaluate the total computational power. If the CPU power management is enabled (e.g. AMD's Cool'n'Quiet), the software disables the CPU throttle avoiding wrong results due to the variable clock.

 

1.1 About the Linpack benchmark

The Linpack benchmark is a measure of a computer’s floating-point rate of execution. It is determined by running a computer program that solves a dense system of linear equations. Over the years the characteristics of the benchmark has changed a bit. In fact, there are three benchmarks included in the Linpack benchmark report. The computational power is expressed in Mflops/s that is a rate of execution, millions of floating point operations per second. Whenever this term is used it will refer to 64 bit floating point operations and the operations will be either addition or multiplication. Gflop/s refers to billions of floating point operations per second and Tflop/s refers to trillions of floating point operations per second.

 

2. Installation & usage

No installation required: just run the warpbench command in the command shell. WarpBench could be installed with VEGA ZZ as option and it can be executed selecting VEGA ZZ WarpProject WarpBench.

Warning:
If you are running the Linux version, it's possible that the file permissions aren't correctly set. To change them, type in the command prompt:

        chmod 755 warpbench

 

2.1 Command line options

WarpBench can be executed also by command shell. Here is the help that is shown when you invoke the command with -? option:

WarpBench 1.1.0 - Parallel Linpack Benchmark
Copyright 2006-2023, Alessandro Pedretti
Unrolled single precision Win32 version

Usage: WarpBench -c CPU_NUM -q

  c -> Number of threads (default all).
  q -> Quiet mode (show only the global performances).

You can choose manually the number of CPUs and enable the quiet mode.

 

3.0 Benchmark results

This is the report generated by WarpBench Linpack benchmark:

WarpBench 1.1.0 - Parallel Linpack Benchmark
Copyright 2006-2023, Alessandro Pedretti
Unrolled single precision Win32 version
Performing the benchmark for 2 CPU(s) ...
Average values for one CPU:
norm resid      resid           machep         x[0]-1          x[n-1]-1
   1.9   4.52336171e-005  1.19209290e-007 -1.31130219e-005 -1.30534172e-00
Times are reported for matrices of order          100
1 pass times for array with leading dimension of  201
      dgefa      dgesl      total     Mflops       unit      ratio
    0.00068    0.00003    0.00071     972.52     0.0021     0.0126
Overhead for 1 matgen      0.00014 seconds
Matgen/dgefa passes used 1239 for 1 seconds
Times for array with leading dimension of 201
      dgefa      dgesl      total     Mflops       unit      ratio
    0.00067    0.00011    0.00077     888.80     0.0023     0.0138
    0.00067    0.00011    0.00078     882.40     0.0023     0.0139
    0.00067    0.00011    0.00078     880.13     0.0023     0.0139
    0.00068    0.00011    0.00078     876.85     0.0023     0.0140
    0.00072    0.00011    0.00082     834.61     0.0024     0.0147
Average                               872.56
Calculating matgen2 overhead
Overhead for 1 matgen      0.00014 seconds
Times for array with leading dimension of 200
      dgefa      dgesl      total     Mflops       unit      ratio
    0.00071    0.00011    0.00082     839.49     0.0024     0.0146
    0.00071    0.00011    0.00082     841.87     0.0024     0.0146
    0.00072    0.00011    0.00082     834.09     0.0024     0.0147
    0.00071    0.00011    0.00082     841.08     0.0024     0.0146
    0.00071    0.00011    0.00082     838.77     0.0024     0.0146
Average                               839.06
Total computational power 1678.12 Mflops

In the following table, are reported some benchmark results:

CPU type CPUs Core x CPU Threads OS Mflops/s
Intel Xeon Gold 6238R 2 56 112 Windows 10 x64 Professional 110946
AMD Ryzen 9 3900XT 1 12 24 Windows 10 x64 Professional 78507
AMD Ryzen 9 3900X 1 12 24 Windows 10 x64 Professional 78328
Intel Xeon Gold 5120 2 14 56 Windows 10 x64 Enterprise 55397
AMD EPYC 7281 1 16 32 Windows Server 2019 Standard 49686
Intel Xeon E5-2650 v3 2 10 40 Windows 10 x64 Professional 39484
Intel Xeon E5-2630 v3 2 8 32 Windows 10 x64 Professional 31249
Intel Xeon E5-2640 v2 2 8 32 Windows 7 x64 27211
AMD Opteron 875 8 2 16 CentOS 4.3 64 bit 19254
AMD Ryzen 2400G 1 4 8 Windows 10 x64 Professional 16298
AMD Opteron 875 8 2 16 Windows Server 2008 R2 13632
Intel Xeon E5-2620 v2 1 6 12 CentOS 6.4 64 bit 10586
Intel Xeon E5-1620 v3 1 4 8 Windows 10 x64 Professional 9990
Intel i5-8250U 1 4 8 Windows 10 x64 Professional 9013
AMD Phenom II X6 1090T 1 6 6 Windows 7 x64 7052
Intel i5-6400 1 4 4 Windows 10 x64 5227
AMD Phenom II X4 955 1 4 4 Windows 7 x64 4711
AMD Athlon II X4 640 1 4 4 Windows Server 2003 Enterprise 4606
AMD A8 3870K 1 4 4 Windows 7 x64 4528
AMD Athlon MP 2200+ 2 1 2 Windows 2000 1678
Intel Core 2 Duo T5600 1 2 2 Windows 10 x64 1141
ARM Cortex A7 1.2 GHz (AllWinner H3, Orange Pi One) 1 4 4 ARMBIAN 3.4.113 RetroOrangePi 874
AMD Athlon 64 3200+ Venice 1 1 1 Windows XP 861
AMD Athlon 64 3200+ 1 1 1 Windows XP 849
AMD Sempron 64 2800+ 1 1 1 Windows XP 840
AMD Athlon 64 3000+ 1 1 1 Windows XP 821
ARM Cortex A9 r3p0 1.6 GHz (RockChip RK3188) 1 4 4 Ubuntu 12.04.5 LTS 693
Intel Pentium III 550 MHz 1 1 1 Windows 2000 133
ARM Cortex A9 r3p0 1.6 GHz 1 4 4 Android 4.1.1 Jelly Bean 97
ARM Cortex A9 r2p10 1.0 GHz 1 1 1 Android 4.1.1 Jelly Bean 23

The compiler performance may change the results in significant manner. Using a dual Athlon MP test PC with Windows 2000 as operating system and several C compiler, these results were found:

Compiler Company
Author
Free Version Build options Mflops/s
gcc
cygwin
RedHat Y 3.3.3 -O3 -march=pentium -malign-double -fomit-frame-pointer -ffast-math -funroll-loops -D WIN32 1678
gcc
mingw32
GNU Y 3.2.3 -O3 -march=pentium -malign-double -fomit-frame-pointer -ffast-math -funroll-loops 1678
gcc mingw32 GNU Y  3.4.5 -O3 -march=pentium -malign-double -fomit-frame-pointer -ffast-math -funroll-loops 1643
pgcc Portland Group N 6.0 -O3 -tp p5 -Munroll=c:5 -Mnoframe -Mlre -Mnozerotrip -D __TINYC__ 1632
bcc32 Borland N 5.6.4 -O2 -Hc -Vx -Ve -ff -X- -a8 -5 -b- -k- -vi -tWC -tWM 1464
lcc-win32 Jacob Navia Y 3.3 -O -D__TINYC__ 1024
tcc Fabrice Bellard Y 0.9.23 -lkernel32 455

 

4. History

  

5. Copyright and disclaimers

All trademarks and software directly or indirectly referred in this document, are copyrighted from legal owners. WarpBench is a freeware program and can be spread through Internet, BBS, CD-ROM and other electronic formats. The Authors of this program accept no responsibility for hardware/software damages resulting from the use of this package. No warranty is made about the software or its performance.

Use and copying of this software and the preparation of derivative works based on this software are permitted, so long as the following conditions are met:

   

WarpBench
is an enhanced version of the original Linpack benchmark
Copyright 2006-2023, Alessandro Pedretti & Giulio Vistoli
All rights reserved.

Alessandro Pedretti
Dipartimento di Scienze Farmaceutiche
Università degli Studi di Milano
Via Mangiagalli, 25
I-20133 Milano - Italy
Tel. +39 02 503 19332
Fax. +39 02 503 19359
E-Mail: info@vegazz.net
WWW: http://www.vegazz.net