Seurat Administrators Guide

Seurat Administrators Guide. 1

1        How to use this Manual 3

2        Creating or Updating the Database Schema. 3

2.1         Unix. 4

2.1.1     Create cMet Test Data in Oracle. 4

2.1.2     Create cMet Test Data in PostgreSQL.. 5

2.1.3     Map Seurat to Existing Med Chem Database in Oracle. 6

2.1.4     Create Empty Synaptic Science Seurat Database in Oracle. 8

2.1.5     Create Empty Synaptic Science Seurat Database in PostgreSQL.. 9

2.2         Windows. 11

2.2.1     Create cMet Test Data in Oracle. 11

2.2.2     Create cMet Test Data in PostgreSQL.. 12

2.2.3     Map Seurat to Existing Med Chem Database in Oracle. 13

2.2.4     Create Empty Synaptic Science Seurat Database in Oracle. 13

2.2.5     Create Empty Synaptic Science Seurat Database in PostgreSQL.. 14

3        Seurat Architecture Overview.. 16

3.1         Seurat GUI Clients. 16

3.2         Web Based API Clients. 17

3.3         Cache Builder 17

3.4         Seurat Server 17

3.5         Crystal Structures. 18

3.6         PK Reports. 18

3.7         DB Mapping Files. 19

3.8         Seurat Jobs. 20

3.9         Property Predictions. 20

3.10       Cached Results. 20

4        Administering the Seurat Server on Windows XP. 21

4.1         Interactive Seurat Server 21

4.2         Schedule Auto Restart Seurat Server 22

4.3         Run Scheduled Seurat Server Now.. 23

4.4         Stop Scheduled Seurat Server Now.. 23

4.5         Show Scheduled Task(s) Status. 24

4.6         Install Seurat Server as a Windows Service. 24

4.7         Interactive Cache Builder 25

4.8         Schedule Daily Cache Builder 26

4.9         Run Scheduled Cache Builder Now.. 27

4.10       Stop Scheduled Cache Builder Now.. 27

4.11       Update Server’s Database Constants. 28

4.12       Update Database Schema. 28

4.13       Create Database Schema. 29

4.14       Uninstall SEURAT Server 30

5        Administering the Seurat Server on Unix. 30

5.1         Interactive Seurat Server 31

5.2         Scheduled Seurat Server 31

5.3         Interactive Cache Builder 31

5.4         Scheduled Cache Builder 32

5.5         Update Database Schema. 32

5.6         Create Database Schema. 33

5.7         Uninstall Seurat 33

6        Creating new Seurat Users. 33

6.1.1     PostgreSQL.. 34

6.1.2     Oracle. 37

7        Administering the Seurat Client 37

7.1         Specifying the database parameters. 37

7.1.1     Database Connection Parameters. 38

7.1.2     Database to Search Parameters. 39

7.1.3     Other Database Parameters. 39

7.2         Specifying the license file and server location. 40

8        Configuring Seurat for Remote Client Access. 42

8.1         Oracle Configuration: Grant Remote Access to Seurat Users. 43

8.2         PostgreSQL Configuration: Grant Remote Access to Seurat Users. 43

8.3         Configure Seurat for Remote Access to Seurat Server and Database. 45

8.3.1     Running on Unix. 46

8.3.2     Running on Windows. 47

8.3.2.1       Configure Seurat Server Database Connection Settings. 48

8.3.2.2       Configure Seurat Client Database and Seurat Server Connection Settings. 49

9        Administering User Roles. 51

10     Setting Corporate ID Prefixes and Intranet URL.. 52

11     Enabling email of Seurat Jobs. 52

12     Displaying assay results as Images. 53

13     Assay Display Property Settings. 54

13.1       Setting default Column Header Height 54

13.2       Enabling / Disabling Persistence of Hidden Rows. 54

13.3       Excluding Assays from Averaging Across Lots. 54

14     Enabling “Tip of the Day”. 54

15     Administering Seurat Excel 2002 Converter 55

15.1       Applicability. 55

15.2       Requirements for Conversion Server 55

15.3       Install Instructions. 56

15.4       Configuring Seurat Client to access Excel Converter 57

16     Troubleshooting. 58

16.1       Seurat Server 58

16.1.1        Cannot log in as newly created user 58

16.1.1.1         Description. 58

16.1.1.2         Cause. 58

16.1.1.3         Solution. 59

16.1.2        Attempt to Load cMet Test Data Fails. 59

16.1.2.1         Description. 59

16.1.2.2         Cause. 59

16.1.2.3         Solution. 59

16.1.3        Remote Client Access Does Not Work After Configuration Changes. 60

16.1.3.1         Problem.. 60

16.1.3.2         Cause. 60

16.1.3.3         Solution. 60

16.1.4        Server Wont Start – Empty database SID.. 61

16.2       Wrong Java Version. 63

 

 

1       How to use this Manual

The Seurat Administrators guide contains details of the tasks that would need to be performed on a day-to-day basis to configure a Seurat installation by adding new users, moving the Seurat Server or database(s) to new machines, creating additional databases and performing post installation steps after a Seurat upgrade.

 

This guide does touch on the topic of configuring Seurat to access existing medicinal chemistry databases that a customer may be using from a third party vendor. However as this is a subject in its own right a separate guide is provided to talk exclusively about how to perform such a mapping and to talk in detail about all the properties that exist in a Seurat Database Mapping configuration file.

 

Therefore if you do not find the information you are looking for in this manual, especially if it pertains to configuring Seurat to talk to an existing database (yours or a vendors) then you will need to refer to the Seurat Database Mapping configuration guide on our website at www.synapticscience.com.

 

If you still cannot find the information you are looking for after reading this guide and the database mapping configuration guide then please contact us at support@synapticscience.com or post a question to our user’s forum which is available from the forum link of our website.

2       Creating or Updating the Database Schema

Seurat by default stores and retrieves its data from a database called synaptic in a PostgreSQL database cluster. It is also possible to configure Seurat to use an Oracle database rather than the default PostgreSQL cluster (see section below for instructions).

 

Furthermore the Oracle database can be any medicinal chemistry database it does not have to be the Synaptic Science native database schema.

 

Since version 4.2 of Seurat it became possible to configure Seurat to retrieve information from any number of databases simultaneously. The mix of databases can include:

 

  • Any number of Medicinal Chemistry database including those from industry standard providers like:
    • Activity Base from IDBS
    • RS3 and Accord from Accelrys
    • ISIS/BASE from MDL
    • ChemOffice from Cambridgesoft
  • Your companies proprietary database
  • Synaptic Science’s native database which in conjunction with the Seurat platform can be used to load SD and CSV files containing structure, physical and chemical property and biological assay data into the database. This capability could be used to load data from sources like:
    • CRO’s
    • Partners
    • WDI
    • ACD

 

For more details about how to map Seurat to work against your existing database and /or multiple databases please read the Seurat Database Mapping Configuration Guide on our website http://www.synapticscience.com or contact us at sales@synapticscience.com.

 

For the sake of convenience the information about how to create and load data into the various possible database configurations is repeated both in the Seurat installation guide and in the sections that follow below.

2.1    Unix

2.1.1    Create cMet Test Data in Oracle

If you intend to load the cMet test data into the Synaptic Science database schema in an Oracle database then follow the steps in this section of the guide.

 

You will need to have installed Oracle separately as Seurat does not currently come bundled with an installation script for Oracle. Either go to the Oracle website and download and install Oracle Express Edition or install your companies licensed version of Oracle.

 

Once Oracle has been installed the steps to create the Synaptic Science schema and load the cMet test data set into it are:

 

  1. Create a user account in oracle named seurat with a password of seurat (the password can be changed at a later point)

 

  1. Change directory into the data sub directory of the Seurat Server. So if for example you had installed the Seurat Server into /opt/seurat then the directory to cd into would be /opt/seurat/SeuratServer/data.

 

  1. The CMET_STARTER_ORACLEXE.DMP file in this directory was created with Oracle data pump and as such uses an Oracle directory object to specify the location of the files with which data pump will work. Therefore to be able to use impdb to load the data into Oracle you need to:

 

    1. Create a database directory object using a command like (NOTE: You must name the directory seurat_dumpdir if you want to use the command as provided in the example script):

 

SQL> CREATE DIRECTORY seurat_dumpdir AS ‘/opt/seurat/SeuratServer/data’;

 

    1. You then need to grant the appropriate privileges to the seurat user who will be doing the import using data pump with a command like the one shown below:

 

SQL> grant read, write on seurat_dumpdir to seurat;

 

  1. Adapt the installCmetSampleDataToOracle.bat windows batch file to an equivalent Unix script in the scripting language of your choice. Alternatively if data pump is in your path you can cut and past the command from the batch file, remove the path information for invoking impdp and execute the command directly.

 

  1. Run the adapted script or command to load the cMet test data set

 

Upon completion the impdp command the seurat schema of your Oracle database will contain all the tables of the Synaptic Science schema loaded with the cMet test data set.

2.1.2    Create cMet Test Data in PostgreSQL

If you intend to load the cMet test data into the Synaptic Science database schema in a PostgreSQL database then follow the steps in this section of the guide.

 

You will need to have installed PostgreSQL separately as Seurat does not currently come bundled with an installation script for PostgreSQL on Unix. Either go to the PostgreSQL website location http://www.postgresql.org/ftp/binary/v8.2.3/linux/ and download and install PostgreSQL for your version of Linux

 

NOTE: You will need to supply the postgres super user database account password during the creation of the Synaptic Science database schema and loading of test data so please make sure you note it down.

 

Once PostgreSQL has been installed the steps to create the Synaptic Science schema and load the cMet test data set into are:

 

  1. Unzip the script used to create the schema and test data in PostgreSQL from the file cMet_project_starter.sql.zip which can be found in the data sub directory of the SeuratServer directory. So if you installed the Seurat server into /opt/seurat the path would be /opt/seurat/SeuratServer/data. Use the unzip command as follows:

 

unzip -j cMet_project_starter.sql.zip

 

Please then ensure that the resulting cMet_project_starter.sql file is sitting in the /opt/seurat/SeuratServer/data directory

 

  1. Adapt the installCmetSampleData.bat windows batch file to produce a Unix script in the scripting language of your choice to initiate a load of the cMet_project_starter.sql file into PostgreSQL. If you have psql in your path then you can simply cut and paste the single command out of the installCmetSampleData.bat remove the windows specific path and execute the command directly.

 

  1. Supply the postgres super user password when prompted. You will then see several screens of output as the database is create and loaded with test data. You can safely ignore any messages you see about duplicate objects.

 

  1. Once the script completes you are ready to move to the instructions on how to start the Seurat Server, install the Seurat Client and login to Seurat in order to start working with the cMet test data.

 

2.1.3    Map Seurat to Existing Med Chem Database in Oracle

If you intend to use Seurat in conjunction with an existing medicinal chemistry database (for example ActivityBase from IDBS, ISIS/Base from MDL, and ChemOffice from Cambridgesoft or Accord/RS3 from Accelrys databases) then follow the instructions in this section.

 

Even if you plan to use your existing medicinal chemistry database from another vendor there are still a few bookkeeping tables that Seurat requires to function. In order to create those bookkeeping tables Seurat provides a script.

 

