JChem FAQ

  1. Which Java virtual machine should I use with JChem?
  2. Why do I get SQLException or other error when I use JChemManager?
  3. I get exception when I start JChemManager using Oracle's JDBC thin driver.
  4. How should I set the connection string in the case of ASP or other ADO capable environment?
  5. How can I set the CLASSPATH for both the JChem ActiveX controls and JChemManager?
  6. Where can I find examples for using JChem?
  7. Can JChem and Marvin be applied in Microsoft Visual C++ applications?
  8. How can I integrate Apache, Tomcat, and JChem?
  9. How to upgrade to a new JChem version?
  10. I get a warning "Table <table> could not fit into structure cache (out of memory).".
  11. I get out of memory error.
  12. Copy/paste doesn't work with a certain Look and Feel.
  13. How scalable is JChem Cartridge / JChem Base?
  14. What is the maximum number of structures for JChem Base / JChem Cartridge?
  15. How to estimate the memory need for the Structure Cache?
  16. How to estimate hardware requirements for a JChem database?
  17. How fast is substructure searching in JChem Base?
  18. How fast is importing in JChem Base?
  19. Which environments are supported by JChem Cartridge?
  20. What computer resources are required by JChem Cartridge?
  21. Which molecular formats are supported by JChem Cartridge?
  22. Should I use the default jchemproperties table with JChem Cartridge or not?
  23. How fast is searching in JChem Cartridge?
  24. How fast is inserting with JChem Cartridge?
  25. How fast is indexing with JChem Cartridge?
  26. How should I set the "JDBC driver" and "URL of database" fields for starting JChemManager?
  27. Can the output of compr/jarp/ward be sorted by id?
  28. The ASP example does not work with JRE 1.4.x. Why?
  29. I get the following exception using MySQL: com.mysql.jdbc.PacketTooBigException: Packet for query is too large
  30. For some structures the database field "cd_smiles" is null. Why?
  31. I get the following error message : "The structure table contains obsolete data. Please regenerate the table." What does it mean ?
  32. JCMAN GUI does not work via X between Linux (server) and Windows (client)
 
  1. Which Java virtual machine should I use with JChem?

    JChem requires Sun Java Runtime Environment (JRE) 1.4.2 JRE Standard Edition or better. Equivalent JREs from other vendors may work, but not recommended. For maximum performance we recommend to use the latest stable release from Sun Microsystems.

  2. Why do I get SQLException or other error when I use JChemManager?

    The most probable causes:

    • Incorrect URL to the database (it may occur during login)
    • Inappropriate username / password (it may occur during login)
    • Faulty JDBC or ODBC driver. Try a different one.
  3. I get exception when I start JChemManager using Oracle's JDBC thin driver.

    Make sure that the URL is appropriate (e.g: jdbc:oracle:thin:@myhost:1521:mySID). Check if all needed services run (the listener service is necessary).

  4. How should I set the connection string in the case of ASP or other ADO capable environment?

    If you would like to call SQL statements using ADO, you may choose between ODBC and OLEDB connections. (ADO can not contact to the databases through JDBC drivers.)

    • Example for an ODBC connection
          var adoConnectionString=
      "DSN="+MyDSN+";"+
      "UID="+username+";"+
      "PWD="+password;
    • Example for an OLEDB connection to Oracle
          var adoConnectionString=
      "Provider=MSDAORA.1;"+
      "Data Source="+myServiceName+";"+
      "User ID="+username+";"+
      "Password="+password;
    (The above examples use the JavaScript syntax)
    In the case of Oracle, if an error occurs, please see HOWTO: Troubleshoot an ASP-to-Oracle Connectivity Problem

  5. How can I set the CLASSPATH for both the JChem ActiveX controls and JChemManager?

    • Set CLASSPATH to include the zip or jar file containing the driver:
      1. Select Control Panel / System / Environment.
      2. Add the zip into the CLASSPATH variable in both the System Variables and User Variables lists. (The ActiveX components will not work if it is included only in the user CLASSPATH.)
      3. Press the "Set" and "Apply" buttons.
    • Restart "IIS Admin" and "World Wide Web Publishing" services (or restart your machine).

  6. Where can I find examples for using JChem?

    • A JSP (Java Server Pages) and ASP examples can be found in the examples directory. Please see <jchem dir>/examples/index.html for a description.

  7. Can JChem and Marvin be applied in Microsoft Visual C++ applications?

    The suggested way is to call JChem's ActiveX components from the C++ code.

  8. How can I integrate Apache, Tomcat, and JChem?

    1. Install and test Tomcat (before starting, set the JAVA_HOME environmental variable)
      See the user guide: <Tomcat home>/doc/index.html
    2. Follow the instructions for adding JChem into Tomcat
    3. Test JChem under Tomcat:
      http://localhost:8080/jchem/
      http://localhost:8080/jchem/examples/db_search/index.jsp
    4. Specify Tomcat in Apache's conf/httpd.conf by adding a line like
      Include <Tomcat home>/conf/tomcat-apache.conf
    5. Add mod_jserv into Apache as described in Tomcat's user guide
    6. Restart Tomcat and restart Apache
    7. Test JChem under Apache:
      http://localhost/jchem/
      http://localhost/jchem/examples/db_search/index.jsp

  9. How to upgrade to a new JChem version?

    These are the steps that you should follow at upgrading:

    1. Download the latest JChem installation package
    2. Make sure no JChem applications are running
    3. Replace your old JChem directory with the contents of the new package. (delete/move the old directory and extract the package to the same location)
    4. Run the JChemManager (jcman) GUI, or execute the following command to update in text mode:
        jcman u
      
    5. The application will automatically prompt you for the upgrades. Some of these changes are quick, however the regeneration of the tables can take for a while. The time requirement for table regeneration is comparable to the time of importing the same number of structures.
    6. If you are using JChem from other (standalone or web) applications, make sure you also update the .jar files used by them. These jar files are located under the jchem\lib directory in the unpacked package. You should also restart these applications, so they can load the new code from the updated .jar files

      For example if you are running a JSP application in Tomcat:

      • Stop Tomcat
      • Update the .jar files in Tomcat's lib directory.
      • Clearing Tomcat's cache is also recommended. This can be performed by deleting the content of <tomcat_home>/work directory.
      • Start Tomcat

  10. I get a warning "Table <table> could not fit into structure cache (out of memory).".

    This indicates that the table could not be loaded into the structure cache due to lack of sufficient memory. There should be sufficient memory for the Java Virtual Machine (JVM) to load the structural and fingerprint information of all structure tables.
    Please see the this section on how to estimate the memory need for your structure tables.
    The out of memory section describes how to allocate more memory for the JVM.

  11. I get out of memory error.

    Java applications in general:
    In the case of most Java Virtual Machines, the default setting of maximum heap size is 64MB. One can increase the maximum heap size of applications running under Sun's environment by setting the -Xmx parameter. General example for allowing 128 MBytes for an application:
    java -Xmx128m my.Application

    JChem applications:
    In the case of the JChem application startup files (Windows Batch Files and Unix Shell Scripts) an application-specific value is specified in the startup file, which can be easily edited. Please click here for further information.

    Web applications:
    If your problem occurs in Tomcat, please see the Tomcat configuration page.
    If you use a different servlet server, then please consult the documentation of the software for details.

    Please also see the "Memory" section of hardware requirements for more information.

  12. Copy/paste doesn't work with a certain Look and Feel.

    Keyboard shortcuts for Copy/Paste/Cut functions may vary by Look and Feel. For example in the case of Windows Look and Feel these are CTRL+C,CTRL+V, and CTRL+X, respectively. In the case of Motif LF the shortcuts for the same commands are: CTRL+INS,SHIFT+INS, and SHIFT+DEL.

  13. How scalable is JChem Cartridge / JChem Base?

    "I have tested Oracle 10g with JChem 3.1.3 using a database of 50 million molecules which works without any problem (and very fast!) on an 4CPU SGI Altix 330 12GB RAM machine."
        Lutz Weber, OntoChem

  14. What is the maximum number of structures for JChem Base / JChem Cartridge?

    In a single table the maximum number of rows is 231-1 (2,147,483,647).
    We may increase this in the future if needed.
    There is no practical limit for the number of tables.

  15. How to estimate the memory need for the Structure Cache?

    Typically 1 million drug-like structures consume around 100 MB memory in the structure cache of JChem.
    Note: although JChem can drop the least recently used table from the structure cache if low on memory, it is recommended that all structure tables should fit in the cache (as cache loading can take a considerable amount of time). When estimating the memory need simply sum the number of rows in the tables.
    The following table shows typical memory needs in a benchmark test:

    Test specifications:
    Number of molecules: 3,003,012
    Fingerprint size: 16*32=512 bits
    Average SMILES length per molecule: 37.8
    Memory consumption: 277.01 MB
    Caching time*: 159.2 seconds

    * The test configuration was exactly the same as in the cartridge benchmark.

    Memory need increases with the number of molecules,the size of fingerprints, and the average SMILES string size. The following approximation can be used:

    Memory_need [bytes] = Number_of_molecules * (0.5*Average_smiles_length[characters] + Fingerprint_size[bits]/8 + 13.5)

    The structure table fingerprint statistics generation function can be used to report the average smiles length and fingerprint size of a JChem table or JChem index. See more information in the JChem Manager command line usage (s command), at the Cartridge index statistics function and the Statistics tab at Instant JChem Schema editor.

  16. How to estimate hardware requirements for a JChem database?
    1. Memory:
      JChem may use significant amount of memory for building a structure cache in memory.
      Please see this topic on how to estimate the size of the structure cache.

      The total Java memory consumption (heap size) consists of:

      • The size of the structure cache
      • Processing memory for JChem Base: we recommend an additional 200 MB
      • Processing memory for your Java application (built on JChem Base)

      To determine the total amount of RAM requirement you should add:

      • Java memory consumption (detailed above)
      • Other programs running on that computer
      • Memory requirement for the operating system

      64 bit systems: A single Java process cannot allocate more than around 2 GB on 32 bit systems. If your Java memory needs will exceed this limit a 64 bit system is recommended (including hardware, operating system and Java).

      Please also visit this link on how to enable the Java Virtual Machine to allocate the necessary amount of memory

    2. Disk space:

      Apart from the number of structures it also depends on the format of the input file, and type of RDBMS engine used by JChem Base.

      A benchmark result with 1 million structures (the NCI dataset was multiplied for the test), the RDBMS was Oracle:

      Format Size of JChem table Original file size
      SDF 1.2 GB 3.7 GB
      SMILES 270 MB 50 MB

      Note: JChem compresses SDF in the cd_structure field by default (in the case of the NCI dataset to roughly about 4.4 times smaller). This can be disabled (e.g. if they need to be displayed directly by non-ChemAxon tools), but the storage size increases in this case.

    3. Processing power:

      Comparing the performance of different hardware architectures is a complex topic and not the subject of this FAQ.

      Some quick facts:

      • JChem automatically uses all processors during a search
      • The search speed scales well with the number of processors
      • The search time is directly proportional to the size of the table (assuming there is no constraint on the number of hits - see below)

      The following benchmarks can be used as a starting point:

      For the same database the search time greatly depends on the type of query structure. For a very general query (e.g. benzene) there will be a lot of hits, meaning longer execution time, while more specific queries run very fast on the same large database.

      The search time consists of
      • Screening time : this is a quick pre-filtering using fingerprints
      • Graph search: slower, but only performed for the screened compounds

      The following can be stated:

      • The screening time is directly proportional to the size of the database table.
      • The graph search time is directly proportional to the number of screened compounds.
      • The number of hits is roughly proportional to the number of of screened compounds.
      • The graph search time is roughly proportional to the number of hits.

      Tip: it is rarely useful to return a huge number of hits (especially for human consumption).
      If the number of hits is limited, only the rapid screening time will increase with table size, which means the total search time will remain almost constant regardless of the table size.

  17. How fast is substructure searching in JChem Base?

    The following tests demonstrate the speed of substructure search in JChem.
    The test configuration was exactly the same as in the cartridge benchmark, and the same query structures were used.

    • A chemical table containing 3 million molecules was used.
    • Fingerprints and SMILES were cached by JChem.

    Substructure search results, caching used: true
    Screening
    hits*
    Screening time*
    ms
    Number
    of hits
    Total time
    ms
    01130119
    01790194
    129412125
    204104204134
    90090864225
    93690936169
    1272901188182
    1308901188240
    1704901560208
    1800911764196
    4848914608334
    65460104652082579
    2812921212746085830
    47223614344350811660
    * Screening is a quick search using fingerprints. The results of screening are further checked by the slower, but stricter atom-by-atom search.

  18. How fast is importing in JChem Base?

    The following table shows the duration of import in some cases. The configuration was exactly the same as in the cartridge benchmark. The -server JVM option was applied.

    Number of structures Elapsed time
    Duplicates allowed Duplicates not allowed
    10,000 13 sec 16 sec
    100,000 1 min 9 sec 1 min 56 sec
    200,000 2 min 3 sec 3 min 38 sec

    Notes:

    • If duplicates are allowed, time increases linearly with the number of molecules imported.
    • If duplicates are not allowed, JChem performs a search for every molecule to check if it is already in the structure table or not.
    • The table into which the structures were imported always contained an initial 10 structures and were stats-collected

  19. Which environments are supported by JChem Cartridge?

    JChem Cartridge is made up of two major components:

    The two components can be run on separate hosts which adds the flexibility of running them on different platforms.

    Note that Oracle Express Edition is not supported.

  20. What computer resources are required by JChem Cartridge?

    • CPU:

      The faster the better. Parallel processing capabilities of the host are also utilized, if available. See our benchmarks with a 3GHz dual Xeon machine for indexing and searching. (Indexing 12 x NCI (more than 3 million structures) takes 5,801 seconds (~ 96 minutes) on the same machine.)

    • Memory:

      1. Oracle
        The memory requirement of the JChem Cartridge specific stored procedures depends on the size of the result set returned by JChem Server. Currently, the processing of the results is started on the Oracle end only after the entire result set has been returned by JChem Server. This requires temporarily buffering the entire result set. In the case of structure searching, temporary memory requirement is about 8 bytes per hit. We are working to remove this bottleneck, so that results from JChem Server will be instantaneously returned for processing (which will result in both decreased memory buffer need and improved response times).

        Not directly required by, but related to, JChem Cartridge is the size of the Oracle buffer cache that speeds up the SELECT SQL statement whereby the JChem-internal compound identifiers of the hits are converted to Oracle-internal ROWIDs.

        There is no memory requirement (direct or indirect) to buffer in Oracle the structures themselves, target compounds being cached in highly optimized data structures in the JChem Server. See below.

      2. JChem Server
        JChem Server uses a mechanism highly optimized for speed and memory footprint to cache molecular structures. The memory requirement of the structure cache depends primarily on the number of structures to be cached (the number of molecular structures in your structure tables) and on the size of the fingerprint used to capture the main attributes of the target molecular structures. As a rule of thumb, 100 MB of main memory can hold the cache for 1 million structure. (See here a detailed description of how to calculate the memory requirement of the structure cache.)
    • Storage capacity:

      Domain index information for the NCI 2000 data set (250251 molecular structures) (index table together with the auxiliary indexes on the index table) requires --with default Oracle storage settings-- 96 megabyte disk space (regardless of the format in which the molecular structures are stored in the base table).

  21. Which molecular formats are supported by JChem Cartridge?
    All major molecular formats can be stored (formats created by MDL, Daylight, ChemAxon) in structure tables. The formats supported in structure tables are the same as with JChem Base.

    In addition to the formats for structure tables, a number of other formats are supported for various operations.

  22. Should I use the default jchemproperties table with JChem Cartridge or not?

    When you create a jc_idxtype index, the index meta data will be stored in a jchemproperties table and this table will be also used to subsequently retrieve licensing information (e.g. during structure search). The jchemproperties table used by default for a jc_idxtype index is the one called "JChemProperties" in the schema where the indexed structure table is to be found. (You can define the jchemproperties table to be used by a given jc_idxtype index by specifying the JCHEMPROPERTIESTABLE index parameter.)

    The recommended way to enter license information into JChem Cartridge is, currently, using the JChemManager GUI. As you connect to the database with the JChemManager GUI, you have to specify a jchemproperties table to be used. The license keys will be registered in this jchemproperties table. (It is possible to qualify the name of the jchemproperties table with a schema. If the name is not schema qualified, the jchemproperties table with the given name in the user's schema will be used by JChemManager.)

    It follows from the above that with default jchemproperties tables you will typically have to maintain licensing information for each JChem Cartridge user having their own jchemproperties tables. One way to simplify this kind of administration is to use one single jchemproperties table for all users. The drawback is that the JChem Cartridge users involved must then have read- and/or write-access on this central jchemproperties table. (Read access for those who should be allowed to do structure search, and write access for those who should be allowed to create structure index.)

    Notes:
    Creating a JChem-table also involves (implicitly or explicitly) assigning a jchemproperties table to it. (JChem-tables are molecular structure tables with a predefined [but extensible] column structure created through the JChemManager or the JChem Java API -- as opposed to regular molecular structure tables created through standard "CREATE TABLE" SQL statements with a column structure under the complete control of the user.) Note that if you create a jc_idxtype index on a JChem table with a custom jchemproperties table, the jchemproperties table must be specified as an index parameter during index creation as well. Note also that DML operations on JChem-tables allow accept as one of their arguments the name of the jchemproperties table. This argument should not be left unspecified when operating on JChem-tables with custom jchemproperties tables.

  23. How fast is searching in JChem Cartridge?

    The following table shows the duration of search in JChem Cartridge using the following configuration:

    Hardware (purchased in February of 2005):

    Intel Quad CPU Q6600 2.40GHz desktop PC, 8GB memory, 2x750GB SATA hard drive in RAID 0 (with write cache enabled)

    Software Environment:

    • Operating System:

      OS Name Distribution Name Kernel Version
      Linux CentOS release 4.6 2.6.9-67.0.7.ELsmp x86_64

    • Oracle Configuration:

      Oracle Version SGA Max Size (MB) SGA Target (MB) DB Buffer Cache Size (MB) Shared Pool Size (MB) Java Pool Size (MB) Large Pool Size (MB)
      10.2.0.3 0 (unset) 1536 1024 160 160 16

    • Tomcat Configuration:

      jvm_version tomcat_version
      1.5.0_15

    Target molecule set: NCI database August 2000 (250251 molecules multiplied to 3 million)

    Number of structures: 3 million

    Session Date 2008-05-01

    Operation Type Query Structure Number Of Hits Total Time (ms) SSS Time (ms) Screened Count Screening Time (ms)
    t:s earlyResults:2000 Clc1cncc2c(cnnc12)N3CC3 0 112 96 0 90
    t:s earlyResults:2000 C1CN1c2cnnc3c(cncc23)C4=CSC=C4 0 201 186 0 179
    t:s earlyResults:2000 CCSc1c(C=C(C=O)C#N)c2ccccn2c1C(O)=O 12 119 99 12 89
    t:s earlyResults:2000 O=C1ONC(N1c2ccccc2)-c3ccccc3 204 141 112 204 90
    t:s earlyResults:2000 Nc1cc(cc2cc(c(N=N)c(O)c12)S(O)(=O)=O)S(O)(=O)=O 864 320 255 900 89
    t:s earlyResults:2000 NN=C1C(=O)NC(=S)N(C1=O)c2ccccc2O 936 197 149 936 80
    t:s earlyResults:2000 Oc1c(N=N)c(cc2cc(ccc12)S(O)(=O)=O)S(O)(=O)=O 1188 280 219 1308 79
    t:s earlyResults:2000 Cc1cc(C)nc(NS(=O)(=O)c2ccccc2)n1 1224 233 171 1272 79
    t:s earlyResults:2000 COc1ccc2nc3cc(Cl)ccc3cc2c1 1560 269 195 1704 79
    t:s earlyResults:2000 C(Sc1ncnc2ncnc12)-c3ccccc3 1764 277 197 1800 80
    t:s earlyResults:2000 NC1=CC=NC2=C1C=CC(Cl)=C2 4632 434 339 4848 81
    t:s earlyResults:2000 c1ncc2ncnc2n1 65208 3425 3331 65460 98
    t:s earlyResults:2000 Clc1ccccc1 274608 10450 8028 281292 114
    t:s earlyResults:2000 O=Cc1ccccc1 443508 17548 16511 472236 151


    sep=! t:s!ctFilter:(PSA() <= 200) && (rotatableBondCount() <= 10) && (mass() <= 500) && (aromaticRingCount() <= 4)


    O=C1ONC(N1c2ccccc2)-c3ccccc3 204 313 290 204 84


    sep=! t:s!ctFilter:(mass() <= 500) && (logP() <= 5) && (donorCount() <= 5) && (acceptorCount() <= 10)


    O=C1ONC(N1c2ccccc2)-c3ccccc3 36 380 350 204 80
    jc_tanimoto  > 0.9 O=C1ONC(N1c2ccccc2)-c3ccccc3 0 1137 1123 0 1123
    jc_tanimoto  > 0.9 CCSc1c(C=C(C=O)C#N)c2ccccn2c1C(O)=O 0 1162 1146 0 1146
    jc_tanimoto  > 0.9 Nc1cc(cc2cc(c(N=N)c(O)c12)S(O)(=O)=O)S(O)(=O)=O 24 1195 1136 24 1136

    The column names have the following meaning:
    • Operation Type: The name of the operator tested.
    • Query Structure: The query tested.
    • Number Of Hits: The number of structures returned by the query.
    • Total Time: The total time spent executing the SQL statement.
    • SSS Time: Fingerprint screening time + atom-by-atom search time.
    • Screened Count: The number of structure left over from the fingerprint screening as possible candidates meeting the search criteria.
    • Screening Time: The time the fingerprint screening took.

  24. How fast is inserting in JChem Cartridge?

    • Inserting 10000 structures into a jc_idxtype-indexed regular structure table: 1 minutes 20 seconds
      INSERT INTO mytable VALUES(<structure>);
    • Inserting 10000 structures into a JChem structure table: 1 minute 44 seconds
      jc_insert('<structure>', 'mytable', null, 'false', 'false');
    • Inserting 10000 structures into a JChem structure table from a temporary table in one batch without duplicate filtering: 50 seconds
      jc_insert('SELECT structure FROM tmptable', 'mytable', null, 'false', 'false');
    The configuration was the same as in the cartridge benchmark.

  25. How fast is indexing in JChem Cartridge?

    The following table shows the duration of indexing in some cases. The configuration was exactly the same as in the cartridge benchmark.

    Number of structures Elapsed time
    10,000 10 sec
    100,000 45 sec
    200,000 1 min 22 sec

  26. How should I set the "JDBC driver" and "URL of database" fields for starting JChemManager?

    Here are some URL settings for JDBC connections to different database engines.
    (For more complex cases please see the documentation of the JDBC driver.)
    Note: we recommend ODBC only for Microsoft Access. For other databases the native JDBC drivers should be used.

    Database JDBC driver URL format Example
    Oracle (thin driver)
    oracle.jdbc.driver.OracleDriver
    jdbc:oracle:thin:@[host address]:[port]:[database sid]
    jdbc:oracle:thin:@localhost:1521:mydb
    Oracle (OCI8 driver)
    oracle.jdbc.driver.OracleDriver
    jdbc:oracle:oci8:@[host]:[port]:[database sid]
    jdbc:oracle:oci8:@localhost:1521:mydb
    MySQL
    com.mysql.jdbc.Driver
    jdbc:mysql://[host]/[database]
    jdbc:mysql://localhost/mydb
    MS Access via ODBC
    sun.jdbc.odbc.JdbcOdbcDriver
    jdbc:odbc:[odbc data source]
    jdbc:odbc:mydatasource
    PostgreSQL
    org.postgresql.Driver
    jdbc:postgresql://[host]:[port]/[database]
    jdbc:postgresql://localhost:5432/mydb
    DB2
    COM.ibm.db2.jdbc.net.DB2Driver
    jdbc:db2://[host]/[database]
    jdbc:db2://localhost/mydb
    InterBase
    interbase.interclient.Driver
    jdbc:interbase:[path to interbase data file i.e. the .gdb file]
    jdbc:interbase://localhost/c:/interbase/interbasedb.gdb
    MS SQLServer
    com.microsoft.jdbc.sqlserver.SQLServerDriver
    jdbc:microsoft:sqlserver://[host]:[port];DatabaseName=[database];SelectMethod=cursor
    jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb;SelectMethod=cursor
    MS SQLServer 2005
    com.microsoft.sqlserver.jdbc.SQLServerDriver
    jdbc:sqlserver://[host]:[port];databaseName=[database];SelectMethod=cursor
    jdbc:sqlserver://localhost:1433;databaseName=mydb;SelectMethod=cursor
    HSQLDB / HXSQL
    org.hsqldb.jdbcDriver
    jdbc:hsqldb:hsql://[host]/[database]
    jdbc:hsqldb:hsql://localhost/
    Derby
    org.apache.derby.jdbc.EmbeddedDriver
    jdbc:derby:[database];create=true
    jdbc:derby:mydb;create=true

  27. Can the output of compr/jarp/ward be sorted by id?

    In the case of database input, one should append " ORDER BY CD_ID" to the SQL query. For compr only the second query should be modified.

  28. The ASP example does not work with JRE 1.4.x. Why?

    Sun has removed the ActiveX Bridge support from JDK/JRE 1.4, and replaced it with a different version from 1.4.2 and later. We are planning to provide support this new version. Until then we suggest to use JRE version 1.3.1. for ASP integration.

  29. I get the following exception using MySQL: com.mysql.jdbc.PacketTooBigException: Packet for query is too large

    Please increase the value of the "max_allowed_packet" variable for MySQL. The following line should be added to the configuration file "my.ini" under the [mysqld] section :

     max_allowed_packet = 100M 

  30. For some structures the database field "cd_smiles" is null. Why?

    JChem works with the standardized form of imported structures stored in ChemAxon Extended SMILES format. This extended format can represent a wider range of structures than SMILES, but there are still some cases, when this format is not applicable. In these cases the "cd_smiles" field is null, and JChem uses the "cd_structure" field for these rows. (The "cd_structure" represents the structures in the original input format)

    Currently the cd_smiles is null in the following cases:

    1. Structure contains radicals
    2. Structure contains R-groups
    3. the SMILES would be too long for the database field (very large molecules).

    In these cases the search is slower, since the target structures have to be standardized on the fly.
    Note: For most databases the size of the "cd_smiles" field can be increased at the table creation dialog (in the SQL text). The increased length is automatically utilized. This can speed up the search if a high percentage of the structures are huge.

  31. I get the following error message : "The structure table contains obsolete data. Please regenerate the table." What does it mean ?

    Sometimes there are some changes in the data structure of JChem, which are incompatible with earlier versions. To obtain correct search result, the regeneration of the old structure tables is necessary. For more information and instructions please see the administration guide.

  32. JCMAN GUI does not work via X between Linux (server) and Windows (client)

    It is possible that JCMAN GUI does not work on Linux server with Windows client via X sever in some cases. Opening your ssh connection with -Y option may solve the problem.

    Related forum topic: http://www.chemaxon.com/forum/viewtopic.php?p=15322#15322

If your question is not answered, please check out our forum or .

 
Copyright © 1999-2008 ChemAxon Ltd.    All rights reserved.