The Virtual Lab Tools for Chemical Database (CDB) Management and Access ----------------------------------------------------------------------- Currently, there are four utilities provided for the management and remote access to chemical database: 1. Indexing Ligand records in the CDB: The tool, vlab-cdb-create-index, process CDB in mol2 format and creates an index file for the database. The index file basically contains location of the ligand record and its size. This information is useful for the CDB server to locate the ligand record directly at one shot, instead of searching sequentially, and fetch the same. The Syntax of this command is as follows: % vlab-cdb-create-index [file2 ..] % vlab-cdb-create-index It creates index file named . Note, "idx" is the extension of CDB index file. For example, when you issue the command: % vlab-cdb-create-index aldrich_300.db It creates the CDB index file called "aldrich_300.idx". It also displays the message during the creation of ligand record index: ............................................................................... vlab-cdb-create-index: Virtual Lab Chemical Database Indexer -- R. Buyya, 2001. Record #1: Location = 0, Length = 3496 Record #2: Location = 3496, Length = 3516 Record #3: Location = 7012, Length = 3609 ... ... Record #49211: Location = 204438260, Length = 3795 Record #49212: Location = 204442055, Length = 3795 Total Number of Molecule Record found = 49212 ............................................................................... 2. Testing CDB access locally The tool, vlab-cdb-lookuptest, allows to test by fetching a specified ligand record from the CDB. The syntax of this command is as follows: % vlab-cdb-lookuptest.SunOS For example, when you issue the command: % vlab-cdb-lookuptest aldrich_300.db 2 It displays the following output: ............................................................................... vlab-cdb-lookuptest: Virtual Lab Chemical Database Lookup Test -- R. Buyya, 2001. Record for Molecule #2 is found. Location: 3496, Length=3516 ............................................................................... 3. The CDB Server The tool, vlab-cdb-server, is a multithreaded and multi-user CDB server that provides ligand records to requested clients over the network. This provides ligand records as a service on a specified port. The syntax for starting CDB server is as follows: % vlab-cdb-server [chemical_databse_port_id] [v] The option "v" sets the CDB server in verbose mode. When this option is selected, CDB server displays details on clients requests whenever it receives one. The scenarios for issuing this commands are as follows: [A]. With specified CDB Port Number: % vlab-cdb-server When port number is not specified, the server automatically selects a free port and display the selected port number. An instance of initiating the server is: ............................................................................... vlab-cdb-server.SunOS: Virtual Lab Chemical Database Server -- R. Buyya, 2001. Service Port = 38149 ............................................................................... This instance has selected port 38149 as CDB server port on which CDB clients can make request for ligand record. [B]. With CDB Port Number is Specified: If you want to provide CDB service over a port number "5001", then issue the following command. % vlab-cdb-server 5001 [C]. Starting CDB server in verbose mode: % vlab-cdb-server 5001 v % vlab-cdb-server v 4. Accessing Ligand Record from Remote Machine or Via the Network: Once the CDB server is started, the tool "vlab-cdb-get-molecule" can be used to access/fetch ligand records from a remote location. The syntax for issuing this command is as follows: % vlab-cdb-get-molecule The ligand record fetched from the database is stored in the file named: molecule_number.mol2 All four parameters must be supplied. The parameter specifies the hostname/ IP address of the machine running CDB server. An example of host name is "bezek.dstc.monash.edu.au". The parameter indicates the socket number on which CDB server provides services. This is the value that is used or selected while starting the CDB server. The parameter is the full name of the CDB database. The parameter is the ligand number of the record (1 means, 1st record in the database). For example, to fetch a ligand record (2) from the "aldrich_300.db" database on server machine "bezek.dstc.monash.edu.au" at port "5001", the command to issue is: % vlab-cdb-get-molecule bezek.dstc.monash.edu.au 5001 aldrich_300.db 2 It should be noted that the ligand record fetched from the database is stored in the file named: "2.mol2" This tool is fault-tolerant. If you try to access the CBD server before starting, this command attempts to make connecting 3 times and then fails. If CBD server dies or does not respond during record transmission, it can detect such error and reports the same.