The steps to follow to create the tables from the script are:

  1. Create a user named “seurat” in your Oracle database with a password of seurat (NOTE: The password can be changed at a later date through changes to the seurat.ini configuration file but for now use seurat as the password)

 

  1. Log into sqlplus as the newly created seurat user and at the sqlplus prompt enter @ synsci_orace_xe_schema_minimal.ddl

 

  1. Check the output to ensure that no errors occur. You can safely ignore any messages about duplicate object definitions.

 

  1. Once the script has completed the seurat schema of your Oracle database will contain the minimal set of table definitions for Seurat to function alongside your existing database.

 

  1. Grant all privileges to each intended user of Seurat using the standard Oracle mechanisms for user schema creation, creation of public synonyms and granting of access to tables and sequences through those synonyms.

 

  1. Next you will need to configure Seurat through the pri_mappings.properties configuration file located in the top level directory of the SeuratServer (C:\Program Files\SynapticScience\SeuratServer on Windows by default) by modifying at least the following properties in that file:

 

    1. syn_properties – This property describes to Seurat how each logical concept like Compound Structure, Lot, Protocol, Assay Result etc maps to a table name / column name combination
    2. syn_tables – This property describes to Seurat how to navigate between tables
    3. syn_fake_table_names – Gives “fake” names to tables that can be navigated to through orthogonal paths from other tables
    4. syn_primary – Describes the main paths from which a query in Seurat should start.
    5. syn_long_subs – What column can substitute for long (and blob) column when being used in a “select distinct”
    6. Several other properties that are used to populate controlled vocabularies.
    7. A complete description of each of the properties in the pri_mappings.properties file and how to modify them is given in the Seurat Database Mapping Guide on our website at www.synapticscience.com

 

  1. We also need to configure the Seurat Server to have the correct property settings to be able to connect to your existing medicinal chemistry database. To do this edit the pri_mappings.properties file in the SeuratServer directory of your installation and change the properties below as shown:

 

    1. pri.driver=oracle.jdbc.driver.OracleDriver
    2. pri.host=(DNS name of machine hosting the database)
    3. pri.port=(the port for your instance of Oracle)
    4. pri.url=jdbc:oracle:thin
    5. pri.sid= (the database SID for your database)

 

For details on the contents of the pri_mappings.properties file and how to modify it to suit your database please refer to the Seurat Database Mapping Configuration Guide on our website under the Documentation link.

 

NOTE: If your existing database is RS3 then you can download an appropriate pri_mappings.properties file from the Synaptic Science website on the download link next to the title “RS3” with sub title “Database Mapping Configuration File”.

 

2.1.4    Create Empty Synaptic Science Seurat Database in Oracle

If you intend to use the Synaptic Science native database schema in an Oracle database as your primary database schema for storage of compounds and their chemical and biological data then follow the instructions in this section.

 

You will need to have installed Oracle separately as Seurat does not currently come bundled with an installation script for Oracle. Either go to the Oracle website and download and install Oracle Express Edition or install your companies licensed version of Oracle.

 

Once Oracle has been installed the steps to create the Synaptic Science schema are:

 

  1. Create a user account in oracle named seurat with a password of seurat (the password can be changed at a later point)

 

  1. Change directory into the oracle sub directory of your Seurat Server installation. So if for example you installed the server in /opt/seurat then you would need to go to the /opt/seurat/SeuratServer/oracle directory.

 

  1. Log into sqlplus as the seurat user created in earlier and then run the synsci_oracle_xe_schema.ddl script in the current directory by issuing the commands:

 

    1. SQL> spool synsci_oracle_xe_schema .log
    2. SQL> @synsci_oracle_xe_schema.ddl
    3. SQL> spool off
    4. SQL> exit

 

  1. Now we need to configure the Seurat Server to have the correct property settings to be able to connect to the database you just created. To do this edit the pri_mappings.properties file in the SeuratServer directory of your installation and change the properties below as shown:

 

    1. pri.driver=oracle.jdbc.driver.OracleDriver
    2. pri.host=localhost (or your hosts DNS name)
    3. pri.port=1521 (or the port for your instance of Oracle)
    4. pri.url=jdbc:oracle:thin
    5. pri.sid=xe (or the database SID for your database)

 

  1. You can either decide to use the seurat user account that owns the Synaptic Science database schema tables for testing purposes or create additional users before proceeding to run the server, install the client and log into Seurat.

 

  1. The synsci_oracle_xe_schema.ddl creates public synonyms for all the database objects (tables and sequences) that Seurat needs to function. Therefore to create additional users create a role that has select, insert, update and delete privileges to all the synonyms created in the synsci_oracle_xe_schema.ddl script.

 

  1. Usernames in Seurat are converted to lower case in order to avoid the confusion associated with two names with the same spelling and different case. To that end you should create your usernames in lower case.

 

 

After completing these steps your Oracle database will contain all the table definitions required for the Seurat Server to run and your users will have the appropriate privileges to connect to the Seurat Server from the client.

 

The database at this stage however does not contain any data and so you will need to load some of your own from an SD or CSV file through the File->“Load into database” menu option of the List Manager window of the Seurat client.

 

Please refer to the Seurat Users Guide for details on how to load data into the Synaptic Science database from the Seurat Client.

 

2.1.5    Create Empty Synaptic Science Seurat Database in PostgreSQL

If you intend to use the Synaptic Science native database schema in a PostgreSQL database as your primary database schema for storage of compounds and their chemical and biological data then follow the instructions in this section.

 

You will need to have installed PostgreSQL separately as Seurat does not currently come bundled with an installation script for PostgreSQL on Unix. You can either go to the PostgreSQL website location http://www.postgresql.org/ftp/binary/v8.2.3/linux/ and download and install PostgreSQL for your version of Linux

 

NOTE: You will need to supply the postgres super user database account password during the creation of the Synaptic Science database schema and loading of test data so please make sure you note it down.

 

Once PostgreSQL has been installed the steps to create the Synaptic Science schema and load the cMet test data set into are:

 

  1. Change directory into the postgresql sub directory of your Seurat Server installation. So if for example you installed the server in /opt/seurat then you would need to go to the /opt/seurat/SeuratServer/postgresql directory.

  2. Issue the following command to create the Synaptic Science native database schema in PosrgreSQL using the synsci_postgreSQL_schema.ddl file:

 

psql -h localhost -p 3247 -U postgres -f synsci_postgreSQL_schema.ddl

 

  1. You will be prompted for the postgres super user database accounts password. Enter it when prompted and monitor the script for errors. Errors relating to duplicate objects not being able to be created or object already exist messages can be ignored. You may want to redirect the output of the execution of the script above to a file for convenience of review.

 

  1. Now we need to configure the Seurat Server to have the correct property settings to be able to connect to the database you just created. To do this edit the pri_mappings.properties file in the SeuratServer directory of your installation and change the properties below as shown:

 

    1. pri.driver=org.postgresql.Driver
    2. pri.host=localhost
    3. pri.port=3247
    4. pri.url=jdbc:postgresql
    5. pri.sid=synaptic

 

  1. The script to create the Synaptic Science native schema creates a default user account called demo with a password of demo. It also creates a user named seurat with a password of seurat. You can use one of these accounts to login and do minimal testing of Seurat through the Seurat Client.

 

  1. Usernames in Seurat are converted to lower case in order to avoid the confusion associated with two names with the same spelling and different case. To that end you should create your usernames in lower case.

 

  1. Ultimately you must give each user of seurat a unique account in the PostgreSQL database as that is the mechanism that authenticates the user and it ensures that their seurat jobs (saved work) do not get overwritten by another user logging into Seurat with the same user name.

 

After completing these steps your PostgreSQL database will contain all the table definitions required for the Seurat Server to run and your users will have the appropriate privileges to connect to the Seurat Server from the client.

 

The database at this stage however does not contain any data and so you will need to load some of your own from an SD or CSV file through the File->“Load into database” menu option of the List Manager window of the Seurat client.

 

Please refer to the Seurat Users Guide for details on how to load data into the Synaptic Science database from the Seurat Client.

 

2.2    Windows

2.2.1    Create cMet Test Data in Oracle

If you intend to load the cMet test data into the Synaptic Science database schema in an Oracle database then follow the steps in this section of the guide.

 

You will need to have installed Oracle separately as Seurat does not currently come bundled with an installation script for Oracle. Either go to the Oracle website and download and install Oracle Express Edition or install your companies licensed version of Oracle.

 

Once Oracle has been installed the steps to create the Synaptic Science schema and load the cMet test data set into it are:

 

  1. Create a user account in oracle named seurat with a password of seurat (the password can be changed at a later point)

 

  1. Change directory into the data sub directory of the Seurat Server. So if for example you had installed the Seurat Server into /opt/seurat then the directory to cd into would be /opt/seurat/SeuratServer/data.

 

  1. The CMET_STARTER_ORACLEXE.DMP file in this directory was created with Oracle data pump and as such uses an Oracle directory object to specify the location of the files with which data pump will work. Therefore to be able to use impdb to load the data into Oracle you need to:

 

    1. Create a database directory object using a command like (NOTE: You must name the directory seurat_dumpdir if you want to use the command as provided in the example script):

 

SQL> CREATE DIRECTORY seurat_dumpdir AS ‘/opt/seurat/SeuratServer/data’;

 

    1. You then need to grant the appropriate privileges to the seurat user who will be doing the import using data pump with a command like the one shown below:

 

SQL> grant read, write on seurat_dumpdir to seurat;

 

  1. Run the installCmetSampleDataToOracle.bat windows batch file by double clicking on it or changing directory to the directory that holds the script in a command file and issuing the command .\installCMetSampleDataToOracle.bat

 

Upon completion the impdp command the seurat schema of your Oracle database will contain all the tables of the Synaptic Science schema loaded with the cMet test data set.

 

2.2.2    Create cMet Test Data in PostgreSQL

If you intend to load the cMet test data into the Synaptic Science database schema in a PostgreSQL database then follow the steps in this section of the guide.

 

After installation on a Windows platform the PostgreSQL database will have been automatically installed.

 

NOTE: You will need to supply the postgres super user database account password during the creation of the Synaptic Science database schema and loading of test data so please make sure you note it down.

 

Once PostgreSQL has been installed the steps to create the Synaptic Science schema and load the cMet test data set into are:

 

  1. Unzip the script used to create the schema and test data in PostgreSQL from the file cMet_project_starter.sql.zip which can be found in the data sub directory of the SeuratServer directory (which is C:\Program Files\SynapticScience\SeuratServer by default).
    1. Do this by opening the zip file in WinZip or using the windows XP built-in unzip utility

 

WARNING: If you use the built-in Windows XP zip extraction utility rather than another program like WinZip the extraction process will create a folder named cMet_project_starter.sql under C:\Program Files\SynapticScience\SeuratServer\data which will contain the actual file cMet_project_starter.sql.

 

If this happens you need to rename the folder, copy the cMet_project_starter.sql file inside the folder into the C:\Program Files\SynapticScience\SeuratServer\data directory and then remove the renamed folder.

 

 

  1. Run the installCmetSampleData.bat windows batch file by double clicking on the file.

 

  1. Supply the postgres super user password when prompted. You will then see several screens of output as the database is create and loaded with test data. You can safely ignore any messages you see about duplicate objects.

 

  1. Once the script completes you are ready to move to the instructions in the Starting Seurat section of the document describing how to start the Seurat Server, the Seurat Client and login to Seurat in order to start working with the cMet test data.

 

2.2.3    Map Seurat to Existing Med Chem Database in Oracle

The steps for mapping Seurat to an Existing Med Chem Database in Oracle are exactly the same (except for the steps to install Oracle which are outside of the scope of this manual anyway) as those found in the Map Seurat to Existing Med Chem Database in Oracle section for Unix. Please refer to those instructions.

 

2.2.4    Create Empty Synaptic Science Seurat Database in Oracle

If you intend to use the Synaptic Science native database schema in an Oracle database as your primary database schema for storage of compounds and their chemical and biological data then follow the instructions in this section.

 

You will need to have installed Oracle separately as Seurat does not currently come bundled with an installation script for Oracle. Either go to the Oracle website and download and install Oracle Express Edition or install your companies licensed version of Oracle.

 

Once Oracle has been installed the steps to create the Synaptic Science schema are:

 

  1. Create a user account in oracle named seurat with a password of seurat (the password can be changed at a later point)

 

  1. Change directory into the oracle sub directory of your Seurat Server installation. So if for example you installed the server in /opt/seurat then you would need to go to the /opt/seurat/SeuratServer/oracle directory.

 

  1. Log into sqlplus as the seurat user created in earlier and then run the synsci_oracle_xe_schema.ddl script in the current directory by issuing the commands:

 

    1. SQL> spool synsci_oracle_xe_schema .log
    2. SQL> @synsci_oracle_xe_schema.ddl
    3. SQL> spool off
    4. SQL> exit

 

  1. Now we need to configure the Seurat Server to have the correct property settings to be able to connect to the database you just created. To do this edit the pri_mappings.properties file in the SeuratServer directory of your installation and change the properties below as shown:

 

    1. pri.driver=oracle.jdbc.driver.OracleDriver
    2. pri.host=localhost (or your hosts DNS name)
    3. pri.port=1521 (or the port for your instance of Oracle)
    4. pri.url=jdbc:oracle:thin
    5. pri.sid=xe (or the database SID for your database)

 

  1. You can either decide to use the seurat user account that owns the Synaptic Science database schema tables for testing purposes or create additional users before proceeding to run the server, install the client and log into Seurat.

 

  1. The synsci_oracle_xe_schema.ddl creates public synonyms for all the database objects (tables and sequences) that Seurat needs to function. Therefore to create additional users create a role that has select, insert, update and delete privileges to all the synonyms created in the synsci_oracle_xe_schema.ddl script.

 

  1. Usernames in Seurat are converted to lower case in order to avoid the confusion associated with two names with the same spelling and different case. To that end you should create your usernames in lower case.

 

 

After completing these steps your Oracle database will contain all the table definitions required for the Seurat Server to run and your users will have the appropriate privileges to connect to the Seurat Server from the client.

 

The database at this stage however does not contain any data and so you will need to load some of your own from an SD or CSV file through the File->“Load into database” menu option of the List Manager window of the Seurat client.

 

Please refer to the Seurat Users Guide for details on how to load data into the Synaptic Science database from the Seurat Client.

2.2.5    Create Empty Synaptic Science Seurat Database in PostgreSQL

If you intend to use the Synaptic Science native database schema in an Oracle database as your primary database schema for storage of compounds and their chemical and biological data then follow the instructions in this section.

 

The installer for Windows XP creates a menu item that can be used to launch the script required to create an empty Synaptic Science native database in PostgreSQL.

 

Therefore to create an empty Synaptic Science database schema in PostgreSQL you should:

 

  1. Select the “Start->All Programs->Seurat Server->Create Database Schema menu item

 

  1. Enter the postgres super user database accounts password when prompted

 

Note that you can ignore any error message about not being able to create duplicate objects or a language already existing.


 

3       Seurat Architecture Overview

The Seurat platform is comprised of several key components as depicted in the overview diagram below:

 

 

3.1    Seurat GUI Clients

The Seurat Client is a Java GUI application that provides unsurpassed control over the way you can query, analyze and report upon a wide array of information ranging from structural, chemical, property (predicted or otherwise) and biological assay data in your corporate medicinal chemistry database to toxicology, pharmacokinetic and crystal structure data in the same or other databases and file systems.

 

Although the standard Seurat GUI client is not run in an internet browser it can be launched from one to reduce to zero the deployment cost of upgrades through the user of the Java Web Start deployment mechanism.

 

Synaptic Science supplies the Seurat Client in both a standard installer and Web Start form. See the downloads section of our website www.synapticscience.com for details.

3.2    Web Based API Clients

Synaptic Science provides professional services to help our customers on a case-by-case basis build web access into the Seurat Job model API that allows construction and execution of complex multi-data-type queries that include structure searches and post query computations on the returned result set to:

  • Add additional assay date for anti-targets or other secondary assay results
  • Add computed property predictions
  • Add user defined columns to your results and populate them with data
  • Note which compounds in your result set pass or fail a local substructure search

3.3    Cache Builder

Because some queries and property calculations can take a long time even for moderately large data sets (500-1000 compounds) especially for predictions of properties like Solubility or hERG binder status Seurat optionally allows the results of jobs to be cached for rapid repeat retrieval by your user base.

 

The Seurat Cache Builder can then be used to run all the jobs for which cache results currently exist to update the cache to reflect the latest data that has been loaded into your database since the cache was last updated. We recommend setting up the cache builder to run nightly so that you are never seeing results more than 1 day old.

 

Please be aware that the Cache Builder MUST BE RUN ON THE SAME MACHINE AS THE SEURAT SERVER. This is because the cache builder accesses the jobs/cwb_cache sub directory of the Seurat Server in order to compute which jobs results it needs to regenerate.

 

From the Seurat Client you can always instruct Seurat to ignore cache files on a job by job basis so that if you are prepared to wait Seurat will return you the latest data at the time of the query.

 

As mentioned earlier you can turn off the use of caching of results entirely if it does not suit your companies mode of operation.

3.4    Seurat Server

The Seurat Server provides many services to the various types of Seurat Client. Its two main purposes are to act as the main repository of, and request point for, the various types of data that Seurat understands as well as to act as the coordination center for management of user jobs, bookmarks and preferences.

 

The type of data that the Seurat Server manages, and the whole Seurat Platform understands, includes but is not limited to:

 

  • Chemical Structures
  • Chemical and physical properties
  • Biological Assay Data
  • Pharmacokinetic reports and data
  • Toxicology, Functional Group Replacement and Available Vendor Compound data
  • Crystal Structure data

 

3.5    Crystal Structures

Seurat can retrieve and display Crystal Structure data prepared for review in the PyMol PSE format and/or in the more general PDB format. Seurat maps a PSE file to a particular Corporate compound by requiring that the name of the file begin with the Corporate identifier to which the file should be matched.

 

So for example a file might be named CRA-032845.cMET.pse to indicate that the corporate compound with the identifier of CRA-032845 should be linked to the crystal structure data in that file.

 

The Seurat Server expects such crystal structure files to be located in the sandbox/xtal sub-directory of the SeuratServer top level directory.

 

3.6    PK Reports

Seurat can retrieve and display Pharmacokinetic reports prepared in any standard document format that can be displayed in a web browser.

 

The intranet URL field specified in the corporateid.properties file in the top level directory of the server allows you to specify the static portion of the URL that will be constructed when accessing PK reports or other document URL’s that get loaded as assay or property results within SEURAT. SEURAT understands the http, https, ftp and file URL protocols for URL’s

 

There are three ways URL’s get used within SEURAT; two of them rely on the specification of the Intranet URL. They are:

 

  1. <Intranet URL you supply here>/<Content of Assay Result with the string “PK_Protocol” in the name> with the string “PK.doc” added to the end. So for example if the value for a compound of an assay named “PK_IP_MOUSE (PK_Protocol)” was “05-S8040-0211” and you supplied file:///C:/Progra~1/SynapticScience/SeuratClient/pk/ as the Intranet URL protocol then the resulting URL to locate the document would be  file:///C:/Progra~1/SynapticScience/SeuratClient/pk/05-S8040-0211PK.doc. You would be able to link to this with a right mouse from the Assay Display view in SEURAT.
  2. <Intranet URL you supply here>/<Content of Assay Result with name “Report_url”. For example, if for a compound an Assay Result or property name with the string “Report_url” in the name existed and had the value “GenericReport.xls” then the complete URL constructed by SEURAT to retrieve the linked document for that compound on right mouse click within the Assay Display would be file:///C:/Progra~1/SynapticScience/SeuratClient/pk/GenericReport.xls.

 

The third way URL’s are used within SEURAT is by linking to the value(s) within any cell of the AssayDisplay view that contains a complete and valid URL. This mechanism does not rely on the Intranet URL and expects the full and correct URL to be supplied as the value of the Assay Result or property result.

 

For more information regarding use of URL’s to link to external documents within SEURAT please see the “Working with the Assay Display” section of the Users Guide on our website at http://www.synapticscience.com/seurat-users-guide/SeuratUsersGuide.htm

 

 

3.7    DB Mapping Files

Central to the high degree of flexibility Seurat has in terms of connection to existing or the Synaptic Science database is the description of those database to Seurat that are provided in the DB Mapping Files.

 

For each database Seurat will be accessing, a DB Mapping file must be provided. The mapping file describes how to convert from the logical names Seurat uses to construct and constrain queries to the actual underlying table and column name combination.

 

It is possible to provide multiple mapping files for a single DB if for example each file is accessing logically separate sets of tables in the same or different schema. You can also construct a primary / subordinate relationship within mapping files for a single database in order to describe to Seurat how your assay data is split across several different table structures. The primary / subordinate mapping allows Seurat to present a single name for the database but to query each style of assay table to get results.

 

The topic of DB Mapping files is discussed in detail within the Seurat Database Mapping Configuration Guide from the documentation link on our website at www.synapticscience.com.

3.8    Seurat Jobs

Whenever a user interacts with Seurat in a multi-step refinement of queries, predictions, structure searches, visualizations and manipulations of results Seurat can save a record of those steps into what is know as a Seurat Job.

 

Think of the Job as a script that can be replayed at any time to redo the steps a user defined against the most current set of data in your databases and file systems to produce an analysis result set.

 

Jobs that are saved are stored in the jobs sub-directory of the SeuratServer top level directory.

 

In order to be able to manage a large number of such jobs per user Seurat supports bookmarks for those jobs so that they can be organized into folders. The bookmark information is kept on a both a per-user and project level. Bookmark information is stored in the bookmarks sub-directory of the SeuratServer top level directory.

3.9    Property Predictions

Seurat comes with a basic set of built in property predictions but also comes prepared to compute several properties using JChem Base property predictors from ChemAxon, the Molecular Operating Environment (MOE), ACD Labs and/or Strand Life Sciences hERG prediction model.

 

 

All you need to do to enable these property predictions based on external tools is provide the license file and make some minor modifications to the caclprops.py and SVL file paths in the SeuratServer/bin directory and Seurat will do the rest.

 

Details of the steps to enable and configure these property predictions are given in the Seurat Database Mapping Configuration Guide from the documentation link on our website at www.synapticscience.com.

 

 

3.10   Cached Results

The Seurat Server manages and helps keep up to date the set of cached results produced from a user’s creation, execution and saving of a Seurat job.

 

The cache result files are stored in the jobs/cwb_cache sub-directory of the SeuratServer directory.

4       Administering the Seurat Server on Windows XP

 

In order to be able to run the Seurat Client successfully you will need an instance of the Seurat Server running. The Seurat Server installation creates a number of menu items to help you start, stop and manage the Seruat Server and its associated Cache Builder mechanism.

 

Below is a screenshot of the menu options that come as part of the Seurat Server installation. This guide then talks about each of these items in more detail.

 

 

4.1    Interactive Seurat Server

Selecting this item will start the Seurat Server process immediately and will leave a windows command window open that can be used to shut down the Seurat process when you are done. This option when selected will produce a window like the following:

 

 

No additional messages will be sent to this command window, rather any further server log messages will go to the location indicated in the second last message of the Interactive Seurat Server window. This option should really only be used to run the Seurat Server for short periods of time as a Seurat Server started this way will not automatically restart after a system shutdown nor when no user is logged into the machine upon which the Seurat Server is installed.

 

NOTE: Starting with version 4.4 of Seurat license management has been performed in the Seurat Server. This means that you must provide a license file as an argument to the Seurat Server in order for the server to run. Under windows the license file should be placed in the bin sub-directory of the Server install directory (C:\Program Files\SynapticScience\SeuratServer by default) and must be called seurat.lic.

4.2    Schedule Auto Restart Seurat Server

Unlike the case of the Interactive Seurat Server option selecting this option will not cause the Seurat Server to run. Rather it will instruct windows to schedule the Seurat Server to be automatically restarted whenever the windows server upon which it is installed is itself run.

 

Selecting this item will produce a window like the following:

 

 

To actually start the Seurat Server task that is installed by this menu item you will need to select the “Run Scheduled Seurat Server Now” menu option. Likewise to temporarily stop the Seurat Server task you will need to select the “Stop Scheduled Seurat Server Now” menu item.

 

You can also always see all your scheduled tasks by selecting the “Show Scheduled Task(s) Status” menu item.

 

WARNING: Please note that although the scheduled Seurat Server task will automatically restart upon a system reboot if subsequent to that reboot any user logs into the system on which the Server is running, stops and restarts the task and then logs out the act of logging out will stop the Scheduled Seurat Server process. This will leave not Seurat Server process running.

 

This is unlike a true Windows Service which will continue running despite a logout by the user who initiated the service. Therefore Synaptic Science plans to drop support for the scheduled tasks mechanism for running the Seurat Server. In its place a menu option will be added for the installation of the Seurat Server as a Windows service.

 

In the interim a script has been provided in the C:\Program Files\SynapticScience\SeuratServer\bin directory called InstallSeuratAsService.bat that can be user to install the Seurat Server as a Windows service. The instructions to follow to be able to successfully run that script are given in the Install Seurat Server as a Windows Service section of this guide.

4.3    Run Scheduled Seurat Server Now

This menu item will only be successful if you have already scheduled the Seurat Server to run as a scheduled task using the “Schedule Auto Restart Seurat Server” menu item.

 

Assuming that is the case selecting this menu item will produce a window like the following:

 

 

Once closed by pressing any key you will *NOT* see any active window the represents the Seurat Server process. The process will be running silently in the background and can only be stopped via the selection of the menu item “Stop Scheduled Seurat Server Now”

 

4.4    Stop Scheduled Seurat Server Now

This menu item will only be successful if you have both scheduled and run the scheduled task for the Seurat Server.

 

Assuming that is the case selecting this menu item will produce a window like the following:

 

 

Of course the PID will be different on your machine.

 

4.5    Show Scheduled Task(s) Status

This menu item can be selected at any time to see whether the Seurat Server and Cache Builder are scheduled to be run and whether they are running right now. When you select this menu item you will see a window like the following:

 

 

You will notice in this example that only the Seurat Server itself and not the Cache Builder are scheduled to run as background processes and at the particular point in time this status was request the Seurat Server was not running. If it had been running you would have seen the work “Running” under the Status heading.

 

4.6    Install Seurat Server as a Windows Service

If you want the Seurat Server to always be running regardless of whether the user who started the Seurat Server process has logged out as well as automatically after a system restart then you will need to perform the steps outlined below.

 

Please note that the difference between the scheduled Seurat Server and the Seurat Server as a windows service is that the scheduled Seurat Server will NOT survive after a user logs in and manually stops and restarts the scheduled task then logs out whereas the Seurat Server as a Windows service will.

 

The steps to follow to install the Seurat Server as a service are:

 

1.     To avoid confusion please remove the scheduled task for the Seurat Server by issuing the command “schtasks /Delete /TN SeuratServer” from a command window.

 

2.     Open a windows command window and cd to the Seurat Server bin directory (which is C:\Program Files\SynapticScience\SeuratServer\bin by default).

 

3.     Define the environment variable JAVA_HOME to point to the top level directory of an installed version of the j2sdk1.4.2_12 SDK. So for example if you had the SDK installed in C:\j2sdk1.4.2_12 you would need to issue the command “set JAVA_HOME= C:\j2sdk1.4.2_12”

a.     NOTE: Pointing JAVA_HOME to the jre that comes bundled with the Seurat Client and Seurat Server after installation for this step WILL NOT WORK as the JavaService.exe program we are using to install Seurat as a service requires the tools.jar jar file that only comes with the JDK. You will need to go to the sun website and download and install the SDK and then make JAVA_HOME point to the install location you choose.

 

4.     Define the environment variable SEURAT_HOME to point to the top level directory of the Seurat Server. Assuming an installation into the default directory that would be achieved by the command “set SEURAT_HOME=C:\Program Files\SynapticScience\SeuratServer”

a.     NOTE: DO NOT put double quotes around the path specified in the setting of the SEURAT_HOME environment variable as the InstallSeuratAsService.bat file will take care of dealing with the spaces in the name.

 

5.     Assuming you installed the Seurat Server into its default location issue the command “.\InstallSeuratAsService.bat pgsql-8.1 –auto” to install the Seurat Server as a service. The service will appear in the Services window under the Administrative Tools section of the Control Panel with the name “SeuratServer”

a.     Note that although this will create a service to run the Seurat Server that will start automatically upon system restart you still have to manually start the service after it has been installed (or you could reboot the machine to test that it starts automatically). You can start the SeuratServer service once installed either by issuing the command “net start SeuratServer” or by navigating to the Services window of the Administrative Tools section in the Control panel and using the GUI there to start the service from the list of Windows Services.

b.     The first argument pgsql-8.1 passed to the command to install the SeuratServer service is the name of the PostgreSQL database service and denotes the fact that the SeuratServer service depends upon the PostgreSQL service having been started before it will itself be started. This means that the SeuratServer service will not start unless the PostgreSQL database service is running.

c.     If you chose to install the Seurat Server into other than the default directory then make sure you set SEURAT_HOME appropriately.

 

6.     If you ever want to uninstall the SeuratServer service created in step 5 then issue the command “JavaService -uninstall SeuratServer” from the directory to which you copied the JavaService.exe file attached to this email message.

 

4.7    Interactive Cache Builder

Selecting this item will immediately start the Cache Builder process that is designed to refresh the results for any cached Seurat jobs that exist in the server.

 

The Seurat Server cache is an optional mechanism (on by default) that will save the results of any job into a cache on the server when any job itself is saved. This allows a much more rapid retrieval of the results of such jobs (no need to re-compute expensive properties like solubility) at the expense of the job results not showing the absolute latest information. The assumption is that it is usually sufficient to update these cache files daily. That is where the Cache Builder comes in.

 

NOTE: For the Cache Builder to succeed an instance of the Seurat Server must be running as the Cache Builder queries the server for those jobs that need their results re-cached.

 

When selected this option will produce a window like the following:

 

 

This window will remain present for as long as it takes the cache builder to refresh the results for each of the previously cached jobs that exist on the Seurat Server. The Cache Builder whenever run produces a log of its output to the logs subdirectory of the Seurat Server installation Directory chosen during installation.

 

More information about caching, how to control it and how to verify that is has worked correctly can be found in the Seurat Administrators Guide.

 

4.8    Schedule Daily Cache Builder

Unlike the case of the Interactive Cache Builder menu option selecting this option will not cause the Cache Builder to run. Rather it will instruct windows to schedule the Cache Builder to run every day at 11pm even if no user is logged into the windows server upon which the Seurat Server was installed.

 

Selecting this item will produce a window like the following:

 

 

To actually start the Cache Builder task that is installed by this menu item you will need to select the “Run Scheduled Cache Builder Now” menu option. Likewise to temporarily stop the Cache Builder if it is currently running you will need to select the “Stop Scheduled Cache Builder Now” menu item.

 

Be aware that selecting to run the Cache Builder now will have no effect on the scheduled execution of the Cache Builder at 11pm every day. That execution will still take place.

 

You can also always see all your scheduled tasks by selecting the “Show Scheduled Task(s) Status” menu item.

 

4.9    Run Scheduled Cache Builder Now

This menu item will only be successful if you are either currently running the Seurat Server interactively or you are running the Seurat Server now as a scheduled task.

 

Assuming that is the case selecting this menu item will produce a window like the following:

 

 

Once closed by pressing any key you will *NOT* see any active window that represents the Cache Builder process. The process will be running silently in the background and will stop once all previously cached jobs cache data has been updated. You can monitor whether the Cache Builder has completed by selecting the “Show Scheduled Task(s) Status” menu item.

 

4.10   Stop Scheduled Cache Builder Now

This menu item will only be successful if you have both scheduled and run the scheduled task for the Cache Builder and that task is still executing.

 

Assuming that is the case selecting this menu item will produce a window like the following:

 

 

If you happen to select this option when the Cache Builder task is not currently running then you will see something like the following window:

 

 

4.11   Update Server’s Database Constants

The server loads some metadata information from its databases on startup and caches the data. These data are called “Database Constants” and are defined by configuration properties syn_*_query and alias_query in your database mapping files (*_mappings.properties).

 

Administrators may wish to refresh these data intermittently. This can be done via a script. Note however, that client applications will need to be restarted to receive the changes.

 

To refresh manually, the administration can run a script to trigger the running server to refresh. This should generally be done during off-hours or a maintenance window.

 

  1. Change directory into the bin subdirectory of the Seurat Server. For example if you installed Seurat into /opt/seurat the directory would be /opt/seurat/SeuratServer/bin

 

  1. Issue the command ./updateDBConstants.sh

 

To set this up to run automatically, you may wish to set it up as a cron job on your Unix/Linux system. Use the following example as a guide.

 

Assuming:

·         Server is running on localhost using default port

·         Seurat server is installed in /opt/seurat/SeuratServer

·         Java exe is /usr/bin/java

·         And you want it to update every day at 12:01 am

·          

A crontab entry (all in one line) should be something like this:

 

1  0  *  *  *  /usr/bin/java -cp /opt/SynapticScience/SeuratServer/bin/seurat-server.jar com.synsci.compchem.core.DBConstantsUpdateInvokerClient localhost 5247

 

4.12   Update Database Schema

This menu item is provided as a means by which the Seurat administrator can update their existing database schema to be in sync with the latest version of Seurat.

 

If this is the first time you are installing Seurat then you *SHOULD NOT* run this menu option as it will attempt to make modifications to existing Seurat schema tables that do not yet exist! Rather you need to run the “Create Database Schema” menu item to have the Synaptic Science schema for the Seurat application created in the PostgreSQL database.

 

If however you are updating to a bug fix or more recent version of Seurat then you should *ALWAYS* run this menu item as a post installation step. It is provided in an on demand fashion to allow the database administrator to make a backup before any schema changes are applied and to allow you time to adjust should your company be accessing the Seurat Schema other than through the Seurat Client and Server.

 

Assuming you select the menu item you will see a window like the following:

 

 

When prompted for the postgres database user password you should provided the password that you selected during the PostgreSQL installation in the create database cluster screen.

 

You will then see several diagnostic messages appear in the window things like

 

ALTER TABLE

GRANT…

 

And the like all depending on the number and type of commands required to update your existing schema to a version that is compatible with the latest Seurat release.

 

4.13   Create Database Schema

This menu item is provided as a means by which the Seurat administrator can create the schema required to support the version of the Seurat application just installed.

 

NOTE: if you are installing this version as a bug fix or upgrade from a prior version of Seurat then you should *NOT* attempt to use this menu item as it assumes that it will be creating the synaptic database from scratch for the first time. If you already have a version of the synaptic database in your PostgreSQL cluster then you need to run the “Update Database Schema” menu item.


Assuming you do want to create the synaptic schema for the first time and you select this menu item you will see a window like the following:

 

 

When prompted for the postgres database user password you should provided the password that you selected during the PostgreSQL installation in the create database cluster screen. You may be prompted for this password multiple times. Enter the same password in each case.

 

You will then see many diagnostic messages appear in the window things like

 

CREATE TABLE

ALTER TABLE

GRANT…

 

The script to create the synaptic database may take a couple of minutes to complete.

 

4.14   Uninstall SEURAT Server

As the name suggest selection of this menu item will kick off the process to uninstall the Seurat Server. The uninstall process will remove the Seurat server software, the start menu items and any registry settings introduced during installation. It will not however remove the PostgreSQL database nor will it remove the PyMOL installation as it is possible these items could be of continuing use to the user.

 

5       Administering the Seurat Server on Unix

The Seruat Server running on Unix is currently controlled through a set of scripts provided in the bin sub directory of the Seurat Server. Post installation steps involving the creation of update of the Synaptic Science database schema are controlled from scripts within the data, oracle and postgresql sub directories.

 

As Unix comes with the built in convention that it runs the /etc/rc* scripts during a machine boot sequence we rely on this facility to enable the automatic restart of the Seurat Server after system reboot.

 

We also rely on the standard CRON utility for the scheduling execution of the CWB Cache re-builder nightly to ensure (or as often as desired by the users at each customer site).

 

Because of this the administrator of Seurat under Unix will have to be at least proficient in the management and running of shell scripts, the construction of /etc/rc* scripts and the provision of a nightly cache rebuild via the facilities of CRON.

 

5.1    Interactive Seurat Server

To start the Seurat Server interactively (i.e. for only this login session) follow the steps provided below:

 

  1. Ensure you have Java version 1.4.2_12 installed and either in the path of the Unix user account under which you intend to run the Seurat Server or be prepared to edit the scripts provided by Synaptic Science to run the Seurat Server.

 

  1. Change directory into the bin subdirectory of the Seurat Server. For example if you installed Seurat into /opt/seurat the directory would be /opt/seurat/SeuratServer/bin

 

  1. Starting with version 4.4 of Seurat, license management is performed in the server. This means that you must place your seurat license file (evaluation or production) into the bin subdirectory and it must be named seurat.lic before you can successfully start the Seurat Server.

 

  1. Issue the command ./runServer.sh &

 

  1. You might want to re-direct the small amount of output the Seurat Server creates to a startup log file. The majority of log messages from the server however will automatically go into a data and time stamped log file in the SeuratServer/logs directory of the form “SeuratServer02152007-171219.log”.

 

NOTE: To stop the Seurat Server just kill the process using standard Unix commands to locate and then kill the process by PID.

 

5.2    Scheduled Seurat Server

In order to ensure that the Seurat Server is always running even after system re-boot you should add the runSeurat.sh script to the /etc/rc* files used during the Unix boot sequence to start processes that are long running.

 

Please refer to your Unix platforms documentation of how this can be achieved.

5.3    Interactive Cache Builder

To start the Cache Builder interactively (i.e. for only this login session) follow the steps provided below:

 

  1. Ensure you have Java version 1.4.2_12 installed and either in the path of the Unix user account under which you intend to run the Seurat Server or be prepared to edit the scripts provided by Synaptic Science to run the Seurat Server.

 

  1. Change directory into the bin subdirectory of the Seurat Server. For example if you installed Seurat into /opt/seurat the directory would be /opt/seurat/SeuratServer/bin

 

  1. Issue the command ./runCWBCacheRebuilder.sh &

 

  1. All log messages from the cache builder will automatically go into a data and time stamped log file in the SeuratServer/logs directory of the form “SeuratCacheBuild02032007-121654.log”

5.4    Scheduled Cache Builder

In order to ensure that the Cache Builder is automatically run every night (or at the interval of your choice) install the ./runCWBCacheRebuilder.sh script as a CRON job. Be aware that the Seurat Server must be running for the cache re-builder to execute correctly.

 

Please refer to your Unix platforms documentation for CRON in order to install the cache builder script as a CRON job with the correct execution interval.

5.5    Update Database Schema

Synaptic Science provides a script that can be used to update the Synaptic Science database schema (if you decide to use it) to its latest version with each release of Seurat.

 

The scripts are located in the oracle and postgresql sub-directories of the SeuratServer top level server directory.

 

As a general rule the steps to follow to update the Datbase Schema in a Unix environment are:

 

  1. Log into the database as the user seurat
  2. Run the provided script, either oracle/updateSchema_Oracle_XE.sql or postgresql/updateSchema.sql

 

More detailed instructions on how to run these scripts are given in detail in the Seurat Installation Guide so please refer to that guide for more details.

5.6    Create Database Schema

Synaptic Science provides a script that can be used to create the Synaptic Science database schema (if you decide you want to use it) into either Oracle or PostgreSQL

 

The scripts are located in the oracle and postgresql sub-directories of the SeuratServer top level server directory.

 

As a general rule the steps to follow to update the Datbase Schema in a Unix environment are:

 

  1. Log into the database as the user seurat
  2. Run the provided script, either oracle/ synsci_oracle_xe_schema.ddl or postgresql/ synsci_postgreSQL_schema.ddl

 

More detailed instructions on how to run these scripts are given in detail in the Seurat Installation Guide so please refer to that guide for more details.

5.7    Uninstall Seurat

We currently do not provide an uninstall script for the UNIX platform.

Therefore uninstall the Seurat Server:

 

  1. Remove everything from the directory SeuratServer down.
  2. Remember also to remove any /etc/rc* scripts for the automatic start-up of Seurat
  3. And any CRON job that may reference the Cache Builder.
  4. If you wish you can also delete the ~/.java/.userPrefs directory and all of its sub-directories which represent various preferences set by Seurat.

 

6       Creating new Seurat Users

Seurat currently relies on the databases underlying authentication mechanism to authenticate user of Seurat. We are in the process of building out support to provide Seurat the capability of interfacing with LDAP for the purpose of Authentication and Authorization.

 

Instructions for creating new Seurat users particular to each database supported by Seurat are given in the next sections of this guide.

6.1.1    PostgreSQL

When interfacing with a PostgreSQL database Seurat depends on PostgreSQL’s underlying authentication mechanism at present to authenticate the credentials supplied through the login screen of the Seurat Client.

To add a new Seurat user for Seurat configurations that are using a PostgreSQL database as their primary database (that is the property is_auth_db=true in that databases mapping file in the SeuratServer directory):

1.      Start Postgres admin: ‘pgAdmin III’ which can be found either under Start->pgAdmin III or Start->All Programs->PosgreSQL 8.1->pgAdmin III menu items.

2.      Double click on ‘PostgreSQL Database Server’, type in your postgres user password (the one you supplied in the initialize database cluster screen during PostgreSQL database installation).

3.      Click on File -> Options, switch to the preferences tab and check the ‘Show users for privileges’ check box in the dialog presented (shown below) and press OK.

4.      Open the Login Roles node of the tree view in pgAdmin by clicking on the plus sign so you can see the names of the existing login roles then right mouse click on the Login Roles node and select “New Login Role” menu item. The dialog shown below will appear.

 

5.      Enter the username and password of the new Seurat user. Remember that Seurat only supports all lowercase user names. Select the check boxes as shown above for role privileges and then click OK.

6.      Right click on the node named “public” in the main pgAdmin III window (see next three screenshots) and choose ‘Grant Wizard’.

7.      On the Selection tab (first screen below) of the grant wizard click the “Check All” Button and then switch to the privileges tab (second screen below), select the user name you just entered in the Group/User combo, click the ALL Privilege and then press OK.

     

8.      Open the roles.properties file which is used to assign roles to Seurat users and can be found in the top level directory of the Seurat Server (C:\Program Files\SynapticScience\SeuratServer by default on Windows).

9.      Add a line to the file that designates the roles this new user will play and thus what functions that user is authorized to perform. The format of the entries in the roles.properties file and the list of the possible roles a user can play are given in comments within the file itself.

 

 

NOTE: the preceding instructions assume you are using the Synaptic Science database. If however you have configured Seurat to interface with a third party or your own proprietary database in PostgreSQL then the steps you would need to follow might be slightly different. In particular you may decide to grant privileges in a much more restrictive fashion.

6.1.2    Oracle

When interfacing with an Oracle database Seurat depends on Oracle’s underlying authentication mechanism at present to authenticate the credentials supplied through the login screen of the Seurat Client.

In order to simplify access to the objects that make up the Synaptic Science database our database creation scripts create public synonyms for all objects accessed by Seurat and give each full access to the public role for all objects in the database.

If you want to be more restrictive with your provisioning of permissions then you will need to review and alter the grants to these public synonyms

To add a new Seurat user for Seurat configurations that are using an Oracle database as their primary database (that is the property is_auth_db=true in that databases mapping file in the SeuratServer directory):

1.      Using your favorite Database management GUI tool (or sqlplus if you prefer) Log into Oracle as the system user (or any user that has the privilege to create user accounts)

 

2.      Create a new Oracle user with a name that is all lowercase as Seurat only supports lowercase usernames.

 

3.      Open the roles.properties file which is used to assign roles to Seurat users and can be found in the top level directory of the Seurat Server (C:\Program Files\SynapticScience\SeuratServer by default on Windows).

 

4.      Add a line to the file that designates the roles this new user will play and thus what functions that user is authorized to perform. The format of the entries in the roles.properties file and the list of the possible roles a user can play are given in comments within the file itself.

7       Administering the Seurat Client

7.1    Specifying the database parameters

Seurat is capable of interfacing with several databases simultaneously and as such it provides a separate tab for each such database within its Preferences dialog. The Preferences dialog is available from the “Prefs…” button of the login screen (shown below) of the Seurat Client

 

 

All the tabs that appear to the left of the License tab of the Preferences dialog represent databases to which Seurat is configured.

 

 

For each database tab (in this example pri and rs3) there is a corresponding database mapping file located in the Seurat Server top level directory (C:\Program Files\SynapticScience\SeuratServer by default on windows). In this example there would be two such files named pri_mappings.properties and rs3_mappings.properties respectively.

 

A full description of how to create and modify such configuration files for database access is given in the Seurat Database Mapping Guide on our website www.synapticscience.com.

 

7.1.1    Database Connection Parameters

 

The initial values for Driver, URL, Host, Port and SID properties for a database are supplied by properties named pri.driver, pri.url, etc.. in each database mapping property file. A user can revert back to these defaults by clicking on the “Set Defaults This Tab” button.

 

If the user wishes to modify the connection settings they should enter the new values and then press the OK button.

 

7.1.2    Database to Search Parameters

When Seurat is configured to access multiple databases simultaneously you can specify which combination of databases will be searched by default using the Databases to Search field of the tab for the database designated as the authorization database by setting the is_auth_db property to true in that databases configuration file on the Server.

 

The default value for this property comes from the dbs_to_search property setting in the same file and should be set to a value that contains the names of the database(s) you want to search by default, separated by commas.

 

Each user can then individually override the default setting through the Prefs… dialog of the Seurat login screen. Any override of the property will be remembered between executions of the Seurat Client for that user.

 

7.1.3    Other Database Parameters

You will notice in the screenshot below that in addition to the connection parameters for the database on the LHS there are many configuration property values shown on the RHS.

 

 

These preferences in the scrollable region serve to inform you as to what type data is stored in this database and whether this database allows write back via the loading of SF and CSV file data into the database.

You cannot change the other parameters or preferences through the Preferences dialog rather you need to go to the database mapping file corresponding to the name of the tab (which in the example above for the active tab would be pri_mappings.properties) make the changes to that file and then stop and restart the Seurat Server.

7.2    Specifying the license file and server location

NOTE: Starting with version 4.4 of Seurat license management is performed in the Seurat Server. Therefore in version 4.4 or later the License tab, as depicted below, no longer exists. You only need to follow the instructions in this section if you are still using version 4.3 of Seurat or earlier.

Start the SEURAT client by selecting the ‘Start->All Programs->SEURAT Client->Seurat Client’ menu item under the windows Start menu. After the Synaptic Science splash screen you will be presented with the SEURAT login dialog.

Click on the “Prefs…” button and make sure you point to the correct License file location & Seurat server information. You can click the test button when in the Server tab of the preferences window and if you see “…OK” returned you know that the client can communicate successfully with the server.

 

 

Now you can enter the username (demo) and password (demo) and click connect as shown in the screen shot below

This will present you then with the List Manager main window of SEURAT as shown below:

Assuming you have already started the Seurat Server, you are now ready to start exploring SEURAT. This completes the post installation steps of a Seurat installation.

8       Configuring Seurat for Remote Client Access

In order for Seurat Client installations from Remote Machines to connect to the Seurat Server and database the database (only if using the PostgreSQL database, an Oracle database requires no configuration changes in order to accept remote connections) and server must be reconfigured to accept remote connections. Each client must also be reconfigured to have the appropriate host address of the reconfigured Seurat database and Seurat Server.

 

WARNING: If you are running a firewall on either the server or client machine(s) on which you intend to test remote client access it is highly recommended that you temporarily disable that firewall. This way you can be sure that firewall settings are not causing the remote client access to fail.

 

8.1    Oracle Configuration: Grant Remote Access to Seurat Users

The situation at each client site may differ but for the most part no configuration changes are required to an Oracle database in order to allow remote connections from Seurat clients.

 

You will however have to create a user account for each user that is going to be logging into Seurat as Seurat uses the databases underlying authentication mechanism. Standard Oracle users and roles can be used to ensure that new users have the correct privileges to access the database tables in your Oracle database.

8.2    PostgreSQL Configuration: Grant Remote Access to Seurat Users

First the database needs to be configured to allow connections from all hosts as we use it to perform authentication. To do this you need to:

 

1. Stop postgresql via the "Start->All Programs->PostgreSQL 8.1->Stop Service" menu item.

 

2. Edit the pg_hba.conf file by selecting the "Start->All Programs->PostgreSQL 8.1->Configuration Files->Edit pg_hba.conf" menu item. A file like the following will appear.

 

 

 

3. Add a line like the second one shown above with the CIDR-ADDRESS of 192.168.0.0/16.

 

What this means is allow TCP/IP connections to any database by any user who is connecting from a machine with an IP address starting 192.168 where the last two numbers in the IP address can be anything and use md5 encryption of the password being supplied for authentication to ensure against packet sniffing of passwords.

 

You will need to supply the correct first two parts to the IP addresses for the network at your site as 192.168 is just an example of an internal network we used during testing.

 

Or if you would prefer to grant access to all IP addresses you could enter a rule with an IP address portion of 0.0.0.0/0. We do not recommend this setting for production environment and only offer it as a possibility for testing purposes to rule out login failures due to a lack of permission to connect to the PostgreSQL database.

 

For a complete discussion of the meaning of the remote access entries in this file see the document at http://www.postgresql.org/docs/8.1/interactive/client-authentication.html#AUTH-PG-HBA-CONF .

 

4. Save the pg_hba.conf file

 

5. Edit the postgresql.conf file by selecting the "Start->All Programs->PostgreSQL 8.1->Configuration Files->Edit postgresql.conf" menu item. A file like the following will appear.

 

 

6. Find the section with the string listen_addresses and add the line

 

listen_addresses = '*'

 

as shown above to allow connections from any remote client

 

7. Save the postgresql.conf file.

 

8. Start postgresql via "Start->All Programs->PostgreSQL 8.1->Start Service" menu item.

 

8.3    Configure Seurat for Remote Access to Seurat Server and Database

By default Seurat comes configured to connect to a Seurat Server and single database which are both assumed to be running on the same machine as the client, that being localhost.

 

If you want to configure Seurat so that it can connect to a remote Seurat Server and database then you need to change the preferences that Seurat uses to locate the Server and database.

 

For the Seurat Server you will only need to change the database connection preferences but for the Seurat Client you will need to change both the database connection preferences AND the preferences the Client uses to locate and connect to the Seurat Server.

8.3.1    Running on Unix

 

On Unix the database connection and server address preferences are stored in hidden directories under the home directory of the unix user under whose account the Seurat Client or Server is running.

 

When logged into the account of the user running the Seurat Client or Server, preferences can be found in ~/.java/.userPrefs/... where the … will be replaced with the path through the java package name down to the class for which the preferences are stored.

 

There are five preferences that you would need to change for each remote database to which the Client and Server connect. Assuming a remote database name of “pri” those preference names would be:

 

  1. pri.driver
  2. pri.url
  3. pri.host
  4. pri.port
  5. pri.sid

 

The database connection parameters can be found in:

 

~/.java/.userPrefs/com/synsci/compchem/db/prefs.xml

 

Use your favorite text editor to modify the preferences for each database that is to be accessed remotely.

 

Remember that if you are running the Seurat Client and Seurat Server under two different unix accounts then you would need to make these changes to the prefs.xml under each of those Unix users accounts ~/.java/.userPrefs hidden directory to change the database connection preferences.

 

There are three preferences that describe where the Seurat Server is located. The preferences are named:

 

  1. host
  2. port
  3. name

 

The Seurat Server connection parameters can be found in

 

            ~/.java/.userPrefs/com/synsci/compchem/rmiapi/prefs.xml

 

Again use your favorite text editor to set the new Seurat Server connection preferences to their new remote values. You only need to change these preferences for the user under which you are running the Seurat Client.

 

Once you have made your edits restart the Seurat Server so that it picks up the new settings. Then once the Seurat Server is running star the Seurat Client and log in as normal to access the remove Server and databases.

 

If you suspect something has gone wrong please refer to the Seurat Server and Seurat Client log files which can be found in the logs sub directory of the SeuratServer and SeuratClient directories respectively. Each execution of client and server is logged to a new log file with the date and time stamp of the time the server or client was launched.

 

If you find exceptions in the log files please send a bug report to support@synapticscience.com and attach both log files to that message.

 

8.3.2    Running on Windows

Database connection and server address Preferences are stored in the HKEY_CURRENT_USER/Software/JavaSoft/Prefs node in the Windows registry when the Seurat server or client are running on Windows.

 

The database connection preferences are stored below this node under com/synsci/compchem/db with:

 

1.      Five registry entries for each database seurat is configured to access.

 

2.      The five entries relate to the driver, url, host, port and SID of the database in question.

 

3.      The name of the registry entries is prefixed with the shorthand name for the database that appears in the tab of the Prefs… dialog of the Seurat Client and that is derived from the name of the database mapping configuration file. For example if you had a database with a shorthand name of pri (which by the way you must have for backward compatibility with earlier versions of Seurat) then:

 

a.       Then database mapping file would be called pri_mappings.properties

b.      The registry entries would have names of:

                                                  i.      pri.driver

                                                ii.      pri.url

                                              iii.      pri.host

                                              iv.      pri.port

                                                v.       pri.sid

 

The server address Preferences are stored under the Prefs node of the registry in com/synsci/compchem/rmiapi with names of host, port and name.

 

You have two options for changing the preferences used by the Seurat Server and Seurat Client when running under Windows.

 

The safest is to use the Seurat Client itself as the mechanism for changing the preferences used to connect to the Seurat Server and database. This is the method described below.

 

The quicker but potentially more dangerous route is to use the Windows registry editor program “regedit” to manually change the preferences. If you decide to use the “regedit” method be sure to backup your registry before proceeding

 

8.3.2.1  Configure Seurat Server Database Connection Settings

When using the Seurat Client (safer method) to configure the preferences the Seurat Server uses to connect to a remote database YOU MUST RUN THE CLIENT ON THE SAME MACHINE UPON WHICH YOU INSTALLED AND ARE RUNNING THE SEURAT SERVER AS THIS WILL SET THE PREFERENCES FOR BOTH LOCAL CLIENTS (used to administer the server) AND THE SERVER ITSELF.

 

Assuming that is the case the steps to follow to change the database connection parameters used by the Seurat Server to settings appropriate for a remote database you would:

 

1.      Ensure the Seurat Server is running. If it is not start it using the "Start->All Programs->Seurat Server->Interactive Seurat Server" menu item on the machine that is hosting the Server.

 

NOTE: The Server will throw exceptions if the old local database is not present but just ignore those errors for now as the Server will still accept connections from the client.

 

2.      Start the Seurat Client from the "Start->All Programs->Seurat Client->Seurat Client" menu item on the same machine from which the Seurat Server was started.

 

3.      At the Seurat Client login screen press the “Prefs…” button and you will be presented with a screen like the one shown below.

 

 

4.      Enter the new connection parameters for each database tab to the left of the License tab in the Preferences dialog (pri and rs3 tabs in this example) and then click OK. Pressing OK will write the newly entered preferences into the registry.

 

5.      Click the “Cancel” button of the Seurat Client login screen to exit the Seurat Client as it will need to go though its startup sequence again once we restart the Server

 

6.      Stop and restart the Seurat Server and check to make sure no exceptions are thrown about not being able to connect to the remote database. If exceptions remain you will need to double check your database setting and repeat steps 1-5 the correct any entry mistakes you made.

 

7.      Start the local Seurat Client and log in to check that you can successfully access the new remote database.

 

8.3.2.2  Configure Seurat Client Database and Seurat Server Connection Settings

 

1.      Install the Seurat Client on client machines. See the Synaptic Science installation guide at http://www.synapticscience.com/seurat-inst-guide/SeuratInstallationGuide.htm for step by step instructions

 

2.      Start the Seurat Client from the "Start->All Programs->Seurat Client->Seurat Client" menu item on the machine remote to the Seurat Server and database machine.

 

3.      Because the Seurat Client can no longer locate the Seurat Server you will be presented with a dialog like the one shown below into which you will need to enter the new host, port and name information for the Server.

 

 

Once you press OK and Seurat presents the login screen your new Seurat Server connection preferences will have been stored into the registry. NOTE: that this dialog only became available starting with version 4.2 of Seurat.

 

4.      On the Seurat Login window click on the Prefs… button and you will be presented with a dialog like the one shown below:

 

 

5.      If your administrator has configured the database connection changes centrally in the database mapping file for each database that has been made remote (i.e. moved to another machine) you can simply click the Set Defaults All Tabs button to have the client read those new database connection values from the server.

 

6.      If on the other hand these changes were not made centrally then you will need to enter values appropriate for each tab appearing to the left of the License tab as these tabs represent the databases to which Seurat has been configured.

 

7.      Once you have made your changes press the OK button to store your changes back to the Windows registry.

 

Once you have made your changed you will be able to login to Seurat and work with the new remote Seurat Server and database(s).

 

For multiple remote clients to be useful in a team environment each remote user should be assigned a unique username and password. This will allow each team member to create his or her own set of Seurat jobs (saved sessions with the Seurat platform that can be replayed at a later time). Without unique usernames users could well end up overwriting each others jobs. For instructions on how to add users to the Seurat platform see the Creating new Seurat Users section of this document.

 

9       Administering User Roles

Seurat currently supports 5 roles to which users can be assigned, they are:

 

  1. Administrator: the user can perform all functions possible within Seurat
  2. CanSeeOthersJobs: Can open Other Users Folders and execute other users jobs then save a copy as thier own
  3. CanSeePKReports: Can navigate to and view PK reports
  4. CanSeeXtal: Can load crystal structure data and view it in PyMol
  5. CanLoadToDB: Can load data from SD and CSV files into the Synaptic Science native schema and can delete that data and projects as well.

 

The Seurat Server uses the roles.properties file located in the SeuratServer top level directory of the server to control the assignment of users to roles.

 

Each entry in that file is of the form:

 

            Username=role1,role2,role3,…

 

If you do not provide an entry for a user then they will by default have NONE of the roles and their use of Seurat will be quite restricted.

 

We also provide a mechanism in the pri_mappings.properties file (Also located in the top level directory of the server) through a property setting called syn_use_roles to tell Seurat whether to honor the entries in the roles.properties file or not.

 

If syn_use_roles=true then the roles.properties settings will be honored if syn_use_roles=false then it will be as if everyone is a Seurat Administrator.

10        Setting Corporate ID Prefixes and Intranet URL

In order to make it easier to retrieve compounds by their corporate id Seurat can be configured through the corporateid.properties file in the top level SeuratServer directory of the server to allow shorthand entry of identifiers.

 

The corporateid.properties file contains entries like the ones shown below.

 

  • corporate.prefix=CRA-
  • corporate.digits=6
  • hypothetical.prefix=CRX-
  • hypothetical.digits=6
  • intranet.url=file:///C:/Progra~1/SynapticScience/SeuratClient/pk/

 

In this example we are telling Seurat that if we input a corporate identifier like 31137 and don’t click the “No Prefix” box on the search window (see the Seurat Users Guide for more details of the meaning and use of the “No Prefix” guide) then Seurat will convert that entry by appending the corporate prefix of “CRA-“ and then making sure the numeric part of the prefix has six digits.

 

This will result in a search for CRA-031137.

 

If you leave the digits entry empty or set to zero then that tells Seurat that you don’t have a fixed number of digits after the prefix and in such a situation Seurat will only prepend the prefix.

 

The intranet url is used in combination with the assay values for a given assay to provide a link out to PK reports.

11        Enabling email of Seurat Jobs

In order to enable the emailing of a Seurat job from one user to another you need to:

 

  1. Deploy the Seurat Client via the Java Webstart mechanism as this is a requirement for emailing of jobs

 

  1. Edit the syn_email_job_url property in the pri_mappings.properties file to point to the Web Server your company has configured to serve up the Web Start version of Seurat.

 

NOTE: By default the property is syn_email_job_url=http://localhost:9080/cgi-bin/seurat.pl?jobid=

 

  1. Edit the seurat.pl or seurat.py scripts to change the PENDING_PATH and SEURAT_URL variables to match your environment. There scripts are meant to be run as CGI scripts. If you are using the Synaptic Science supplied jetty web server for Web Start deployment then they can be found in seurat-jetty/cgi-bin below the directory to which the jetty server was installed

 

  1. Stop and start the Seurat server.

 

  1. From any Assay Display users then go to File->Email this job to create a mail message that can be sent to colleagues.

 

12        Displaying assay results as Images

Seurat can be configured to interpret certain assay results as images through settings in the assay_url_rules property of the pri_mappings.properties file.

 

An example of some settings for this property are given below:

assay_url_rules={"BLAH (IC50 URL)", "image", "width=150 height=100"},\

                {"BLAH (DIRECT URL)", "href"},\

                {"Modgraph Registration Annotation (URL)", "image", "width=150 height=100",\

                 "http://192.168.1.103:7080/cgi-bin/get_image.py?cell_assay_data_id="}

 

There are two ways to tell Seurat to interpret an assay value as an image. The first is represented by the BLAH (IC50 URL) example above. In this case Seurat expects the assay value to contain a complete URL that will resolve to an image.

 

The second way is represented by the Modgraph Registration Annotation (URL) example above. Seurat will expect the assay value in this case to be appropriate to be passed to the cgi script http://192.168.1.103:7080/cgi-bin/get_image.py?cell_assay_data_id=  in order to again produce an image.

 

Related to this capability are two other properties whose defaults are:

 

assay_url_connect_timeout=1000

assay_url_read_timeout=1000

 

These values tell Seurat how long to wait to connect to the URL that is the source of the image and how long to wait after connecting for a return value. Both values are in milliseconds which converts to 1 second for the example values shown above.

 

 

13        Assay Display Property Settings

13.1   Setting default Column Header Height

To control the default height of column headings in the Assay Display set the syn_default_column_header_height to the value you prefer. Valid value are in the range 1 through 10

13.2   Enabling / Disabling Persistence of Hidden Rows

By default when you hide rows in the Assay Display they remain hidden on re-execution of the job that produces the results. You can toggle between saving jobs with or without hidden rows remaining hidden by setting the syn_allow_hide_row_persistence to either false (don’t persist during save) or true (persist during save).

13.3   Excluding Assays from Averaging Across Lots

By default all Assay values are averaged across lots to produce a single value displayed in the Assay Display. Typically PK assays are not appropriate to average and so Seurat has the following default settings for the syn_dont_average_assay_rules property of the pri_mappings.properties file.

 

syn_dont_average_assay_rules={"startsWith","PK_"},\

            {"indexOf","Report_url"}

This set of rules should be read “Any Assay name that starts with the letters “PK_” or any Assay name that contains the string “Report_url” is not to be averaged and all individual experimental result values should be rendered into the Assay display.

 

14        Enabling “Tip of the Day”

The “Tip of the Day” mecanism is especially useful for notifying your user community about new features available in the latest release of SEURAT. Tip of the Day is enabled as follows:

 

1.       Create a file named tipsLastModified in the SeuratServer/bin directory of your SEURAT Server installation.

 

2.       Modify the chemwb.jnlp in the seurat-jetty/seurat directory of the web start SEURAT client to include a property named seurat.tips and set it to a valid URL that represent the content you would like to have automatically displayed in the tips window to each use when the log into the Seurat Client.

 

a.       Remember that the HTML rendering capabilities of java are somewhat limited so you cant get to fancy with this first page. If you want really dynamic content then you will have to provide a link on the first page.

 

3.       If you want to turn this off just remove the tipsLastModified file.

 

4.       Each user can click the don’t show me this message again check box on the bottom of the tips window to acknowledge they have seen it.

 

5.       Next time you want everyone to see a message simply execute a “touch tipsLastModified” and that will force the window to appear at login until your users once again acknolwedge the message.

15        Administering Seurat Excel 2002 Converter

15.1   Applicability

If your company uses Excel 2003 or later then you do NOT need to perform the administration steps described here.

 

If however your company uses Excel 2002 or earlier and you wish to support the ability to export your results into Excel (the “File->Export->Excel (xls)” function from within the Assay Display) then you need to setup an Excel 2002 Converter Server.

 

This is because for Seurat to generate an Excel export with images properly anchored into Excel cells so they will move with sort operations and the like, it is necessary to generate the excel export into MHT format. This format is only supported in versions of Excel 2003 or later.

 

For those users still using Excel 2002 or earlier Synaptic Science provides a conversion server that will take the Excel 2003 MHT document format produced by Seurat and convert it back into an XLS format compatible with the Excel 2002.

 

15.2   Requirements for Conversion Server

  • A Windows XP professional or home edition machine with 128 megabytes of memory.
  • Microsoft Excel 2003 or later installed on the machine.
  • Administrator privileges on the machine so that you can install apache and python which are used by the conversion server.
  • NOTE: You can install this excel conversion server on the same machine as the Seurat Server and/or Seurat database if you like as its resource requirements are very low.

 

15.3   Install Instructions

The first step in setting up such a conversion server is to download the Excel2002Converter.zip file from our website downloads page http://www.synapticscience.com/custom.html. Once downloaded extract the files contained in the zip file to any directory then follow the steps below:

 

NOTE: You will need to run all of the installation steps as a member of the Windows Administrator group on the target Windows XP machine.

 

  1. Run the apache_2.0.59-win32-x86-no_ssl.msi installer to install apache version 2.0.59 onto a Windows XP machine and accept all the default options during installation.
  2. Run the Python-2.3.5.exe installer to install version 2.3.5 of python as the conversion server uses a python script to convert the 2003 MHT format into a 2002 XLS equivalent. Once again accept all the default options during installation.
  3. Run the ctypes-0.9.2.win32-py2.3.exe installer to install the ctypes package for python as the conversion script depends on this package. Please accept all defaults during the installation.
  4. Run the pywin32-204.win32-py2.3.exe installer to install the pywin package for python as the conversion script depends on this package. Please accept all defaults during the installation.
  5. Add python to the path of the user under which the apache service will be running (the user who installed apache). The path for a default installation should be C:\Python23.
  6. Ensure apache is up and running by pointing your internet browser to localhost. You should see the default apache welcome screen.
  7. If you do not see the welcome screen that means apache is not running. Possible causes are that some other application on the machine is already using port 80. In that case you will need to configure apache to run on a different port (say port 8080 for example).
  8. You do this via the Windows “Start->All Programs->Apache HHTP Server 2.0.59->Configure Apache Server->Edit the apache httpd.conf configuration file” menu item. This opens the httpd.conf file then you locate the line that starts with “Listen” and change the number that follows from 80 to the desired port (8080 for example).
  9. If you had to change the port number of the apache server you will need to restart the server for the port change to take effect. Do this by right mouse clicking with the cursor over the apache icon  in your windows taskbar. This will open a menu with an option to “Open Apache Monitor”. Select this item and then in the dialog that appears click the “Restart” button. Once this is done test that you get the apache welcome page when you open localhost:8080 (replace 8080 with the port number you used). If you cannot then double check the changes you made by repeating steps 8 and 9.
  10. Copy the file excelResave.py to the C:\Program Files\Apache Group\Apache2\cgi-bin directory.
  11. Each client needs to edit their preferences via the Prefs… button presented during Seurat Client login. In the preferences dialog that is presented after pressing this button, users need to navigate to the tab named Excel 2002 Converter and enter the host name and port number of the machine configured to run the Excel 2002 Conversion server.

 

You should now be able to successfully export to xls from the “File->Export->Excel (xls)” menu item in the Seurat Client Assay Display window.

 

If you encounter problems the most likely cause is an incorrect configuration of Apache to allow the execution of the python CGI script. Please refer to the apache documentation at http://httpd.apache.org/docs/2.0/howto/cgi.html  for more details and troubleshooting ideas.

 

15.4   Configuring Seurat Client to access Excel Converter

Once the Excel 2002 converted has been installed and tested each user of Seurat will need to provide the location of the Excel server using the Preferences dialog of the  Seurat Client.

 

To do this you would:

 

  1. Start the Seurat client

 

  1. At the login screen click on the Prefs… button and switch to the Excel 2002 Converter tab. You would then see a screen like the one shown below:

 

 

  1. Enter the hostname and port number of the Excel converter web server and then click OK to save the changes to your Preferences (prefs.xml on UNIX or windows registry)

 

  1. To test that the change was correct run any search to get results in the AssayDisplay then choose the File->Export->Excel(xls) menu option. If no exception is thrown and the .xls file is produced and readable then you know the configuration changes were successful.

16        Troubleshooting

16.1   Seurat Server

16.1.1 Cannot log in as newly created user

16.1.1.1                Description

After following the instructions in this guide to add a new Seurat user to PostgreSQL database any and all attempts to log in as that user are met with an invalid username / password response

 

16.1.1.2                Cause

The username in PostgreSQL contains an uppercase character. All usernames in Seurat need to contain only lowercase characters. Seurat converts the username typed into the log in screen to lowercase to avoid potential problems with Seurat bookmark folders.

 

16.1.1.3                Solution

Remove the newly created user through the pgAdmin tool and then recreate them with a name that is all lowercase.

16.1.2 Attempt to Load cMet Test Data Fails

 

16.1.2.1                Description

When you attempt to follow the instructions (in this guide) to load the cMet test data set you get the following exception:

 

psql: could not connect to server: Connection refused <> Is the server running on host "localhost" and accepting TCP/IP connections on port 3247?

 

16.1.2.2                Cause

During installation the port for the server was not changed from the default of 5247 to the value used by SEURAT of 3247. As such the script fails to load as it expects to be able to communicate with the PostgreSQL database on port 3247

 

16.1.2.3                Solution

You will now need to change the port manually. To do this you need to:

 

1. Stop postgresql via the "Start->All Programs->PostgreSQL 8.1->Stop Service" menu item.

 

2. Open the configuration file C:\Program Files\PostgreSQL\8.1\data\ postgresql.conf (assuming you installed postgresql to the default

location)

and search for "port =" in the file. Change the line from

 

port = 5432

 

to

 

port = 3247

 

and save the changes

 

3. Start postgresql via "Start->All Programs->PostgreSQL 8.1->Start Service"

menu item.

 

16.1.3 Remote Client Access Does Not Work After Configuration Changes

16.1.3.1                Problem

You have followed all the steps in the section Configuring Seurat for Remote Client Access but you still cannot connect to the Seurat Server and database remotely.

 

16.1.3.2                Cause

There is a firewall rule on either the client machine, the server machine or both that is preventing communications between the client and server machines.

 

16.1.3.3                Solution

Check to see if the windows firewall is enable on both the client and server machines by:

 

  1. Click Start, click Run , type Firewall.cpl and then click OK
  2. If you see the firewall is on then in the General tab of the window that appears click Off (not recommended) and then click OK

 

If either the client or server machine is running any other firewall like Norton etc then please also temporarily suspend those programs (most of these have an option these days to suspend the firewall for 5 minutes at the end of which the firewall will automatically be re-enabled). Also please temporarily disable any virus scanning software. Once this has all been done please test Seurat remote client access once more.

 

Also, while you have all the firewall and virus software turned off please do a “ping” test from your client machine to the server machine to see if you can at least communicate at the most basic network level. To do this:

 

  1. Start a windows command window from Start->Run, type in cmd and press enter.
  2. In the command window type ping <ip address of the other machine>

 

If everything is OK you should see something like (I used googles ip address in this example):

 

C:\ >ping 72.14.203.104

 

Pinging 72.14.203.104 with 32 bytes of data:

 

Reply from 72.14.203.104: bytes=32 time=33ms TTL=244

Reply from 72.14.203.104: bytes=32 time=34ms TTL=244

Reply from 72.14.203.104: bytes=32 time=34ms TTL=244

Reply from 72.14.203.104: bytes=32 time=34ms TTL=244

 

Ping statistics for 72.14.203.104:

    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

    Minimum = 33ms, Maximum = 34ms, Average = 33ms

 

If you get no response then you need to work out why your machine cannot see the other machine on the network.

 

If you did end up turning off the windows firewall during these test then make sure you remember to turn it back on after the test as it does not automatically re-enable.

 

If you find a firewall is the cause of the inability to remotely log into the other machines server then you will need to add firewall rules to allow the Seurat traffic.

 

16.1.4 Server Wont Start – Empty database SID

If the server fails to start with the following exception stack trace then this means you are still running one the very earliest releases of Seurat. To fix this problem you can either download a more recent version and install it or you can start the Seurat Client and set the database SID to synaptic by following the instructions given after the stack trace example.

 

[Tue Jul 11 15:19:02 EDT 2006] CompChemServer binds to //localhost:5247/CompChem

Server

org.postgresql.util.PSQLException: FATAL: database "seurat" does not exist

        at org.postgresql.core.v3.ConnectionFactoryImpl.readStartupMessages(Conn

ectionFactoryImpl.java:443)

        at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(Conne

ctionFactoryImpl.java:98)

        at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactor

y.java:65)

        at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Conn

ection.java:116)

        at org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Conn

ection.java:30)

        at org.postgresql.jdbc3.Jdbc3Connection.<init>(Jdbc3Connection.java:24)

        at org.postgresql.Driver.makeConnection(Driver.java:369)

        at org.postgresql.Driver.connect(Driver.java:245)

        at java.sql.DriverManager.getConnection(Unknown Source)

        at java.sql.DriverManager.getConnection(Unknown Source)

        at com.synsci.compchem.db.Database.getNewConnection(Database.java:141)

        at com.synsci.compchem.db.Database.connect(Database.java:163)

        at com.synsci.compchem.db.Database.connect(Database.java:171)

        at com.synsci.compchem.db.Database.<init>(Database.java:85)

        at com.synsci.compchem.core.CompChemServer.updatePropertiesFromDB(CompCh

emServer.java:2263)

        at com.synsci.compchem.core.CompChemServer.main(CompChemServer.java:2587

)

java.lang.IllegalAccessException: Invalid database login/password: jdbc:postgres

ql://127.0.0.1:3247/?user=seurat&password=seurat

        at com.synsci.compchem.db.Database.getNewConnection(Database.java:152)

        at com.synsci.compchem.db.Database.connect(Database.java:163)

        at com.synsci.compchem.db.Database.connect(Database.java:171)

        at com.synsci.compchem.db.Database.<init>(Database.java:85)

        at com.synsci.compchem.core.CompChemServer.updatePropertiesFromDB(CompCh

emServer.java:2263)

        at com.synsci.compchem.core.CompChemServer.main(CompChemServer.java:2587

)

java.rmi.RemoteException: Couldn't connect to DB: (native)

        at com.synsci.compchem.core.CompChemServer.updatePropertiesFromDB(CompCh

emServer.java:2290)

        at com.synsci.compchem.core.CompChemServer.main(CompChemServer.java:2587

 

 

NOTE: To fix this error it is important that you run the client before the server due to a glitch in our installers. You will only have to do this once after running the installers and then the setting will be remembered. This glitch will be remedied in the next version of our installers.

Start the SEURAT client by selecting the ‘Start’->‘All Programs’->’SEURAT Client’ menu item under the windows Start menu. After the Synaptic Science splash screen you will be presented with the SEURAT login dialog.

Click on the Prefs button to setup the correct Seurat Server/DB information. We currently use only the ‘pri’ and ‘smpc’ databases, (‘dvi’, and ‘tsi’ databases are reserved for future use).

 

 

In the screenshot of the preferences dialog above you will see that the database SID is blank. In order for the client and server to be able to connect to the database supplied with the installers the SID must be set to synaptic as shown in the next screen shot

 

 

Once synaptic has been entered into the SID field click the OK button. This will save the preference setting used by both the client and server.

 

Once you have followed these steps you should be able to test that the server now runs successfully by selecting the Start->Programs->Seurat Server->Interactive Seurat Server menu item.

 

16.2   Wrong Java Version

Some users have reported that the server will not start and give an error like the following:

 

CompChemServer binds to //localhost:5247/CompChem Server Exception in thread "main" java.lang.ExceptionInInitializerError

        at com.synsci.compchem.core.CompChemServer.updatePropertiesFromDB(CompCh

emServer.java:2255)

        at com.synsci.compchem.core.CompChemServer.main(CompChemServer.java:2571

)

Caused by: java.lang.NullPointerException

        at java.util.prefs.AbstractPreferences.put(Unknown Source)

        at com.synsci.compchem.db.Database.<clinit>(Database.java:49)

        ... 2 more

 

This is caused by the wrong version of java being used by the SEURAT server, most typically Java 1.5 which is not yet (but will soon be) supported by SEURAT. The server installer is supposed to install JRE version jre1.4.2_12 if it is not already installed on your machine. We had received reports that this does not always happen. If it does not please proceed to the following link http://java.sun.com/j2se/1.4.2/download.html and manually download the JRE through the link “Download J2SE JRE” on that page.

 

Once downloaded and installed you will need to edit the run.bat file used by the SEURAT Server to explicitly use this version you have just installed. To do this go to the directory C:\Program Files\SynapticScience\SeuratServer\bin and edit the run.bat file it will contain a line starting like:

 

java -cp chemwb-all.jar -Djava.security.policy=rmi.p…

 

Edit this line to start with the path where the java 1.4.2 version was installed like this:

 

“C:\Program Files\Java\j2re1.4.2_11\bin\java” cp chemwb-all.jar -Djava.security.policy=rmi.p…

 

NOTE: It is important to include the double quotes around the explicit path to java if the path includes space (which it almost always will). The path to your installation may not be exactly the same as the one shown here. Please locate the bin directory of your installed 1.4.2 version and put in place of “C:\Program Files\Java\j2re1.4.2_11\bin\java” in the line given above.

 

If you still have problems after following these instructions please contact our technical support at support@synapticscience.com or visit our forum on our website at www.synapticscience.com and post a question there. One of our technical support personnel will get in contact with you to resolve your issue.