JChem Web Services Getting Started Guide

JChem Web Services REST API provides an easy way to store, search and calculate molecule properties through web services. This quick start guide shows you how to install and start working with our web services.

Resource Concepts

RESTful web services are organized around addressable resources. Main resource concepts in JChem Web Services's REST API are:

ResourceDescriptionExample URL
listlisting available database configurationsGET /rest-v0/data
databaseselecting a database configurationGET /rest-v0/data/sample
tableselecting a table in the databaseGET /rest-v0/data/sample/table/ChEBI_lite_3star
detaildetails of the molecule in the table with specific row idGET /rest-v0/data/sample/table/ChEBI_lite_3star/detail/42
In this REST API we worked around some of the limitations of the REST concept:

URL Reference

DescriptionHTTP RequestContent‑TypeResponse‑Type
1. Database Structural Information
1.1. Server InformationGET /rest-v0application/json
1.2. List DB ConfigurationsGET /rest-v0/dataapplication/json
1.3. DB Configuration DetailsGET /rest-v0/data/{dbConfigName}application/json
1.4. List TablesGET /rest-v0/data/{dbConfigName}/tableapplication/json
1.5 .Table DetailsGET /rest-v0/data/{dbConfigName}/table/{tableName}application/json
1.6. Table ColumnsGET /rest-v0/data/{dbConfigName}/table/{tableName}/headers/tableapplication/json
1.7. Column StatisticsGET /rest-v0/data/{dbConfigName}/table/{tableName}/column/{columnName}application/json
2. Search Options
2.1. Simple SearchGET /rest-v0/data/{dbConfigName}/table/{tableName}/search?{paramName}={paramValue}application/json
2.2. Advanced SearchPOST /rest-v0/data/{dbConfigName}/table/{tableName}/searchapplication/json
3. Export Data
3.1. Simple Data ExportGET /rest-v0/data/{dbConfigName}/table/{tableName}/export?{paramName}={paramValue}application/json
3.2. Advanced Data ExportPOST /rest-v0/data/{dbConfigName}/table/{tableName}/exportapplication/json
3.3. Export URL Generator For DownloadPOST /rest-v0/data/{dbConfigName}/table/{tableName}/exportUrlGenapplication/json
4. View Properties
4.1. Simple Properties View (from table)GET /rest-v0/data/{dbConfigName}/table/{tableName}/detail/{cd_id}application/json
4.2. Advanced Properties View (from table)POST /rest-v0/data/{dbConfigName}/table/{tableName}/detail/{cd_id}application/json
4.3. View Properties Without Storing (upload molecules as JSON format)POST /rest-v0/util/detailapplication/json
5. Manipulate Data in the Database
5.1. Import to Existing TablePOST /rest-v0/data/{dbConfigName}/table/{tableName}multipartapplication/json
5.2. Import to New TablePOST /rest-v0/data/{dbConfigName}multipartapplication/json
5.3. Update a Single MoleculePOST /rest-v0/data/{dbConfigName}/table/{tableName}/operationapplication/jsonapplication/json
5.4. Delete a Single MoleculePOST /rest-v0/data/{dbConfigName}/table/{tableName}/operationapplication/jsonapplication/json
5.5. Insert a Single MoleculePOST /rest-v0/data/{dbConfigName}/table/{tableName}/operationapplication/jsonapplication/json
6. Monitoring
6.1. Create a New MonitorPOST /rest-v0/monitorapplication/jsonapplication/json
6.2. List Active MonitorsGET /rest-v0/monitorapplication/jsonapplication/json
6.3. Query a Monitor's StatusGET /rest-v0/monitor/{monitorId}application/json
6.4. Use a Monitor During ImportPOST /rest-v0/monitorapplication/jsonapplication/json
7. Configuration storage
7.1. Store/List ConfigsPOST /rest-v0/config/store/{scope}application/jsonapplication/json
7.2. Clear ConfigsPOST /rest-v0/config/clear/{scope}application/jsonapplication/json
8. Further Options and Functionalities
8.1. Simple Format ConversionPOST /rest-v0/util/calculate/stringMolExportapplication/jsontext/plain
8.2. Format ConversionPOST /rest-v0/util/calculate/molExportapplication/jsonapplication/json
8.3. CIP Stereo InfoPOST /rest-v0/util/calculate/cipStereoInfoapplication/jsonapplication/json
8.4. Structure CheckerPOST /rest-v0/util/calculate/structureCheckerapplication/jsonapplication/json
8.5. Format AnalyzerPOST /rest-v0/util/analyze*/*application/json
8.6. Clean StructurePOST /rest-v0/util/convert/cleanapplication/jsontext/plain
8.7. Hydrogenize/Dehydrogenize StructurePOST /rest-v0/util/convert/hydrogenizeapplication/jsontext/plain
8.8. StandardizerPOST /rest-v0/util/convert/standardizerapplication/jsontext/plain
8.9. HighlighterPOST /rest-v0/util/convert/highlightapplication/jsontext/plain
8.10. Reaction converter, automapperPOST /rest-v0/util/convert/hydrogenizeapplication/jsontext/plain
8.11. Filter Chainscan be used on all molecule requests
9. Markush enumeration
9.1 Markush AnalysisPOST /rest-v0/util/markush/analyzeapplication/jsonapplication/json
9.2 Markush Analysis From DatabasePOST /rest-v0/data/{dbConfigName}/table/{tableName}/markush/{cd_id}/analyzeapplication/jsonapplication/json
9.3 Markush EnumerationPOST /rest-v0/util/markush/enumerateapplication/jsonapplication/json
9.4 Markush Enumeration From DatabasePOST /rest-v0/data/{dbConfigName}/table/{tableName}/markush/{cd_id}/enumerateapplication/jsonapplication/json
10. Reaction library
10.1. List all the stored reactions GET /rest-v0/util/reaction/library application/json
10.1.1 List reactions from the given source GET /rest-v0/util/reaction/library/{source} application/json
10.2. Get details of a reaction GET /rest-v0/util/reaction/library/{source}/{id} application/json
10.3. Get information about the available reaction types GET /rest-v0/util/reaction/library/hierarchy application/json
10.4. Manipulation of the reaction library POST /rest-v0/util/reaction/library/operation application/json application/json
11. Reactor
11.1. Run reaction enumeration POST /rest-v0/util/reaction/enumerate application/json
11.2. Request reaction enumeration preview POST /rest-v0/util/reaction/preview application/json
12. Reaction utilities
12.1. Reaction analysis POST /rest-v0/util/calculate/reactionAnalysis application/json
13. Bundled Third-party Databases

Database Structural Information

Web Services are shipped with a preconfigured sample database. We will first show how to retrieve the database meta data (configuration, database, table information) and perform queries in this database.

We assume the default installation URL is:

If you installed with a different host/port/appname setting, please adjust the URLs in the example.

1.1. Server Information

To check whether the JChem Web Services REST functions are working, open the following URL:

{ "welcomeMessage": "You connected to the JChem REST Web Services", "availableServices": [ "JChem Simple Web Services" ], "version": "6.0.1", "jchemVersion": "6.0.1_b88", "javaVersion": "1.7.0_17", "osVersion": "Windows 7", "servletVersion": "jetty/6.1.25", "configDir": "...", "availableLicenses": { "ECFP/FCFP": { "state": "valid", "expirationDate": "2013-09-25" }, "Structural Frameworks Plugin": { "state": "valid", "expirationDate": "2013-09-25" }, "JChem Cartridge": { "state": "valid", "expirationDate": "2013-09-25" }, "3D Screen": { "state": "valid", "expirationDate": "2013-09-25" }, "Marvin Applets": { "state": "valid", "expirationDate": "2013-09-25" } } }

This request returns a general system information, a welcome JSON message including version and license information. Please make sure the active licenses match your expectations.

If no licenses are listed, you haven't set up the environment variables correctly or you placed the license file into an incorrect path. Further material on license installation can be found in the license documentation.

1.2. List DB Configurations

The available database configurations can be listed by entering this URL:

[ { "name": "sample", "type": "JCHEM", "propertyTable": "jchempropertytable", "url": "jdbc:derby:/etc/dbpath" } ]

This request returns an array of available database configurations. Each configuration has a unique name, a database URL, and a type (currently JCHEM type supported only); JChem configurations have a property table name in addition.

You can change these settings in the ws-config.xml, located in the chemaxon and .chemaxon directory in the user home directory on Windows and other systems, respectively. The file is always read from this location, if it does not exist, it will be created automatically with the default settings and content.

1.3. Database Configuration Details

Further database driver information specific for a given connection can be collected from this URL:

To check the general system configuration, open this URL:

{ "productName": "Apache Derby", "productVersion": "10.9.1.0 - (1344872)", "driverName": "Apache Derby Embedded JDBC Driver", "driverVersion": "10.9.1.0 - (1344872)", "initialized": true }

1.4. List Tables

Tables in the specified database configuration can be listed by opening this URL:

[ { "tableName": "ChEBI_lite_3star", "meta": { "name": "ChEBI_lite_3star", "label": "ChEBI_lite_3star", "state": "READY" }, "dbTable": { "dbSchemaName": "APP", "dbTableName": "C_CHEBI_LITE_3STAR" }, "type": "ANY_STRUCTURES", "properties": { "MD.ecfp.UpdateOnInsert": "true", "tautomerDuplicateFiltering": "false", "switchOffAllProtections": "false", "MD.ecfp.Comment": "", "fingerprint.numberOfBits": "512", "fingerprint.numberOfOnes": "2", "absoluteStereo": "true", "JChemVersion": "6.0.0", "validityTimestamp": "2013-04-15 10:40:03.858", "version": "6000000", "fingerprint.numberOfEdges": "6", "duplicateFiltering": "false", "MD.ecfp.Type": "ECFP", "fingerprint.numberOfStrucFPCols": "0", "tableType": "2", "creationTime": "2013-03-29 23:35:52.054", "ctVersion": "5120000", "mdVersion": "5120000" } } ]

This request returns a map of database structure table names and the basic JChem table information.

1.5. Table Details

Further information about the tables, such as the list of columns and column meta-data can be obtained by opening this URL:

{ "tableName": "ChEBI_lite_3star", "meta": { "name": "ChEBI_lite_3star", "label": "ChEBI_lite_3star", "state": "READY" }, "dbTable": { "dbSchemaName": "APP", "dbTableName": "C_CHEBI_LITE_3STAR" }, "type": "ANY_STRUCTURES", "properties": { "MD.ecfp.UpdateOnInsert": "true", "tautomerDuplicateFiltering": "false", "switchOffAllProtections": "false", "MD.ecfp.Comment": "", "fingerprint.numberOfBits": "512", "fingerprint.numberOfOnes": "2", "absoluteStereo": "true", "JChemVersion": "6.0.0", "validityTimestamp": "2013-04-15 10:40:03.858", "version": "6000000", "fingerprint.numberOfEdges": "6", "duplicateFiltering": "false", "MD.ecfp.Type": "ECFP", "fingerprint.numberOfStrucFPCols": "0", "tableType": "2", "creationTime": "2013-03-29 23:35:52.054", "ctVersion": "5120000", "mdVersion": "5120000" } }
Column prefixes: JChem mandatory and JChem WS imporeted columns are prefixed with cd and c, respectively.

1.6. Table Columns

The list of the available table columns and their detailed description can be obtained by opening this URL:

{ "name": "cd_id", "type": "ID", "source": "DATABASE_JCHEM", "canSort": true, "canFilter": true }, { "name": "cd_structure", "label": "JChem Structure", "state": "UNKNOWN", "type": "MOLECULE", "source": "DATABASE_JCHEM", "dbColumnName": "CD_STRUCTURE" }, { "name": "similarity", "type": "DOUBLE", "source": "PROCESS", "canSort": true }, { "name": "cd_formula", "label": "JChem Formula", "state": "UNKNOWN", "type": "TEXT", "source": "DATABASE_JCHEM", "dbColumnName": "CD_FORMULA", "canSort": true, "canFilter": true }, { "name": "cd_molweight", "label": "JChem Molecular weight", "state": "UNKNOWN", "type": "DOUBLE", "source": "DATABASE_JCHEM", "dbColumnName": "CD_MOLWEIGHT", "canSort": true, "canFilter": true }, { "name": "cd_timestamp", "label": "JChem Last modified", "state": "UNKNOWN", "type": "DATETIME", "source": "DATABASE_JCHEM", "dbColumnName": "CD_TIMESTAMP", "canSort": true, "canFilter": true }, { "name": "c_chebi_id", "label": "ChEBI ID", "state": "READY", "type": "TEXT", "source": "DATABASE_USER", "dbColumnName": "C_CHEBI_ID", "canSort": true, "canFilter": true, "canEdit": true }, { "name": "c_star", "label": "Star", "state": "READY", "type": "INTEGER", "source": "DATABASE_USER", "dbColumnName": "C_STAR", "canSort": true, "canFilter": true, "canEdit": true }, { "name": "c_chebi_name", "label": "ChEBI Name", "state": "READY", "type": "TEXT", "source": "DATABASE_USER", "dbColumnName": "C_CHEBI_NAME", "canSort": true, "canFilter": true, "canEdit": true }

Column properties

NameTypeDescription
namestring...
labelstring...
state.typestring...
state.valuesstringUNKNOWN, LOCKED or READY
type.typestring...
type.valuesstring...
source.typestring...
source.valuesstring...
dbColumnNamestring...
canSortboolean...
canFilterboolean...
canEditboolean...
listboolean...
chemicalTermsstring...
referencesunknown...
referencedByunknown...

1.7. Column Statistics

Select a name from column properties. Minimum and maximum value of the selected column can be obtained by opening this URL:

{ "column": { "columnName": "cd_id", "dbColumn": { "dbColumnName": "CD_ID", "typeName": "INT", "sqlDataType": 4, "size": 10 }, "meta": { "name": "cd_id", "label": "JChem Id", "state": "UNKNOWN" } }, "min": 1, "max": 23670 }

Search Options

2.1. Simple Search

Simple search means you can define only restricted criteria in the query. Define these search parameters in the URL after search? as Option=selected_value and separate them by & character

The URL can contain the following criteria

OptionTypeDescription
queryStructurestringDefine the query structure as SMILES string for substructure search
offsetintDefine the first displayed result
limitintDefine the number of the returned hits
searchType enum Define the search type
  • SUBSTRUCTURE (default)
  • SIMILARITY
  • FULL
  • DUPLICATE
  • SUPERSTRUCTURE
  • FULL_FRAGMENT
  • NO_ABAS
  • NO_SCREEN
chargeMatching enum
  • ON (default)
  • EXACT
  • IGNORE
stereoSearchType enum
  • EXACT
  • OFF
  • ON
  • DIASTEREOMER
  • ENANTIOMER
doubleBondStereoMatchingMode enum
  • NONE
  • MARKED (default)
  • ALL
tautomerSearch enum
  • ON
  • OFF
  • DEFAULT
  • ON_IGNORE_TAUTOMERSTEREO
threshold float Define the similarity threshold
descriptor enum Define the similarity descriptor
returnNonHits boolean Setting it to TRUE returns non-matches instead of matches to the query

The content of a table "ChEBI_lite_3star" in the configuration "sample" can be searched by the URL:

{ "data": [ { "cd_id": 11, "cd_structure": { "structureData": { "structure": "...", "format": "mrv", "contentUrl": "http://localhost:8080/rest-v0/data/sample/table/ChEBI_lite_3star/export/11?format=mrv&contentName=structure", "contentBaseUrl": "http://localhost:8080/rest-v0/data/sample/table/ChEBI_lite_3star/export/11" }, "cachekey": "struc_sample/ChEBI_lite_3star/11", "image": { "width": 300, "height": 152, "type": "png", "image": "...", "imageUrl": "http://localhost:8080/rest-v0/data/sample/table/ChEBI_lite_3star/display/11_300x152.png" }, "headers": { "structureData": { "name": "structureData", "type": "STRUCTUREDATA", "source": "GENERATED" }, "cachekey": { "name": "cachekey", "type": "TEXT", "source": "PROCESS" }, "image": { "name": "image", "type": "IMAGE", "source": "GENERATED" } } }, "cd_formula": "C47H73NO17", "cd_molweight": 924.079, "cd_timestamp": "2013-04-15T10:39:06.054+02:00", "c_chebi_id": "CHEBI:2682", "c_star": 3, "c_chebi_name": "amphotericin B" }, { "cd_id": 12, "cd_structure": { "structureData": { "structure": "...", "format": "mrv", "contentUrl": "http://localhost:8080/rest-v0/data/sample/table/ChEBI_lite_3star/export/12?format=mrv&contentName=structure", "contentBaseUrl": "http://localhost:8080/rest-v0/data/sample/table/ChEBI_lite_3star/export/12" }, "cachekey": "struc_sample/ChEBI_lite_3star/12", "image": { "width": 300, "height": 243, "type": "png", "image": "...", "imageUrl": "http://localhost:8080/rest-v0/data/sample/table/ChEBI_lite_3star/display/12_300x243.png" }, "headers": { "structureData": { "name": "structureData", "type": "STRUCTUREDATA", "source": "GENERATED" }, "cachekey": { "name": "cachekey", "type": "TEXT", "source": "PROCESS" }, "image": { "name": "image", "type": "IMAGE", "source": "GENERATED" } } }, "cd_formula": "C21H41N5O11", "cd_molweight": 539.5771, "cd_timestamp": "2013-04-15T10:39:04.717+02:00", "c_chebi_id": "CHEBI:2790", "c_star": 3, "c_chebi_name": "apramycin" } ], "headers": { "cd_id": { "name": "cd_id", "type": "ID", "source": "DATABASE_JCHEM", "canSort": true, "canFilter": true }, "cd_structure": { "name": "cd_structure", "label": "JChem Structure", "state": "UNKNOWN", "type": "MOLECULE", "source": "DATABASE_JCHEM", "dbColumnName": "CD_STRUCTURE" }, "cd_formula": { "name": "cd_formula", "label": "JChem Formula", "state": "UNKNOWN", "type": "TEXT", "source": "DATABASE_JCHEM", "dbColumnName": "CD_FORMULA", "canSort": true, "canFilter": true }, "cd_molweight": { "name": "cd_molweight", "label": "JChem Molecular weight", "state": "UNKNOWN", "type": "DOUBLE", "source": "DATABASE_JCHEM", "dbColumnName": "CD_MOLWEIGHT", "canSort": true, "canFilter": true }, "cd_timestamp": { "name": "cd_timestamp", "label": "JChem Last modified", "state": "UNKNOWN", "type": "DATETIME", "source": "DATABASE_JCHEM", "dbColumnName": "CD_TIMESTAMP", "canSort": true, "canFilter": true }, "c_chebi_id": { "name": "c_chebi_id", "label": "ChEBI ID", "state": "READY", "type": "TEXT", "source": "DATABASE_USER", "dbColumnName": "C_CHEBI_ID", "canSort": true, "canFilter": true, "canEdit": true }, "c_star": { "name": "c_star", "label": "Star", "state": "READY", "type": "INTEGER", "source": "DATABASE_USER", "dbColumnName": "C_STAR", "canSort": true, "canFilter": true, "canEdit": true }, "c_chebi_name": { "name": "c_chebi_name", "label": "ChEBI Name", "state": "READY", "type": "TEXT", "source": "DATABASE_USER", "dbColumnName": "C_CHEBI_NAME", "canSort": true, "canFilter": true, "canEdit": true }, "key2": { "name": "key2", "label": "key2", "state": "READY", "type": "INTEGER", "source": "DATABASE_USER", "dbColumnName": "C_KEY2", "canSort": true, "canFilter": true, "canEdit": true }, "key1": { "name": "key1", "label": "key1", "state": "READY", "type": "TEXT", "source": "DATABASE_USER", "dbColumnName": "C_KEY1", "canSort": true, "canFilter": true, "canEdit": true } }, "request": { "paging": { "offset": 10, "limit": 2 } }, "hasMore": true, "total": 23682, "currentSize": 2, "currentOffset": 10 }

The result of this request displays the 11th and the 12th molecule in the table.

2.2. Advanced Search

If more complex query parameters are needed or the query URL does not fit in the standard URL length, the complex query can be used in which the parameters are posted as JSON message.

{ "searchOptions": { "queryStructure": "CCCCCC", "searchType": "SIMILARITY", "similarity": { "descriptor": "CFP", "threshold": 0.01 } }, "filter": { "conditions": { "cd_id":{"$lt":1560}, "$or":[ {"cd_molweight":{"$between":[390,400]}}, {"cd_molweight":{"$between":[580,600]}} ] }, "orderBy": "-cd_id" }, "paging": { "offset": 0, "limit": 10 }, "display": { "include": ["cd_id", "cd_molweight"], "additionalFields": { "logp": "chemicalTerms(logp)" } } }
{ "data": [ { "cd_id": 1557, "cd_molweight": 398.4953, "similarity": 0.023715436, "logp": 2.360508191 }, { "cd_id": 1556, "cd_molweight": 587.3258, "similarity": 0.021352291, "logp": -3.833478005264744 }, { "cd_id": 1538, "cd_molweight": 396.6484, "similarity": 0.08333331, "logp": 6.632406989000003 }, { "cd_id": 1448, "cd_molweight": 395.339, "similarity": 0.02803737, "logp": { "error": { "errorCode": 0, "errorMessage": "Error while evaluating expression:\nlogp\r\n Calculation result is not defined for query molecules.", "rootCause": "chemaxon.nfunk.jep.ParseException" } } }, { "cd_id": 1426, "cd_molweight": 584.6621, "similarity": 0.020477831, "logp": 0.629440565880877 }, { "cd_id": 1424, "cd_molweight": 599.4166, "similarity": 0.021505356, "logp": { "error": { "errorCode": 0, "errorMessage": "Error while evaluating expression:\nlogp\r\n Calculation result is not defined for query molecules.", "rootCause": "chemaxon.nfunk.jep.ParseException" } } }, { "cd_id": 1415, "cd_molweight": 596.7126, "similarity": 0.029411793, "logp": 5.71713997719757 }, { "cd_id": 1397, "cd_molweight": 392.572, "similarity": 0.13043475, "logp": 3.7133055236666674 }, { "cd_id": 1305, "cd_molweight": 594.5181, "similarity": 0.025210083, "logp": -1.821467417 }, { "cd_id": 1283, "cd_molweight": 599.4933, "similarity": 0.03821659, "logp": { "error": { "errorCode": 0, "errorMessage": "Error while evaluating expression:\nlogp\r\n Calculation result is not defined for query molecules.", "rootCause": "chemaxon.nfunk.jep.ParseException" } } } ], "headers": { "cd_id": { "name": "cd_id", "label": "JChem Id", "state": "UNKNOWN", "type": "ID", "source": "DATABASE_JCHEM", "dbColumnName": "CD_ID", "canSort": true, "canFilter": true }, "cd_molweight": { "name": "cd_molweight", "label": "JChem Molecular weight", "state": "UNKNOWN", "type": "DOUBLE", "source": "DATABASE_JCHEM", "dbColumnName": "CD_MOLWEIGHT", "canSort": true, "canFilter": true }, "similarity": { "name": "similarity", "type": "DOUBLE", "source": "PROCESS", "canSort": true }, "logp": { "name": "logp", "type": "COMPLEX", "source": "CALCULATOR" } }, "request": { "searchOptions": { "searchType": "SIMILARITY", "similarity": { "threshold": 0.01 }, "queryStructure": "CCCCCC" }, "filter": { "conditions": { "cd_id": { "$lt": 1560 }, "$or": [ { "cd_molweight": { "$between": [ 390, 400 ] } }, { "cd_molweight": { "$between": [ 580, 600 ] } } ] }, "orderBy": "-cd_id" }, "display": { "include": [ "cd_id", "cd_molweight" ], "additionalFields": { "logp": "chemicalTerms(logp)" } }, "paging": { "offset": 0, "limit": 10 } }, "hasMore": true, "total": 36, "currentSize": 10, "currentOffset": 0 }

The result contains the requested parameters and the total number of hits after the data section.

Available Advanced Search Options (searchOptions)

Generated documentation is not available in static mode.

Display Options (display)

Generated documentation is not available in static mode.

Advanced Filter Conditions (filter.conditions)

The following criteria types supported for the sortable fileds ("sortable": true):

OperatorUsageDescription
$and{"$and":[{CRIT1},{CRIT2},...]}Joins the conditions and returns rows matching all of the criterias
$or{"$or":[{CRIT1},{CRIT2},...]}Joins the conditions and returns rows matching of either the criterias
$not{"$not":{CRIT}}Inverts the provided criteria and returns rows do NOT match
$in{"field":{"$in":[value1,value2,...]}}Matches any of the values that exist in an array specified in the criteria
$nin{"field":{"$nin":[value1,value2,...]}}Matches values that do NOT exist in an array specified to the criteria
$between{"field":{"$between":[value1,value2]}}Matches values that are between the 2 values specified in the criteria
$eq{"field":{"$eq":value}}Matches values that are equal the value specified in the criteria (case sensitive)
$eq{"field":{"$eqIc":value}}Matches values that are equal ignore case the value specified in the criteria (case insensitive)
$lt{"field":{"$lt":value}}Matches values that are less than the value specified in the criteria
$le,$lte{"field":{"$le":value}}Matches values that are less than or equal the value specified in the criteria
$gt{"field":{"$ge":value}}Matches values that are greater than the value specified in the criteria
$ge,$gte{"field":{"$gt":value}}Matches values that are greater than or equal the value specified in the criteria
$startsWith{"field":{"$startsWith":value}}Matches values that start with the value specified in the criteria (case insensitive)
$endsWith{"field":{"$endsWith":value}}Matches values that end with the value specified in the criteria (case insensitive)
$contains{"field":{"$contains":value}}Matches values that contain the value specified in the criteria (case insensitive)

3. Export Data

3.1. Simple Data Export

Simple data export means you can define only restricted criteria for export. Define export parameters in the URL similar way as in Simple Search, and define the data format similarly.

Data export is supported in the following formats:
FormatDescription
sdfSD file format contains structures plus data fields for those structures, this format is recommended for most transfers
smilesContains structures as a text (SMILES) string
tsv and csvContains structures as SMILES string, and tab (tsv) or comma (csv) separated properties
mrvChemAxon's XML based Marvin file format that contains structures plus data fields for those structures
xlsxMicrosoft Excel workbook
xlsx:jchemJChem for Excel workbook

The content of a table "ChEBI_lite_3star" in the configuration "sample" can be exported by the URL:

NOTE: xlsx format is not supported by JSON, the response window below will not display the results
[H][C@]12C[C@@H](O[C@@H]3O[C@H](C)[C@@H](O)[C@H](N)[C@@H]3O)\C=C\C=C\C=C\C=C\C=C\C=C\C=C\[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]1C(O)=O)O2 [H][C@]12C[C@@H](N)[C@@H](O[C@@H]3[C@@H](N)C[C@@H](N)[C@H](O)[C@H]3O)O[C@]1([H])[C@H](O)[C@H](NC)[C@@H](O[C@H]1O[C@H](CO)[C@@H](N)[C@H](O)[C@H]1O)O2

The result of this request exports the 11th and 12th molecule in the table.

3.2. Advanced Data Export

If more complex export parameters are needed or the query URL does not fit in the standard URL length, parameters are posted as JSON message.

Setting export format in POST request: {"format": "selected_format"}
NOTE: xlsx format is not supported by JSON, the response window below will not display the results

{ "searchOptions": { "queryStructure": "CCCCCC", "dissimilarityThreshold": 0.5, "searchMode": "SUBSTRUCTURE" }, "filter": { "simpleConditions": "cd_id;lt;200", "orderBy": "-cd_id" }, "paging": { "offset": 0, "limit": 10 }, "format": "smiles" }
CC(=O)O[C@@H]1O[C@H](CO)[C@@H](O[C@H]2O[C@H](CO)[C@@H](O)[C@H](O)[C@H]2O)[C@H](O)[C@H]1O [H][C@@](COC([*])=O)(COP(O)(=O)O[C@@H]1[C@H](O)[C@H](O)[C@@H](O)[C@H](O)[C@H]1O[C@H]1O[C@H](CO)[C@@H](O)[C@H](O)[C@H]1NC(C)=O)OC([*])=O [H][C@@]1(CC[C@@]2([H])[C@]3([H])[C@H](O)C[C@]4([H])C[C@H](O)CC[C@]4(C)[C@@]3([H])CC(=O)[C@]12C)[C@H](C)CCC([O-])=O CC(=O)N[C@@H]1[C@@H](O)[C@H](O)[C@@H](CO)O[C@H]1O[C@H]1[C@H](O)[C@H](O[C@@H]2O[C@H](CO)[C@@H](O)[C@H](O)[C@H]2NC(C)=O)[C@@H](O[C@@H]2[C@H](O)[C@H](-*)O[C@H](CO)[C@H]2O)O[C@@H]1CO OCC(=O)[C@@H](O)[C@H](O)C(=O)C([O-])=O [H][C@@]12C[C@@H](OC(C)=O)[C@@](C)([C@@]11CO1)[C@@]1(C)CCC(C)=C[C@@]1([H])O2 [H][C@@]1(OC(=O)C(\C)=C/C)[C@@H](OC(=O)CCCCCCC)[C@@]2([H])C(=C1C)[C@]1([H])OC(=O)[C@@](C)(O)[C@@]1(O)[C@H](C[C@]2(C)OC(C)=O)OC(=O)CCC [H][C@@]1(CC[C@@]2([H])[C@]3([H])[C@H](O)C[C@]4([H])C[C@H](O)CC[C@]4(C)[C@@]3([H])CC[C@]12C)[C@H](C)CCC(=O)NCCS([O-])(=O)=O CCCN(CC)CC1COC2(CCC(CC2)C(C)(C)C)O1 [H][C@@]1(C[C@@H](C)[C@]2([H])CC(=O)[C@H](C)\C=C(C)\[C@@H](O)[C@@H](OC)C(=O)[C@H](C)C[C@H](C)\C=C\C=C\C=C(C)\[C@H](C[C@]3([H])CC[C@@H](C)[C@@](O)(O3)C(=O)C(=O)N3CCCC[C@@]3([H])C(=O)O2)OC)CC[C@@H](O)[C@@H](C1)OC

3.3. Export URL Generator For Download

Send a POST request to generate a download URL for export data with complex query parameters:

{ "searchOptions": { "queryStructure": "CCCCCC", "dissimilarityThreshold": 0.5, "searchMode": "SUBSTRUCTURE" }, "filter": { "simpleConditions": "cd_id;lt;200", "orderBy": "-cd_id" }, "paging": { "offset": 0, "limit": 10 }, "format": "sdf" }
"http://restdemo.chemaxon.com/rest-v0/data/sample/table/ChEBI_lite_3star/export/c9ce1514-39be-44eb-989b-e63b0c217dda"

4. View Properties

4.1. Simple Properties View (from table)

The structure, name and calculated property related details of a molecule can be retrived through the detail URL.

Specify the table name and the chosen molecule CD_ID and the GET command returns all the available properties.

{ "mrv": "...", "image": { "width": 400, "height": 196, "type": "png", "image": "...", "imageLink": "http://localhost:8080/rest-v0/data/sample/table/ChEBI_lite_3star/display/192_400x0.png" }, "format": { "headers": { "common": { "name": "common", "type": "TEXT", "source": "CALCULATOR", "list": true }, "iupac": { "name": "iupac", "type": "TEXT", "source": "CALCULATOR" }, "smiles": { "name": "smiles", "type": "TEXT", "source": "CALCULATOR" }, "inchi": { "name": "inchi", "type": "TEXT", "source": "CALCULATOR" } }, "common": [ "HSCoA", "coenzym A" ], "iupac": "{[(2R,3S,4R,5R)-5-(6-amino-9H-purin-9-yl)-4-hydroxy-2-({[hydroxy({hydroxy[(3R)-3-hydroxy-2,2-dimethyl-3-({2-[(2-sulfanylethyl)carbamoyl]ethyl}carbamoyl)propoxy]phosphoryl}oxy)phosphoryl]oxy}methyl)oxolan-3-yl]oxy}phosphonic acid", "smiles": "CC(C)(COP(O)(\u003dO)OP(O)(\u003dO)OC[C@H]1O[C@H]([C@H](O)[C@@H]1OP(O)(O)\u003dO)N1C\u003dNC2\u003dC1N\u003dCN\u003dC2N)[C@@H](O)C(\u003dO)NCCC(\u003dO)NCCS", "inchi": "InChI\u003d1S/C21H36N7O16P3S/c1-21(2,16(31)19(32)24-4-3-12(29)23-5-6-48)8-41-47(38,39)44-46(36,37)40-7-11-15(43-45(33,34)35)14(30)20(42-11)28-10-27-13-17(22)25-9-26-18(13)28/h9-11,14-16,20,30-31,48H,3-8H2,1-2H3,(H,23,29)(H,24,32)(H,36,37)(H,38,39)(H2,22,25,26)(H2,33,34,35)/t11-,14-,15-,16+,20-/m1/s1" } }

4.2. Advanced Properties View (from table)

Advanced options for setting property calculation parameters through the POST request.

Properties
4.2.1. pKa
4.2.2. logP
4.2.3. logD
4.2.4. Isoelectric point
4.2.5. Major microspecies
4.2.6. Charge
4.2.7. Polarizability
4.2.8. Polar surface area
4.2.9. Geometry
4.2.10. Stereoisomer
4.2.11. Tautomer
4.2.12. HBDA
4.2.13. Elemental analysis
4.2.14. Chemical format
4.2.15. Topology analysis
4.2.16. Solubility
4.2.17. Alignment
4.2.18. Conformer
4.2.19. HLB
4.2.20. Binary descriptor (structure fingerprint)
4.2.21. Largest conjugated system

4.2.1. List of pKa parameters

NameTypeDescription
pHLowerdoubleThe following options set the range of displaying the microspecies
The results can be visualized in a table format and a chart display example
pH lower defines the lower end of the pH window in which pKa is calculated, default value is 0
pHUpperdoublepHUpper defines the upper end of the pH window in which pKa is calculated, default value is 14
pHStepdoubleIt defines the pH step size by which pKa calculation is incremented (pH values start from the lower limit), default value is 0.1
temperaturedoubleIt sets the temperature in Kelvin, default is 298
microbooleanMicro pKa is for multiprotic compounds, the value of micro is true if micro acidic dissociation constant calculation is required for all microspecies.
Default is false see description of micro pKa
considerTautomerizationbooleanUsed in case of tautomer structures
If set to true, all dominant tautomers are considered to be subject of the pKa calculation. Default value is false
pKaLowerLimitdoubleOption which enables to widen the pKa calculation range because weak bases may have lower pKa values than the default -10
pKaUpperLimitdoubleOption which enables to widen the pKa calculation range because weak acids may have higher pKa values than the default 20
prefix string
  • STATIC submitted ionic forms are converted to their neutral forms (adding or removing protons) when their pKa is calculated
  • DYNAMIC during the process of the pKa calculation, the submitted ionic forms are not converted to their neutral forms, dynamic is default

POST request example with default pKa parameters:

{ "include": ["cd_id","pKa"], "parameters":{ "pKa": { "pHLower": 0.0, "pHUpper": 14.0, "pHStep": 0.1, "temperature": 298.0, "micro": false, "considerTautomerization": true, "pKaLowerLimit": -20.0, "pKaUpperLimit": 10.0, "prefix": "DYNAMIC" } } }
{ "pKa": { "headers": { "result": { "name": "result", "type": "MOLECULE", "source": "CALCULATOR" }, "hasFurtherMicrospecies": { "name": "hasFurtherMicrospecies", "type": "BOOLEAN", "source": "CALCULATOR" }, "microspecies": { "name": "microspecies", "type": "MOLECULE", "source": "CALCULATOR", "list": true }, "chartData": { "name": "chartData", "type": "CHART", "source": "CALCULATOR", "list": true } }, "result": { "headers": { "structureData": { "name": "structureData", "type": "STRUCTUREDATA", "source": "GENERATED" }, "cachekey": { "name": "cachekey", "type": "TEXT", "source": "PROCESS" }, "image": { "name": "image", "type": "IMAGE", "source": "GENERATED" } }, "structureData": { "structure": "xml file..." "format": "mrv", "contentUrl": "http://restdemo.chemaxon.com/rest-v0/util/export/struc_3657dfc7d12687628bbe806b2e78bb52?format=mrv&contentName=structure", "contentBaseUrl": "http://restdemo.chemaxon.com/rest-v0/util/export/struc_3657dfc7d12687628bbe806b2e78bb52" }, "cachekey": "struc_3657dfc7d12687628bbe806b2e78bb52", "image": { "width": 300, "height": 133, "type": "png", "image": "..." "imageUrl": "http://restdemo.chemaxon.com/rest-v0/util/display/struc_3657dfc7d12687628bbe806b2e78bb52_300x133.png" } }, "hasFurtherMicrospecies": true, "microspecies": [ { "headers": { "structureData": { "name": "structureData", "type": "STRUCTUREDATA", "source": "GENERATED" }, "cachekey": { "name": "cachekey", "type": "TEXT", "source": "PROCESS" }, "image": { "name": "image", "type": "IMAGE", "source": "GENERATED" }, "key": { "name": "key", "type": "TEXT", "source": "CALCULATOR" } }, "structureData": { "structure": "xml file..." "format": "mrv", "contentUrl": "http://restdemo.chemaxon.com/rest-v0/util/export/struc_9c380bee21454966278e1ada1c299b03?format=mrv&contentName=structure", "contentBaseUrl": "http://restdemo.chemaxon.com/rest-v0/util/export/struc_9c380bee21454966278e1ada1c299b03" }, "cachekey": "struc_9c380bee21454966278e1ada1c299b03", "image": { "width": 300, "height": 36, "type": "png", "image": "..." "imageUrl": "http://restdemo.chemaxon.com/rest-v0/util/display/struc_9c380bee21454966278e1ada1c299b03_300x36.png" }, "key": "microspecies1" } ], "chartData": [ { "key": "microspecies1", "xAxis": "pH", "yAxis": "concentration", "yMin": 0.000001, "yMax": 1, "values": [ { "pH": 0, "concentration": 1 }, { "pH": 0.1, "concentration": 1 }, ........................ { "pH": 14, "concentration": 0.000001 } ] } ] }, "cd_id": 4, "headers": { "pKa": { "name": "pKa", "type": "COMPLEX", "source": "CALCULATOR" }, "cd_id": { "name": "cd_id", "label": "JChem Id", "state": "UNKNOWN", "type": "ID", "source": "DATABASE_JCHEM", "dbColumnName": "CD_ID", "canSort": true, "canFilter": true } } }

Back to Properties list

4.2.2. List of logP parameters

Option Type Description
showIncrements BOOLEAN default: true
method STRING default: CHEMAXON
  • CHEMAXON : This method is based on ChemAxon's own logP model, which is based on the VG method (derived from Viswanadhan et al.).
  • CONSENSUS : This method uses a consensus model built on the ChemAxon and Klopman et al. models and the PhysProp database.
  • KLOP: DEPRECATED logP data from Klopman's paper is applied (Klopman et al: J.Chem.Inf.Comput.Sci., 1994, 34, 752)
  • PHYS: DEPRECATED logP data from PHYSPROP© database is used
  • VG: DEPRECATED The calculation method described by Viswanadhan and Ghose is applied (Viswanadhan et al: J. Chem. Inf. Comput. Sci., 1989, 29, 163-172)
  • WEIGHTED : DEPRECATED The use of the above described methods can be melted by the user by setting the proportion of the methods used in the calculations (selecting weighted turns the Method weights section active) The three methods are equally weighted (1/3) by the default setting. The calculated logP in this way will be the arithmetic average of the three methods. The weighted method usually provides more reliable logP value than any one of the three separate methods.
weightVG DOUBLE default: 1.0
DEPRECATED The proportion of VG method can be set when weighted method is chosen.
weightKLOP DOUBLE default: 1.0
DEPRECATED The proportion of KLOP method can be set when weighted method is chosen.
weightPHYS DOUBLE default: 1.0
DEPRECATED The proportion of PHYS method can be set when weighted method is chosen.
clConcentration DOUBLE default: 0.1
Cl- concentration can be set between 0.1 and 0.25 mol/L.
nakConcentration DOUBLE default: 0.1
Na+Cl- concentration can be set between 0.1 and 0.25 mol/L.
considerTautomerization BOOLEAN default: false
Used in case of tautomer structures. If set to true, all dominant tautomers are taken into account during the logP calculation.

POST request example with default logP parameters:

{ "include": ["cd_id","logP"], "parameters":{ "logP": { "method": "CHEMAXON", "Cl": 0.1, "NaK": 0.1, "considerTautomerization": false } } }
{ "logP": { "headers": { "logpnonionic": { "name": "logpnonionic", "type": "DOUBLE", "source": "CALCULATOR" }, "logdpi": { "name": "logdpi", "type": "DOUBLE", "source": "CALCULATOR" }, "result": { "name": "result", "type": "MOLECULE", "source": "CALCULATOR" } }, "logpnonionic": 14.712682097, "logdpi": { "isNaN": true }, "result": { "headers": { "structureData": { "name": "structureData", "type": "STRUCTUREDATA", "source": "GENERATED" }, "cachekey": { "name": "cachekey", "type": "TEXT", "source": "PROCESS" }, "image": { "name": "image", "type": "IMAGE", "source": "GENERATED" } }, "structureData": { "structure": "xml format..." "format": "mrv", "contentUrl": "http://restdemo.chemaxon.com/rest-v0/util/export/struc_9ab96f4e4337ca060f8b6ead1ea44622?format=mrv&contentName=structure", "contentBaseUrl": "http://restdemo.chemaxon.com/rest-v0/util/export/struc_9ab96f4e4337ca060f8b6ead1ea44622" }, "cachekey": "struc_9ab96f4e4337ca060f8b6ead1ea44622", "image": { "width": 300, "height": 139, "type": "png", "image": "..." "imageUrl": "http://restdemo.chemaxon.com/rest-v0/util/display/struc_9ab96f4e4337ca060f8b6ead1ea44622_300x139.png" } } }, "cd_id": 4, "headers": { "logP": { "name": "logP", "type": "COMPLEX", "source": "CALCULATOR" }, "cd_id": { "name": "cd_id", "label": "JChem Id", "state": "UNKNOWN", "type": "ID", "source": "DATABASE_JCHEM", "dbColumnName": "CD_ID", "canSort": true, "canFilter": true } } }

Back to Properties list

4.2.3. List of logD parameters

Option Type Description
pHLower DOUBLE default: 0.0
Defines the lower limit of the pH window in which the logD is calculated.
pHUpper DOUBLE default: 14.0
Defines the upper limit of the pH window in which the logD is calculated.
pHStep DOUBLE default: 0.1
Defines the pH step size by which the logD calculation is incremented.
method STRING default: CHEMAXON
  • CHEMAXON: This method is based on ChemAxon's own logP model, which is based on the VG method (derived from Viswanadhan et al.).
  • CONSENSUS: This method uses a consensus model built on the ChemAxon and Klopman et al. models and the PhysProp database.
  • KLOP: DEPRECATED logP data from Klopman's paper is applied (Klopman et al: J.Chem.Inf.Comput.Sci., 1994, 34, 752)
  • PHYS: DEPRECATED logP data from PHYSPROP© database is used
  • VG: DEPRECATED The calculation method described by Viswanadhan and Ghose is applied (Viswanadhan et al: J. Chem. Inf. Comput. Sci., 1989, 29, 163-172)
  • WEIGHTED: DEPRECATED The use of the above described methods can be melted by the user by setting the proportion of the methods used in the calculations (selecting weighted turns the Method weights section active) The three methods are equally weighted (1/3) by the default setting. The calculated logP in this way will be the arithmetic average of the three methods. The weighted method usually provides more reliable logP value than any one of the three separate methods.
weightVG DOUBLE default: 1.0
DEPRECATED The proportion of VG method can be set when weighted method is chosen.
weightKLOP DOUBLE default: 1.0
DEPRECATED The proportion of KLOP method can be set when weighted method is chosen.
weightPHYS DOUBLE default: 1.0
DEPRECATED The proportion of PHYS method can be set when weighted method is chosen.
clConcentration DOUBLE default: 0.1
Cl- concentration can be set between 0.1 and 0.25 mol/L.
nakConcentration DOUBLE default: 0.1
Na+Cl- concentration can be set between 0.1 and 0.25 mol/L.
considerTautomerization BOOLEAN default: false
Used in case of tautomer structures. If set to true, all dominant tautomers are taken into account during the logP calculation.

POST request example with default logD parameters:

{ "include": ["cd_id","logD"], "parameters":{ "logD": { "pHLower": 0.0, "pHUpper": 14.0, "pHStep": 0.1, "method": "CHEMAXON", "Cl": 0.1, "NaK": 0.1, "considerTautomerization": false } } }
{ "logD": { "headers": { "logD": { "name": "logD", "type": "DOUBLE", "source": "CALCULATOR" }, "chartData": { "name": "chartData", "type": "CHART", "source": "CALCULATOR" } }, "logD": 14.71268209673166, "chartData": { "key": "logD", "xAxis": "pH", "yAxis": "logD", "yMin": 11.2349, "yMax": 14.7127, "values": [ { "pH": 0, "logD": 14.7127 }, { "pH": 0.1, "logD": 14.7127 }, ........................... { "pH": 14, "logD": 11.2349 } ] } }, "cd_id": 4, "headers": { "logD": { "name": "logD", "type": "COMPLEX", "source": "CALCULATOR" }, "cd_id": { "name": "cd_id", "label": "JChem Id", "state": "UNKNOWN", "type": "ID", "source": "DATABASE_JCHEM", "dbColumnName": "CD_ID", "canSort": true, "canFilter": true } } }

Back to Properties list

4.2.4. List of isoelectricPoint parameters

NameTypeDescription
pHStepdoubleIsoelectric point plugin calculates gross charge distribution of a molecule as function of pH.
Net charge of an ionizable molecule is zero at a certain pH, this pH is called the isoelectric point.
It sets the pH step size of the calculation, default is 0.1
doublePrecisionintSets the number of decimal places with which the result value is given, default is 2

POST request example with default isoelectricPoint parameters:

{ "include": ["cd_id","isoelectricPoint"], "parameters":{ "isoelectricPoint": { "pHStep": 0.1, "doublePrecision": 2 } } }
{ "isoelectricPoint": { "headers": { "hasIsoelectricPoint": { "name": "hasIsoelectricPoint", "type": "BOOLEAN", "source": "CALCULATOR" } }, "hasIsoelectricPoint": false }, "cd_id": 4, "headers": { "isoelectricPoint": { "name": "isoelectricPoint", "type": "COMPLEX", "source": "CALCULATOR" }, "cd_id": { "name": "cd_id", "label": "JChem Id", "state": "UNKNOWN", "type": "ID", "source": "DATABASE_JCHEM", "dbColumnName": "CD_ID", "canSort": true, "canFilter": true } } }

Back to Properties list

4.2.5. List of majorMicrospecies parameters

3.14.5. List of majorMicrospecies parameters

NameTypeDescription
pHdoubleMajor microspecies determines the major protonation form at a specified pH. It sets the pH, default is 7.4
takeMajorTautomericFormbooleanIf tautomeric forms are more likely to occur, tha major tautomer is used to calculate the major microspecies. Default is set to false

POST request example with default majorMicrospecies parameters:

{ "include": ["cd_id","majorMicrospecies"], "parameters":{ "majorMicrospecies": { "pH": 7.4, "takeMajorTautomericForm": false } } }
{ "majorMicrospecies": { "headers": { "result": { "name": "result", "type": "MOLECULE", "source": "CALCULATOR" } }, "result": { "headers": { "structureData": { "name": "structureData", "type": "STRUCTUREDATA", "source": "GENERATED" }, "cachekey": { "name": "cachekey", "type": "TEXT", "source": "PROCESS" }, "image": { "name": "image", "type": "IMAGE", "source": "GENERATED" } }, "structureData": { "structure": "xml file..." "format": "mrv", "contentUrl": "http://restdemo.chemaxon.com/rest-v0/util/export/struc_4545754838bb243173ee5eec4816e9b1?format=mrv&contentName=structure", "contentBaseUrl": "http://restdemo.chemaxon.com/rest-v0/util/export/struc_4545754838bb243173ee5eec4816e9b1" }, "cachekey": "struc_4545754838bb243173ee5eec4816e9b1", "image": { "width": 300, "height": 36, "type": "png", "image": "...", "imageUrl": "http://restdemo.chemaxon.com/rest-v0/util/display/struc_4545754838bb243173ee5eec4816e9b1_300x36.png" } } }, "cd_id": 4, "headers": { "majorMicrospecies": { "name": "majorMicrospecies", "type": "COMPLEX", "source": "CALCULATOR" }, "cd_id": { "name": "cd_id", "label": "JChem Id", "state": "UNKNOWN", "type": "ID", "source": "DATABASE_JCHEM", "dbColumnName": "CD_ID", "canSort": true, "canFilter": true } } }

Back to Properties list

4.2.6. List of charge parameters

NameTypeDescription
type enum Charge computes the partial charge value of each atom
  • TOTAL Total charge is calculated from sigma and pi charge components, total is default
  • SIGMA Set to sigma charge calculation PI Set to pi charge calculation
implicitHydrogensbooleanShows in detail the increments of the charge by the implicit hydrogens, default is true
takeResonantStructuresbooleanIf set to true (default), the average of the charge of the resonant srtuctures will be calculated
takeMicrospeciesbooleanIf set to true, the charge of the major microspecies at the given pH will be presented. Default is false
pHdoubleIf takeMicrospecies is set to true, it determines the pH at which it is displayed, default value is 7.4

POST request example with default charge parameters:

{ "include": ["cd_id","charge"], "parameters":{ "charge": { "type": "TOTAL", "implicitHydrogens": true, "takeResonantStructures": true, "takeMicrospecies": false } } }
{ "charge": { "headers": { "result": { "name": "result", "type": "MOLECULE", "source": "CALCULATOR" } }, "result": { "headers": { "structureData": { "name": "structureData", "type": "STRUCTUREDATA", "source": "GENERATED" }, "cachekey": { "name": "cachekey", "type": "TEXT", "source": "PROCESS" }, "image": { "name": "image", "type": "IMAGE", "source": "GENERATED" } }, "structureData": { "structure":"xml file..." "format": "mrv", "contentUrl": "http://restdemo.chemaxon.com/rest-v0/util/export/struc_4cab59d8c75b78a21505091836739373?format=mrv&contentName=structure", "contentBaseUrl": "http://restdemo.chemaxon.com/rest-v0/util/export/struc_4cab59d8c75b78a21505091836739373" }, "cachekey": "struc_4cab59d8c75b78a21505091836739373", "image": { "width": 300, "height": 135, "type": "png", "image": "..." "imageUrl": "http://restdemo.chemaxon.com/rest-v0/util/display/struc_4cab59d8c75b78a21505091836739373_300x135.png" } } }, "cd_id": 4, "headers": { "charge": { "name": "charge", "type": "COMPLEX", "source": "CALCULATOR" }, "cd_id": { "name": "cd_id", "label": "JChem Id", "state": "UNKNOWN", "type": "ID", "source": "DATABASE_JCHEM", "dbColumnName": "CD_ID", "canSort": true, "canFilter": true } } }

Back to Properties list

4.2.7. List of polarizability parameters

NameTypeDescription
geom3DbooleanIf set to true, it calculates the polarization tensor values in 3D. Default is false
takeMajorMicrospeciesbooleanIf set to true, the polarizability of major microspecies at the given pH is calculated. Default (false) calculates polarizability of the neutral form
pHdoubleIf takeMajorMicrospecies is set to true, it determines the pH at which it is displayed, default value is 7.4

POST request example with default polarizability parameters:

{ "include": ["cd_id","polarizability"], "parameters":{ "polarizability": { "geom3D": false, "takeMajorMicrospecies": false } } }
{ "polarizability": { "headers": { "molecularPolarizability": { "name": "molecularPolarizability", "type": "DOUBLE", "source": "CALCULATOR" }, "result": { "name": "result", "type": "MOLECULE", "source": "CALCULATOR" } }, "molecularPolarizability": 83.50760136670209, "result": { "headers": { "structureData": { "name": "structureData", "type": "STRUCTUREDATA", "source": "GENERATED" }, "cachekey": { "name": "cachekey", "type": "TEXT", "source": "PROCESS" }, "image": { "name": "image", "type": "IMAGE", "source": "GENERATED" } }, "structureData": { "structure":"..." "format": "mrv", "contentUrl": "http://restdemo.chemaxon.com/rest-v0/util/export/struc_ef5373bd38135c1e72fd46e9be0100e3?format=mrv&contentName=structure", "contentBaseUrl": "http://restdemo.chemaxon.com/rest-v0/util/export/struc_ef5373bd38135c1e72fd46e9be0100e3" }, "cachekey": "struc_ef5373bd38135c1e72fd46e9be0100e3", "image": { "width": 300, "height": 137, "type": "png", "image": "..." "imageUrl": "http://restdemo.chemaxon.com/rest-v0/util/display/struc_ef5373bd38135c1e72fd46e9be0100e3_300x137.png" } } }, "cd_id": 4, "headers": { "polarizability": { "name": "polarizability", "type": "COMPLEX", "source": "CALCULATOR" }, "cd_id": { "name": "cd_id", "label": "JChem Id", "state": "UNKNOWN", "type": "ID", "source": "DATABASE_JCHEM", "dbColumnName": "CD_ID", "canSort": true, "canFilter": true } } }

Back to Properties list

4.2.8. List of polarSurfaceArea parameters

NameTypeDescription
excludePhosphorusbooleanPolar surface area (PSA) is formed by the polar atoms of the molecule.
It is a descriptor that shows good correlation with passive molecular transport through membranes.
The TPSA value can be calculated both for the neutral form and the major microspecies.
If set to true (default), it excludes phosphorus atoms from calculation
excludeSulfurbooleanIf set to true (default), it excludes sulfur atoms from calculation
takeMajorMicrospeciesbooleanIf set to true, the structure of the major form at the given pH is displayed. Default value is false
pHdoubleIf takeMajorMicrospecies is set to true, it determines the pH at which it is displayed, default value is 7.4

POST request example with default polarSurfaceArea parameters:

{ "include": ["cd_id","polarSurfaceArea"], "parameters":{ "polarSurfaceArea": { "excludePhosphorus": true, "excludeSulfur": true, "takeMajorMicrospecies": false } } }
{ "polarSurfaceArea": { "headers": { "polarSurfaceArea": { "name": "polarSurfaceArea", "type": "DOUBLE", "source": "CALCULATOR" } }, "polarSurfaceArea": 40.46 }, "cd_id": 4, "headers": { "polarSurfaceArea": { "name": "polarSurfaceArea", "type": "COMPLEX", "source": "CALCULATOR" }, "cd_id": { "name": "cd_id", "label": "JChem Id", "state": "UNKNOWN", "type": "ID", "source": "DATABASE_JCHEM", "dbColumnName": "CD_ID", "canSort": true, "canFilter": true } } }

Back to Properties list

4.2.9. List of geometry parameters

NameTypeDescription
unit string
  • KCAL_PER_MOL gives energy values in kcal/mol
  • KJ_PER_MOL gives energy values in kJ/mol, default
radiusScaleFactordoubleAtom radii from the periodic system are multiplied by this number. Default value is 1
MMFF94OptimizationbooleanIf set to true, the structure is optimized before MMFF94 energy calculation, default is false
(MMFF94 energy calculates the energy related to the 3D structure conformation of the molecule using MMFF94 force field)
projectionOptimizationbooleanIf set to true, the structure is optimized before projection area and projection radius calculation(s). Default is false
lowestEnergyConformerType string Sets the condition for lowest energy conformer calculation before geometry calculations are processed
  • IF2D the lowest energy conformer of the 2D molecule is generated, and its parameters calculated, default
  • NEVER the input molecule is used for calculation
  • ALWAYS always calculate with the lowest energy conformer
optimizationLimit string
  • VERY_LOOSE
  • NORMAL Default
  • STRICT
  • VERY_STRICT

POST request example with default geometry parameters:

{ "include": ["cd_id","geometry"], "parameters":{ "geometry": { "unit": "KJ_PER_MOL", "radiusScaleFactor": 1.0, "MMFF94Optimization": false, "projectionOptimization": false, "lowestEnergyConformerType": "IF2D", "optimizationLimit": "NORMAL" } } }
{ "geometry": { "headers": { "dreidingEnergy": { "name": "dreidingEnergy", "type": "DOUBLE", "source": "CALCULATOR" }, "MMFF94Energy": { "name": "MMFF94Energy", "type": "DOUBLE", "source": "CALCULATOR" }, "minimalProjectionArea": { "name": "minimalProjectionArea", "type": "DOUBLE", "source": "CALCULATOR" }, "maximalProjectionArea": { "name": "maximalProjectionArea", "type": "DOUBLE", "source": "CALCULATOR" }, "minimalProjectionRadius": { "name": "minimalProjectionRadius", "type": "DOUBLE", "source": "CALCULATOR" }, "maximalProjectionRadius": { "name": "maximalProjectionRadius", "type": "DOUBLE", "source": "CALCULATOR" }, "volume": { "name": "volume", "type": "DOUBLE", "source": "CALCULATOR" }, "minZLength": { "name": "minZLength", "type": "DOUBLE", "source": "CALCULATOR" }, "maxZLength": { "name": "maxZLength", "type": "DOUBLE", "source": "CALCULATOR" }, "result": { "name": "result", "type": "MOLECULE", "source": "CALCULATOR" } }, "dreidingEnergy": 171.8, "MMFF94Energy": 230.62142348490246, "minimalProjectionArea": 90.23513155009645, "maximalProjectionArea": 206.59596288583637, "minimalProjectionRadius": 6.28786818520873, "maximalProjectionRadius": 18.745325567202084, "volume": 717.6484801021651, "minZLength": 37.592143401747606, "maxZLength": 12.13769968583451, "result": { "headers": { "structureData": { "name": "structureData", "type": "STRUCTUREDATA", "source": "GENERATED" }, "cachekey": { "name": "cachekey", "type": "TEXT", "source": "PROCESS" }, "image": { "name": "image", "type": "IMAGE", "source": "GENERATED" } }, "structureData": { "structure": "xml file..." "format": "mrv", "contentUrl": "http://restdemo.chemaxon.com/rest-v0/util/export/struc_4ada4b28e2aeedf8d1aef4a380f9af81?format=mrv&contentName=structure", "contentBaseUrl": "http://restdemo.chemaxon.com/rest-v0/util/export/struc_4ada4b28e2aeedf8d1aef4a380f9af81" }, "cachekey": "struc_4ada4b28e2aeedf8d1aef4a380f9af81", "image": { "width": 300, "height": 243, "type": "png", "image": "..." "imageUrl": "http://restdemo.chemaxon.com/rest-v0/util/display/struc_4ada4b28e2aeedf8d1aef4a380f9af81_300x243_3D.png" } } }, "cd_id": 4, "headers": { "geometry": { "name": "geometry", "type": "COMPLEX", "source": "CALCULATOR" }, "cd_id": { "name": "cd_id", "label": "JChem Id", "state": "UNKNOWN", "type": "ID", "source": "DATABASE_JCHEM", "dbColumnName": "CD_ID", "canSort": true, "canFilter": true } } }

Back to Properties list

4.2.10. List of stereoisomer parameters

NameTypeDescription
stereoisomerismType string
  • TETRAHEDRAL only the R/S isomers are generated, default
  • DOUBLE_BOND only E/Z isomers are generated
  • BOTH both R/S and E/Z isomers are generated
maxStructureCountintOnly the given number of structures are generated, default value is 1
protectDoubleBondStereobooleanIf set to true, all double bonds with preset stereo information remain intact, default is false
protectTetrahedralStereobooleanIf set to true, preset stereocenters are not included in the stereoisomer generation, default is false
filterInvalid3DStructuresbooleanIf set to true, sterically restricted isomers are discarded, default is false

POST request example with default stereoisomer parameters:

{ "include": ["cd_id","stereoisomer"], "parameters":{ "stereoisomer": { "stereoisomerismType": "TETRAHEDRAL", "maxStructureCount": 1, "protectDoubleBondStereo": false, "protectTetrahedralStereo": false, "filterInvalid3DStructures": false } } }
{ "stereoisomer": { "headers": { "stereoisomerCount": { "name": "stereoisomerCount", "type": "INTEGER", "source": "CALCULATOR" }, "result": { "name": "result", "type": "MOLECULE", "source": "CALCULATOR" } }, "stereoisomerCount": 1, "result": { "headers": { "structureData": { "name": "structureData", "type": "STRUCTUREDATA", "source": "GENERATED" }, "cachekey": { "name": "cachekey", "type": "TEXT", "source": "PROCESS" }, "image": { "name": "image", "type": "IMAGE", "source": "GENERATED" } }, "structureData": { "structure": "xml file..." "format": "mrv", "contentUrl": "http://restdemo.chemaxon.com/rest-v0/util/export/struc_604cb32ab2d0be87da86a2c5ed2c2b99?format=mrv&contentName=structure", "contentBaseUrl": "http://restdemo.chemaxon.com/rest-v0/util/export/struc_604cb32ab2d0be87da86a2c5ed2c2b99" }, "cachekey": "struc_604cb32ab2d0be87da86a2c5ed2c2b99", "image": { "width": 300, "height": 36, "type": "png", "image":"..." "imageUrl": "http://restdemo.chemaxon.com/rest-v0/util/display/struc_604cb32ab2d0be87da86a2c5ed2c2b99_300x36_chiral_all.png" } } }, "cd_id": 4, "headers": { "stereoisomer": { "name": "stereoisomer", "type": "COMPLEX", "source": "CALCULATOR" }, "cd_id": { "name": "cd_id", "label": "JChem Id", "state": "UNKNOWN", "type": "ID", "source": "DATABASE_JCHEM", "dbColumnName": "CD_ID", "canSort": true, "canFilter": true } } }

Back to Properties list

4.2.11. List of tautomerization parameters

NameTypeDescription
calculationTypestring
  • DOMINANT displays the percentage of different tautomers present at the given pH, dominant is default
  • CANONICAL calculates only the canonical tautomer of the structure
    Example
  • GENERIC used for the identification of tautomers in JChem databases
    Calculated according to these rules
  • MAJOR gives the first species from the dominant tautomer distribution
  • ALL calculates all possible tautomers. If any deuterium or tritium is involved in the tautomerization, it moves during enumeration.
    Rational tautomer generation mode can be activated
maxStructureCountintMaximize the number of structures to display, default value is 1000
considerPHbooleanTakes into account the protonation states at given pH, false is default
pHdoubleIf pH value is taken into account, it sets its value, default is 7.4
enableMaxPathLengthbooleanIf set to true (default), it enables the possibility to set max. allowed length of the tautomerization path
(the number of bonds which are considered by displacing a double bond)
maxPathLengthintSets maximum allowed length of the tautomerization path, default is 4
rationalTautomerGenerationModeboolean DEPRECATED Use normalTautomerGenerationMode instead!
normalTautomerGenerationModeboolean Rational tautomer generation narrows down the possible tautomerization paths and leads to chemically more feasible products.
It classifies isomers according to structural similarities: isomers in a group can convert into each other by simple low energy transformations,
while transformation between the isomers of two different groups requires higher energy steps.
Default value is true Example
singleFragmentModebooleanIf set to false, the calculation handles unlinked molecules together and results are in the same window.
If set to true (default), the results are displayed in separate windows
protectAromaticitybooleanIf set to true (default), the aromaticity will be maintained
protectChargebooleanIf set to true (default), defined charged atoms maintain their charge during calculation
excludeAntiAromaticCompoundsbooleanIf set to true (default), any tautomer structure having an antiaromatic ring system will be discarded
protectDoubleBondStereobooleanIf set to true, all double bonds with stereo information remain intact.
If set to false (default), tautomer regions will lose the double bond stereo information, any other stereo information in the molecule is kept intact.
protectAllTetrahedralStereoCentersbooleanIf set to true, stereocenters are not included in the tautomerization.
If set to false (default), tautomer regions will lose the tetrahedral stereo information, any other stereo information in the molecule is kept intact.
protectLabeledTetrahedralStereoCentersbooleanIf set to true, stereocenters labeled with chiral flag or MDL Enhanced Stereo Representation flags
will not be included in tautomerization, other stereocenters will. Default is false
protectEsterGroupsbooleanIf set to true (default), ester groups are not taking part in tautomerization.
ringChainTautomerizationAllowedbooleanThis option is active when "All tautomers" function is selected.
If set to true, tautomer generation will take into account the possibility of ring closure, default is false

POST request example with default tautomerization parameters:

{ "include": ["cd_id","tautomerization"], "parameters":{ "tautomerization": { "calculationType": "DOMINANT", "maxStructureCount": 1000, "considerPH": false, "enableMaxPathLength": true, "maxPathLength": 4, "normalTautomerGenerationMode": true, "singleFragmentMode": true, "protectAromaticity": true, "protectCharge": true, "excludeAntiAromaticCompounds": true, "protectDoubleBondStereo": false, "protectAllTetrahedralStereoCenters": false, "protectLabeledTetrahedralStereoCenters": false, "protectEsterGroups": true, "ringChainTautomerizationAllowed": false } } }
{ "tautomerization": { "headers": { "result": { "name": "result", "type": "MOLECULE", "source": "CALCULATOR", "list": true } }, "result": [ { "headers": { "structureData": { "name": "structureData", "type": "STRUCTUREDATA", "source": "GENERATED" }, "cachekey": { "name": "cachekey", "type": "TEXT", "source": "PROCESS" }, "image": { "name": "image", "type": "IMAGE", "source": "GENERATED" }, "dominantTautomerDistribution": { "name": "dominantTautomerDistribution", "type": "DOUBLE", "source": "CALCULATOR" } }, "structureData": { "structure": "xml file...", "format": "mrv", "contentUrl": "http://restdemo.chemaxon.com/rest-v0/util/export/struc_537d3e5da1885b267dd48533f10ab9c3?format=mrv&contentName=structure", "contentBaseUrl": "http://restdemo.chemaxon.com/rest-v0/util/export/struc_537d3e5da1885b267dd48533f10ab9c3" }, "cachekey": "struc_537d3e5da1885b267dd48533f10ab9c3", "image": { "width": 300, "height": 138, "type": "png", "image": "...", "imageUrl": "http://restdemo.chemaxon.com/rest-v0/util/display/struc_537d3e5da1885b267dd48533f10ab9c3_300x138.png" }, "dominantTautomerDistribution": 1 } ] }, "cd_id": 4, "headers": { "tautomerization": { "name": "tautomerization", "type": "COMPLEX", "source": "CALCULATOR" }, "cd_id": { "name": "cd_id", "label": "JChem Id", "state": "UNKNOWN", "type": "ID", "source": "DATABASE_JCHEM", "dbColumnName": "CD_ID", "canSort": true, "canFilter": true } } }

Back to Properties list

4.2.12. List of hbda parameters

NameTypeDescription
pHLower double HBDA: the weighted average hydrogen bond donor and acceptor multiplicities taken over the microspecies and the proportions of their occurrences are calculated for different pHs
Defines the lower end of the pH window in which HBDA is calculated, default value is 0
pHUpperdoubleDefines the upper end of the pH window in which HBDA is calculated, default value is 14
pHStepdoubleDefines the pH step size by which HBDA calculation is incremented (pH values start from the lower limit), default value is 0.1
excludeSulfurbooleanIf set to true (default), it excludes sulfur atoms from acceptors
excludeHalogensbooleanIf set to true (default), it excludes halogen atoms from acceptors
displayMajorMicrospeciesbooleanHBDA parameters can be calculated both for the neutral form and the major microspecies.
If set to true, the structure of the major form at the given pH is displayed. Default is false
pHdoubleIf display major microspecies is set to true, it determines the pH at which it is displayed, default value is 7.4

POST request example with default hbda parameters:

{ "include": ["cd_id","hbda"], "parameters":{ "hbda": { "pHLower": 0, "pHUpper": 14, "pHStep": 0.1, "excludeSulfur": true, "excludeHalogens": true, "displayMajorMicrospecies": false } } }
{ "hbda": { "headers": { "acceptorCount": { "name": "acceptorCount", "type": "INTEGER", "source": "CALCULATOR" }, "acceptorAtomCount": { "name": "acceptorAtomCount", "type": "INTEGER", "source": "CALCULATOR" }, "donorCount": { "name": "donorCount", "type": "INTEGER", "source": "CALCULATOR" }, "donorAtomCount": { "name": "donorAtomCount", "type": "INTEGER", "source": "CALCULATOR" }, "result": { "name": "result", "type": "MOLECULE", "source": "CALCULATOR" }, "chartData": { "name": "chartData", "type": "CHART", "source": "CALCULATOR", "list": true } }, "acceptorCount": 4, "acceptorAtomCount": 2, "donorCount": 2, "donorAtomCount": 2, "result": { "headers": { "structureData": { "name": "structureData", "type": "STRUCTUREDATA", "source": "GENERATED" }, "cachekey": { "name": "cachekey", "type": "TEXT", "source": "PROCESS" }, "image": { "name": "image", "type": "IMAGE", "source": "GENERATED" } }, "structureData": { "structure":"xml file...", "format": "mrv", "contentUrl": "http://restdemo.chemaxon.com/rest-v0/util/export/struc_0e9c55bec33471974a7f386b17cdf8cd?format=mrv&contentName=structure", "contentBaseUrl": "http://restdemo.chemaxon.com/rest-v0/util/export/struc_0e9c55bec33471974a7f386b17cdf8cd" }, "cachekey": "struc_0e9c55bec33471974a7f386b17cdf8cd", "image": { "width": 300, "height": 133, "type": "png", "image": "...", "imageUrl": "http://restdemo.chemaxon.com/rest-v0/util/display/struc_0e9c55bec33471974a7f386b17cdf8cd_300x133.png" } }, "chartData": [ { "key": "avgAcceptorCount", "xAxis": "pH", "yAxis": "avgAcceptorCount", "yMin": 4, "yMax": 5.9559, "values": [ { "pH": 0, "avgAcceptorCount": 4 }, { "pH": 0.1, "avgAcceptorCount": 4 }, ........................... { "pH": 14, "avgAcceptorCount": 5.9559 } ] }, { "key": "avgDonorCount", "xAxis": "pH", "yAxis": "avgDonorCount", "yMin": 0.0441, "yMax": 2, "values": [ { "pH": 0, "avgDonorCount": 2 }, { "pH": 0.1, "avgDonorCount": 2 }, ........................ { "pH": 14, "avgDonorCount": 0.0441 } ] } ] }, "cd_id": 4, "headers": { "hbda": { "name": "hbda", "type": "COMPLEX", "source": "CALCULATOR" }, "cd_id": { "name": "cd_id", "label": "JChem Id", "state": "UNKNOWN", "type": "ID", "source": "DATABASE_JCHEM", "dbColumnName": "CD_ID", "canSort": true, "canFilter": true } } }

Back to Properties list

4.2.13. List of elementalAnalysis parameters

NameTypeDescription
singleFragmentMode boolean The following molecular values related to the elemental composition of the molecule are calculated by the elemental analysis plugin:
  • Mass: average molecular mass calculated from the standard atomic weights
  • Exact mass: monoisotopic mass calculated from the weights of the most abundant natural isotopes of the elements
  • Formula: chemical formula of the molecule according to the Hill system 3: the number of carbon atoms is indicated first
    the number of hydrogen atoms next, and then the number of all other chemical elements subsequently in alphabetical order.
    Isotopes (like Deuterium and Tritium) are not listed separately but counted together
    Note: For polymer structures, mass, composition, and atom count calculations are not available and will return NaN, N/A, and -1, respectively.
  • Isotope formula: chemical formula of the molecule listing isotopes separately
  • Composition: elemental composition given in weight percentage (w/w %) calculated from the atomic masses
  • Isotope composition: elemental composition listing isotopes separately (w/w %)

If single fragment mode is set to false, the calculation handles unlinked molecules together (e.g. salt molecules), summing up the masses of each component,
If true (default), the results are displayed in a scroll window, and it handles two more options:
  • Dot-disconnected formula: chemical formula of the molecule(s) separating fragment formulas by dots (e.g. salts, counterions, solvent molecules etc. are present)
  • Dot-disconnected isotope formula: chemical formula of the molecule separating fragment formulas by dots and listing isotopes separately
symbolDbooleanIf set to false, isotopes of hydrogen are displayed in formulas as 2H and 3H, if true, D and T symbols are used, default is true

POST request example with default elementalAnalysis parameters:

{ "include": ["cd_id","elementalAnalysis"], "parameters":{ "elementalAnalysis": { "singleFragmentMode": true, "symbolID": true } } }
{ "elementalAnalysis": { "headers": { "formula": { "name": "formula", "type": "TEXT", "source": "CALCULATOR" }, "isotope_formula": { "name": "isotope_formula", "type": "TEXT", "source": "CALCULATOR" }, "composition": { "name": "composition", "type": "TEXT", "source": "CALCULATOR", "list": true }, "isotope_composition": { "name": "isotope_composition", "type": "TEXT", "source": "CALCULATOR", "list": true }, "mass": { "name": "mass", "type": "DOUBLE_FIXED", "source": "CALCULATOR" }, "exact_mass": { "name": "exact_mass", "type": "DOUBLE_FIXED", "source": "CALCULATOR" } }, "formula": "C46H70O2", "isotope_formula": "C46H70O2", "composition": [ "C (84.34%)", "H (10.77%)", "O (4.88%)" ], "isotope_composition": [ "C (84.34%)", "H (10.77%)", "O (4.88%)" ], "mass": 655.0468, "exact_mass": 654.537581484 }, "cd_id": 4, "headers": { "elementalAnalysis": { "name": "elementalAnalysis", "type": "COMPLEX", "source": "CALCULATOR" }, "cd_id": { "name": "cd_id", "label": "JChem Id", "state": "UNKNOWN", "type": "ID", "source": "DATABASE_JCHEM", "dbColumnName": "CD_ID", "canSort": true, "canFilter": true } } }

Back to Properties list

4.2.14. List of chemical format parameters

NameTypeDescription
inchiAux boolean It displays names in following formats:
  • Common names
  • IUPAC name
  • SMILES
  • InChI
If set to true, inChi auxiliary information is displayed, default is false
uniqueSmilesbooleanThe molecule graph is always canonicalized, but it is not guaranteed to give absolute SMILES for all isomeric structures.
If set to true, the unique SMILES generation uses an approximation to make the SMILES string as absolute (unique for isomeric structures) as possible.
Default is false. Note: use this option if you want unique smiles export.
See more about the algorithm which produces unique smiles

POST request example with default format parameters:

{ "include": ["cd_id","format"], "parameters":{ "format": { " inchiAux": false, "uniqueSmiles": false } } }
{ "format": { "headers": { "common": { "name": "common", "type": "TEXT", "source": "CALCULATOR", "list": true }, "iupac": { "name": "iupac", "type": "TEXT", "source": "CALCULATOR" }, "smiles": { "name": "smiles", "type": "TEXT", "source": "CALCULATOR" }, "inchi": { "name": "inchi", "type": "TEXT", "source": "CALCULATOR" } }, "common": [ "2-octaprenyl-6-hydroxyphenol", "6-hydroxy-2-octaprenylphenol" ], "iupac": "3-[(2E,6E,10E,14E,18E,22E,26E)-3,7,11,15,19,23,27,31-octamethyldotriaconta-2,6,10,14,18,22,26,30-octaen-1-yl]benzene-1,2-diol", "smiles": "[H]C\\C(C)=C\\CC\\C(C)=C\\CC\\C(C)=C\\CC\\C(C)=C\\CC\\C(C)=C\\CC\\C(C)=C\\CC\\C(C)=C\\CC\\C(C)=C\\CC1=C(O)C(O)=CC=C1", "inchi": "InChI=1S/C46H70O2/c1-36(2)18-10-19-37(3)20-11-21-38(4)22-12-23-39(5)24-13-25-40(6)26-14-27-41(7)28-15-29-42(8)30-16-31-43(9)34-35-44-32-17-33-45(47)46(44)48/h17-18,20,22,24,26,28,30,32-34,47-48H,10-16,19,21,23,25,27,29,31,35H2,1-9H3/b37-20+,38-22+,39-24+,40-26+,41-28+,42-30+,43-34+" }, "cd_id": 4, "headers": { "format": { "name": "format", "type": "COMPLEX", "source": "GENERATED" }, "cd_id": { "name": "cd_id", "label": "JChem Id", "state": "UNKNOWN", "type": "ID", "source": "DATABASE_JCHEM", "dbColumnName": "CD_ID", "canSort": true, "canFilter": true } } }

Back to Properties list

4.2.15. List of topologyAnalysis parameters

NameTypeDescription
singleFragmentModebooleanTopology analysis plugin provides characteristic values related to the topological structure of the molecule.
If single fragment mode is set to false, the calculation handles unlinked molecules together (e.g. salt molecules).
If true, the results are displayed in a scroll window, default is false
See detailed description of displayed topology parameters

POST request example with default topologyAnalysis parameters:

{ "include": ["cd_id","topologyAnalysis"], "parameters":{ "topologyAnalysis": { "singleFragmentMode": false } } }
{ "topologyAnalysis": { "headers": { "distanceDegree": { "name": "distanceDegree", "type": "MOLECULE", "source": "CALCULATOR" }, "eccentricity": { "name": "eccentricity", "type": "MOLECULE", "source": "CALCULATOR" }, "stericEffect": { "name": "stericEffect", "type": "MOLECULE", "source": "CALCULATOR" }, "atomBond": { "name": "atomBond", "type": "COMPLEX", "source": "CALCULATOR" }, "ring": { "name": "ring", "type": "COMPLEX", "source": "CALCULATOR" }, "pathAndDistance": { "name": "pathAndDistance", "type": "COMPLEX", "source": "CALCULATOR" } }, "distanceDegree": { "headers": { "structureData": { "name": "structureData", "type": "STRUCTUREDATA", "source": "GENERATED" }, "cachekey": { "name": "cachekey", "type": "TEXT", "source": "PROCESS" }, "image": { "name": "image", "type": "IMAGE", "source": "GENERATED" } }, "structureData": { "structure":"xml file...", "format": "mrv", "contentUrl": "http://restdemo.chemaxon.com/rest-v0/util/export/struc_b400cf0c41f1a559e42400a3dd5e3fb6?format=mrv&contentName=structure", "contentBaseUrl": "http://restdemo.chemaxon.com/rest-v0/util/export/struc_b400cf0c41f1a559e42400a3dd5e3fb6" }, "cachekey": "struc_b400cf0c41f1a559e42400a3dd5e3fb6", "image": { "width": 300, "height": 132, "type": "png", "image": "...", "imageUrl": "http://restdemo.chemaxon.com/rest-v0/util/display/struc_b400cf0c41f1a559e42400a3dd5e3fb6_300x132.png" } }, "eccentricity":"...", "stericEffect": "...", "atomBond": { "headers": { "aliphaticAtomCount": { "name": "aliphaticAtomCount", "type": "INTEGER", "source": "CALCULATOR" }, ............... }, "aliphaticAtomCount": 42, "aliphaticBondCount": 42, "aromaticAtomCount": 6, "aromaticBondCount": 6, "asymmetricAtomCount": 0, "atomCount": 49, "bondCount": 118, "chainAtomCount": 42, "chainBondCount": 42, "chiralCenterCount": 0, "cyclomaticNumber": 1, "ringAtomCount": 6, "ringBondCount": 6, "rotatableBondCount": 23, "stereoDoubleBondCount": 7, "fsp3": 0.5217391304347826 }, "ring": { "headers": { "aliphaticRingCount": { "name": "aliphaticRingCount", "type": "INTEGER", "source": "CALCULATOR" }, ................ }, "aliphaticRingCount": 0, "aromaticRingCount": 1, "carboRingCount": 1, "carboaliphaticRingCount": 0, "carboaromaticRingCount": 1, "fusedAliphaticRingCount": 0, "fusedAromaticRingCount": 0, "fusedRingCount": 0, "heteroRingCount": 0, "heteroaliphaticRingCount": 0, "heteroaromaticRingCount": 0, "largestRingSize": 6, "largestRingSystemSize": 1, "ringCount": 1, "ringSystemCount": 1, "smallestRingSize": 6, "smallestRingSystemSize": 1 }, "pathAndDistance": { "headers": { "balabanIndex": { "name": "balabanIndex", "type": "DOUBLE", "source": "CALCULATOR" }, ................. }, "balabanIndex": 1.962068158185346, "fragmentCount": 1, "hararyIndex": 186.96741505146042, "hyperWienerIndex": 147958, "plattIndex": 120, "randicIndex": 23.403993658562875, "szegedIndex": 15346, "wienerIndex": 14820, "wienerPolarity": 58 } }, "cd_id": 4, "headers": { "topologyAnalysis": { "name": "topologyAnalysis", "type": "COMPLEX", "source": "CALCULATOR" }, "cd_id": { "name": "cd_id", "label": "JChem Id", "state": "UNKNOWN", "type": "ID", "source": "DATABASE_JCHEM", "dbColumnName": "CD_ID", "canSort": true, "canFilter": true } } }

4.2.16. List of solubility parameters

Option Type Description
pHLower DOUBLE default: 0.0
pHUpper DOUBLE default: 14.0
pHStep DOUBLE default: 0.1
unit STRING default: LOGS
  • LOGS
  • MGPERML
  • MOLPERL

POST request example with default solubility parameters:

{ "include": ["cd_id","solubility"], "parameters":{ "solubility": { "pHLower": 0.0, "pHUpper": 14.0, "pHStep": 0.1, "unit": "LOGS" } } }
{ "solubility": { "intrinsicSolubility": -3.2090126816785602, "pHDependentSolubility": { "key": "pHDependentSolubility", "xAxis": "pH", "yAxis": "solubility", "yMin": -3.209, "yMax": -3.209, "values": [ { "pH": 0, "solubility": -3.209 }, { "pH": 0.1, "solubility": -3.209 }, { "pH": 0.2, "solubility": -3.209 }, { "pH": 0.3, "solubility": -3.209 } ] }, "category": "HIGH", "unit": "LOGS" }, "headers": { "solubility": { "name": "solubility", "type": "COMPLEX", "source": "CALCULATOR" } } }

4.2.17. Alignment

Option Type Description
includeFusedMolecules BOOLEAN default: false
type STRING default: COMMON_SCAFFOLD
  • EXTENDED_ATOMTYPE
  • COMMON_SCAFFOLD
moleculesToAlign ARRAY OF STRING

POST request example

{ "include": ["cd_id","alignment"], "parameters":{ "alignment": { "includeFusedMolecules": false, "type": COMMON_SCAFFOLD } } }
{ "alignment": { "3DTanimoto": 0.14580015977913124, "mol1": { "structureData": { "structure": "...", "format": "mrv", "contentUrl": "...", "contentBaseUrl": "..." } }, "mol2": { "structureData": { "structure": "...", "format": "mrv", "contentUrl": "...", "contentBaseUrl": "..." } }, "fused": { "structureData": { "structure": "...", "format": "mrv", "contentUrl": "...", "contentBaseUrl": "..." } } } }

4.2.18. Conformer

The calculation generates the stable 3D structures, i.e. conformers of a given molecule.

Option Type Description
diversity DOUBLE Conformers within diversity limit will be considered the same and doubles removed, default: 0.1
maxNumberOfConformers INTEGER Limiting the number of calculated structures, default: 10
timeLimitSeconds INTEGER No conformers will be displayed if the calculation is stopped at the time limit set, default: 120

POST request example

{ "include": ["cd_id","conformer"], "parameters":{ "conformer": { "diversity": 0.1, "maxNumberOfConformers": 10, "timeLimitSeconds": 120 } } }
{ "conformer": { "result": [ { "structureData": {}, "image": {} }, { "structureData": {}, "image": {} } ] } }

4.2.19. HLB

The hydrophilic-lipophilic balance number (HLB number) measures the degree of a molecule being hydrophilic or lipophilic. This number is calculated based on identifying various hydrophil and liphophil regions in the molecule. This number is a commonly used descriptor in any workflow in which lipid based delivery can be an option. (e.g. lipid-based drug delivery, cosmetics)

POST request example

{ "include": ["cd_id","hlb"] }
{ "hlb": { "hlbValue": 9.87939851943245, "daviesHlbValue": 10.675, "griffinHlbValue": 8.685996298581122 } }

4.2.20. Binary descriptor (structure fingerprint)

CFP parameters ("type": "CFP")

Option Type Description
length INTEGER default: 1024
bondCount INTEGER default: 7
bitsPerPattern INTEGER default: 3

ECFP parameters ("type": "ECFP")

Option Type Description
diameter INTEGER default: 4
length INTEGER default: 1024
atomTypizer STRING default: ECFP
  • ECFP
  • FCFP

POST request example

{ "include": ["cd_id","binaryDescriptor"], "parameters":{ "binaryDescriptor": { "type": "CFP", "parameters": { "length": 1024, "bondCount": 7, "bitsPerPattern": 3 } } } }
{ "binaryDescriptor": { "descriptor" : "5XHPt4/W/zqExZ6+/Z9tecjn7iuM2/W/3rf1OfllfZUSvm7j6rc99+3JT1qwH+I1svB531Zn6Ph5/9Vj95+54za8f9f8XZ//sVvP77n+vaas3Z/rdbU8tef1lmd9onda8/XwVHsXaxl/r1x8/zDv5n+5/06/dab/7nfdb8f9XpA=", } }

4.2.21. Largest conjugated system

POST request example

{ "include": ["cd_id", "largestConjugatedSystem"], "parameters": { "largestConjugatedSystem": { "coloredMolecule-display": { "include": ["structureData", "image"], "parameters": { "structureData": "mrv", "image": {"type": "png", "width": 500} } } } } }
{ "largestConjugatedSystem": { "indexes": [0, 1, 2, 3, 4, 5], "piElectronPairs": 3, "coloredMolecule": { "structureData": { "structure": "...", "format": "mrv" }, "image": { "width": 500, "height": 240, "type": "png", "image": "...", "imageUrl": "..." } } } }

Back to Properties list

4.3. View Properties Without Storing (upload molecules as JSON format)

You can view molecule properties without storing, just post the structures as a JSON message:

{ "structures": [ {"structure": "aspirin"}, {"structure": "benzylpenicillin"} ], "display": { "include": ["structureData", "image"], "parameters": { "structureData": "cdx", "image": {"width": 100} } } }
{ "data": [ { "structureData": { "binaryStructure": "...", "format": "cdx", "contentUrl": "http://restdemo.chemaxon.com/rest-v0/util/export/struc_455c6cddd97d9d1c468934d1b357009b?format=cdx&contentName=structure", "contentBaseUrl": "http://restdemo.chemaxon.com/rest-v0/util/export/struc_455c6cddd97d9d1c468934d1b357009b" }, "image": { "width": 100, "height": 112, "type": "png", "image": "...", "imageUrl": "http://restdemo.chemaxon.com/rest-v0/util/display/struc_455c6cddd97d9d1c468934d1b357009b_100x112.png" } }, { "structureData": { "binaryStructure": "...", "format": "cdx", "contentUrl": "http://restdemo.chemaxon.com/rest-v0/util/export/struc_a7134d8156bb6b7df6c0d152ee493dfe?format=cdx&contentName=structure", "contentBaseUrl": "http://restdemo.chemaxon.com/rest-v0/util/export/struc_a7134d8156bb6b7df6c0d152ee493dfe" }, "image": { "width": 100, "height": 57, "type": "png", "image": "...", "imageUrl": "http://restdemo.chemaxon.com/rest-v0/util/display/struc_a7134d8156bb6b7df6c0d152ee493dfe_100x57.png" } } ], "headers": { "structureData": { "name": "structureData", "type": "STRUCTUREDATA", "source": "GENERATED" }, "image": { "name": "image", "type": "IMAGE", "source": "GENERATED" } } }

5. Manipulate Data in the Database

The content of the database can be modified through these services.

5.1. Import to Existing Table

This request modifies the content of the underlying database!

Structures can be imported into an existing table: you have to specify the table and optionally the monitor-id see Monitoring

{ "monitorId": "", "data": [ { "structure": "c1ccccc1", "additionalData": { "key1": "a", "key2": "1" } }, { "structure": "CCC", "additionalData": { "key1": "b", "key2": "2" } } ] }
{ "dbConfigName": "sample", "table": { "tableName": "test1-2", "meta": { "name": "test1-2", "label": "test1 (2)", "state": "READY" }, "dbTable": { "dbTableName": "C_TEST12" }, "type": "ANY_STRUCTURES", "properties": { "tautomerDuplicateFiltering": "false", "switchOffAllProtections": "false", "fingerprint.numberOfBits": "512", "fingerprint.numberOfOnes": "2", "absoluteStereo": "true", "JChemVersion": "5.12.2", "validityTimestamp": "2013-04-09 10:14:01.559", "version": "5120000", "fingerprint.numberOfEdges": "6", "duplicateFiltering": "false", "fingerprint.numberOfStrucFPCols": "0", "tableType": "2", "creationTime": "2013-04-09 10:14:01.548", "ctVersion": "5120000", "mdVersion": "5120000" } }, "monitorId": "" }

The process reports the number of the sucessufully imported molecules and their IDs.

5.2. Import to New Table

This request modifies the content of the underlying database!

A file can be imported as multipart form (tableName and monitorId fields must located first, then the file itself.)

Importing in a JSON message: send a similar POST request as for Import to Existing Table to http://localhost:8080/rest-v0/data/sample
But define the table name in the "tableName":"my_table_name" field before "monitorId" field.
Optionally table type can be defined wit parameter "tableType":"ANY_STRUCTURES"
Possible table types:
NOTE: If you import to an URL of an existing table, the tableName will be ignored.

5.3. Update a Single Molecule

This request modifies the content of the underlying database!

A molecule can be modified by sending a POST request to the table's URL with the JSON message below:

{ "operationType": "UPDATE", "cd_id": 100, "structure": "CCCCC" }
{ "cd_id": 100, "message": "updated successfully" }

The operationType attribute must be UPDATE, the cd_id is the id of the chosen structure and the structure field contains the new structure.

5.4. Delete a Single Molecule

This request modifies the content of the underlying database!

A molecule can be deleted by sending a POST request to the table's URL with the JSON message below:

{ "operationType": "DELETE", "cd_id": 100 }
{ "cd_id": 100, "message": "deleted successfully" }

The operationType attribute must be DELETE, the cd_id is the id of the chosen molecule.

5.5. Insert a Single Molecule

This request modifies the content of the underlying database!

A molecule can be inserted by sending a POST request to the table's URL with the JSON message below:

{ "operationType": "INSERT", "structure": "CCCCC" }
{ "cd_id": 23704, "message": "inserted successfully" }

The operationType attribute must be INSERT, structure field contains the new structure.
The response defines the cd_id of the inserted molecule.

5. Additional functions

6. Monitoring

Monitoring collects information about the status of a longer process. Currently long queries, imports and database recalcualtions can be monitored.

6.1. Create a New Monitor

Monitors have to be created in advance to follow a long process. To create a monitor send a POST request opening this URL:

"7fab98b4-df1a-4f86-88f3-3f19cf30c1c4"

This request returns an id which must be passed to the monitored process.

6.2. List Active Monitors

To list the active monitors send a GET request to the same URL:

{}

The result contains an array of all available monitors; each monitor entry contains a status (typically: CREATED, STARTED, RUNNING, FINISHED)

6.3. Query a Monitor's Status

To check the monitor's status send a GET request to this URL:

{ "state": "CREATED", "monitorId": "7fab98b4-df1a-4f86-88f3-3f19cf30c1c4" }

Retrieves the status of the monitor with the specified id.

6.4. Use a Monitor During Import

Use the monitor during import to see an example for the monitoring process in action.

1. Create a new monitor here
2. Check the monitor status here
3. Use the created monitor in the POST request (in the "monitorId" field) here
4. Finally, check the monitor status again and notice how it changed

To see how a monitor works, import a large file and pass the monitor value you just created. Then you can modify the request to read its status

7. Configuration Storage

This is temporary storage - all data will be LOST if the server stops/restarts, which can be used by the client application to store the application's state.
It functions like a property store and currently it is a global store. We are going to extend this property store to be user specific. (I.e. to contain user specific information.)

7.1. Store/List Configs

If empty data is sent, that will return the value of the specified key; otherwise it will overwrite its content with the specified data. The expected JSON data format is a map (key-value pairs).

{"testKey":"testValue"}
{ "testKey": "testValue" }

7.2. Clear Configs

If empty data is sent, that will return the value of the specified key; otherwise it will overwrite its content with the specified data.

8. Further Options and Functionalities

These functions are mainly used by Marvin for JavaScript.

8.1. Simple Format Conversion

This function convers a structure to an another format (the fomat can be only a text based type).

{ "structure": "CCCCC", "parameters": "mrv" }
<?xml version="1.0" encoding="windows-1250"?><cml version="ChemAxon file format v5.10.0, generated by vunknown"> <MDocument><MChemicalStruct><molecule molID="m1"><atomArray atomID="a1 a2 a3 a4 a5" elementType="C C C C C" x2="4.619999999999999 3.8499999999999996 2.3099999999999996 1.54 0.0" y2="-2.6673582436560714 -1.333679121828036 -1.3336791218280357 0.0 0.0"></atomArray><bondArray><bond atomRefs2="a1 a2" order="1"></bond><bond atomRefs2="a2 a3" order="1"></bond><bond atomRefs2="a3 a4" order="1"></bond><bond atomRefs2="a4 a5" order="1"></bond></bondArray></molecule></MChemicalStruct></MDocument> </cml>

Parameters

NameTypeDescription
structureMoleculemolecule in any format that is recognized by Marvin
parametersstringformat string for the exporter

The result (Content-Type: text/plain) contains the converted structure in the given format.

8.2. Format Conversion

This function convers a structure to an another format (the fomat can be image format as well)

{ "structure": "aspirin", "parameters": "mrv" }
{ "structure": "...", "format": "mrv", "contentUrl": "http://localhost:8080/rest-v0/util/export/struc_455c6cddd97d9d1c468934d1b357009b?format=mrv&contentName=structure", "contentBaseUrl": "http://localhost:8080/rest-v0/util/export/struc_455c6cddd97d9d1c468934d1b357009b" }

Parameters

NameTypeDescription
structureMoleculemolecule in any format that is recognized by Marvin
inputFormatstringformat string, hint for the input structure (optional)
parametersstringformat string for the exporter

The result (Content-Type: application/json) contains the converted structure in the given format, and direct download link for the converted structure. (contentUrl)

8.3. CIP Stereo Info

This function provides R/S and E/Z stereo info according to Cahn–Ingold–Prelog priority rules for the input structure's atoms and bonds

{ "structure": "cis-1,2-dichlorocyclohexane" }
{ "tetraHedral": [ { "atomIndex": 0, "chirality": "R" }, { "atomIndex": 1, "chirality": "S" } ], "doubleBond": [] }

Parameters

NameTypeDescription
structureMoleculemolecule in any format that is recognized by Marvin

The result (Content-Type: application/json) contains the stereo information for the intput structure.

8.4. Structure Checker

Service for running structure checkers and fixers on the input.

{ "structure": "<?xml version=\"1.0\" encoding=\"windows-1252\"?><cml version=\"ChemAxon file format v6.0, generated by v6.0.0\">\n<MDocument><MChemicalStruct><molecule molID=\"m1\"><atomArray atomID=\"a1 a2 a3 a4 a5 a6 a7 a8 a9 a10\" elementType=\"C C C C C C C C C C\" x2=\"7.260000228881836 5.926360228881836 4.592566228881836 4.592566228881836 5.926360228881836 7.260000228881836 8.593640228881835 9.927434228881836 10.917434953674316 8.593640228881835\" y2=\"-6.545000057220459 -5.775000057220459 -6.545000057220459 -8.085000057220459 -8.855000057220458 -8.085000057220459 -8.855000057220458 -8.085000057220459 -4.950000267028809 -5.775000057220459\"></atomArray><bondArray><bond atomRefs2=\"a1 a2\" order=\"1\"></bond><bond atomRefs2=\"a1 a6\" order=\"2\"></bond><bond atomRefs2=\"a1 a10\" order=\"1\"></bond><bond atomRefs2=\"a2 a3\" order=\"2\"></bond><bond atomRefs2=\"a3 a4\" order=\"1\"></bond><bond atomRefs2=\"a4 a5\" order=\"2\"></bond><bond atomRefs2=\"a5 a6\" order=\"1\"></bond><bond atomRefs2=\"a6 a7\" order=\"1\"></bond><bond atomRefs2=\"a7 a8\" order=\"2\"></bond><bond atomRefs2=\"a8 a9\" order=\"1\"></bond><bond atomRefs2=\"a9 a10\" order=\"2\"></bond></bondArray></molecule></MChemicalStruct></MDocument>\n</cml>", "parameters": { "checkers": [ { "checkerId":"abbrevgroup", "fixerId":"contractgroup", "parameters":{ "excluded": { "abbreviations":[] } } }, { "checkerId":"bondlength", "fixerId":"clean" } ] } }
{ "headers": { "bondlength": { "name": "bondlength", "type": "COMPLEX", "source": "CALCULATOR" }, "result": { "name": "result", "type": "MOLECULE", "source": "CALCULATOR" } }, "bondlength": { "checkerName": "Bond Length Checker", "description": "2 bonds found with wrong length", "errors": { "atoms": [], "bonds": [ { "bondIndex": 9, "atom1Index": 7, "atom2Index": 8 }, { "bondIndex": 10, "atom1Index": 8, "atom2Index": 9 } ] } }, "result": { "headers": { "structureData": { "name": "structureData", "type": "STRUCTUREDATA", "source": "GENERATED" }, "cachekey": { "name": "cachekey", "type": "TEXT", "source": "PROCESS" }, "image": { "name": "image", "type": "IMAGE", "source": "GENERATED" } }, "structureData": { "structure": "...", "format": "mrv", "contentUrl": "http://localhost:8080/webservices2/rest-v0/util/export/struc_9cf3895dcbc912905c2371072a001d68?format=mrv&contentName=structure", "contentBaseUrl": "http://localhost:8080/webservices2/rest-v0/util/export/struc_9cf3895dcbc912905c2371072a001d68" }, "cachekey": "struc_9cf3895dcbc912905c2371072a001d68", "image": { "width": 300, "height": 82, "type": "png", "image": "...", "imageUrl": "http://localhost:8080/webservices2/rest-v0/util/display/struc_9cf3895dcbc912905c2371072a001d68_300x82.png" } } }

The result (Content-Type: application/json) contains the determined errors and the fixed molecule

Listing available structure checkers

See description of available Structure Checkers

Returns a list of available structure checkers, matching fixers and list of parameters

[ { "checkerIds": [ "abbrevgroup" ], "checkerName": "Abbreviated Group Checker", "description": "Detects abbreviated groups", "errorType": "ABBREVIATED_GROUP", "severity": "WARNING", "availableFixers": [ { "fixerIds": [ "contractgroup" ], "fixerName": "Contract Group", "description": "Contracts abbreviated groups.", "fixerClass": "chemaxon.fixers.ContractGroupFixer", "priority": 50 }, { "fixerIds": [ "expandgroup" ], "fixerName": "Expand Group", "description": "Expands abbreviated groups.", "fixerClass": "chemaxon.fixers.ExpandGroupFixer", "priority": 50 }, { "fixerIds": [ "ungroup" ], "fixerName": "Ungroup", "description": "Ungroups abbreviated groups.", "fixerClass": "chemaxon.fixers.UngroupFixer", "priority": 50 } ], "parameters": { "searchContracted": { "type": "BOOLEAN", "defaultValue": true }, "searchExpanded": { "type": "BOOLEAN", "defaultValue": true }, "excluded": { "abbreviations": { "jsonArray": true, "elementType": { "type": "STRING" } } } } } ]

This request returns the list of available structure checkers

8.5. Format Analyzer

This function returns the format and properties of the input structure.

c1ccccc1
{ "type": "mrv", "properties": { "prop2": "val2", "prop1": "val1" } }

The input is a molecule in any format that is recognized by Marvin. The result (Content-Type: application/json) contains the format and properties.

Filtering/transforming molecules

Molecule filters are functions that has a structure object as input and has a somehow modified structure as output, like clean or standardize.

All available filters can be used as individual services, returning the structure in plain/text mrv format. More interesting way of filter usage is when they are defined for other calculator services as a filter chain, samples are shown below.

8.6. Clean Structure

This function calculates a chemically reliable layout of the specified molecule.

{ "structure": "CCCCC", "parameters": { "dim": 2, "fixed": [ 1 ], "opts": "t5000" } }
<?xml version="1.0" encoding="windows-1250"?><cml version="ChemAxon file format v5.10.0, generated by vunknown"> <MDocument><MChemicalStruct><molecule molID="m1"><atomArray atomID="a1 a2 a3 a4 a5" elementType="C C C C C" x2="8.469999999999999 7.699999999999999 6.159999999999999 5.39 3.8499999999999996" y2="-4.001037365484107 -2.667358243656072 -2.6673582436560714 -1.333679121828036 -1.333679121828036"></atomArray><bondArray><bond atomRefs2="a1 a2" order="1"></bond><bond atomRefs2="a2 a3" order="1"></bond><bond atomRefs2="a3 a4" order="1"></bond><bond atomRefs2="a4 a5" order="1"></bond></bondArray></molecule></MChemicalStruct></MDocument> </cml>

Parameters

NameTypeDescription
structureMoleculemolecule in any format that is recognized by Marvin
parameters.dimintegerdimensions to clean to. 2 or 3
parameters.fixedarray of integersarray of fixed atom indices
parameters.optsstringother options of the cleaner

The result will contain the cleaned structure in mrv format (Content-Type: text/plain).

8.7. Hydrogenize/Dehydrogenize Structure

Addition and removal of explicit hydrogens or lone pairs.

{ "structure": "CCCCC", "parameters": { "method": "HYDROGENIZE", "atoms": [ 1 ] } }
<?xml version="1.0" encoding="windows-1250"?> <cml xmlns="http://www.chemaxon.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.chemaxon.com/marvin/help/formats/schema/mrvSchema_6_2_0.xsd" version="ChemAxon file format v6.2, generated by v6.3.0"> <MDocument> <MChemicalStruct> <molecule molID="m1"> <atomArray atomID="a1 a2 a3 a4 a5 a6 a7" elementType="C C C C C H H"></atomArray> <bondArray> <bond id="b1" atomRefs2="a1 a2" order="1"></bond> <bond id="b2" atomRefs2="a2 a3" order="1"></bond> <bond id="b3" atomRefs2="a3 a4" order="1"></bond> <bond id="b4" atomRefs2="a4 a5" order="1"></bond> <bond id="b5" atomRefs2="a2 a6" order="1"></bond> <bond id="b6" atomRefs2="a2 a7" order="1"></bond> </bondArray> </molecule> </MChemicalStruct> </MDocument> </cml>

Parameters

Option Type Description
method STRING default: DEHYDROGENIZE
  • DEHYDROGENIZE
  • HYDROGENIZE
atoms ARRAY OF INTEGER The subset of atom indexes to include or null for all

The result will contain the converted structure in mrv format (Content-Type: text/plain).

8.8. Standardizer

This function is for standardizing a structure with the provided standardizer configuration.

{ "structure": "aspirin", "parameters": { "standardizerDefinition": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><StandardizerConfiguration><Actions><RemoveExplicitH ID=\"RemoveExplicitH\"/><\/Actions><\/StandardizerConfiguration>" } }
<?xml version="1.0" encoding="windows-1250"?>
<cml xmlns="http://www.chemaxon.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.chemaxon.com/marvin/help/formats/schema/mrvSchema_14_7_14.xsd"
version="ChemAxon file format v14.7.14, generated by v14.7.21.0">
<MDocument>
<MChemicalStruct>
<reaction>
<arrow type="DEFAULT" x1="-0.856201456760437" y1="0.08057679288955857"
x2="3.5231366655054117" y2="0.08057679288955857"/>
<reactantList>
<molecule molID="m1">
<atomArray atomID="a1 a2 a3 a4 a5" elementType="C C C C N"
mrvMap="1 2 3 4 5" x2="-11.33 -11.33 -11.33 -9.79 -12.870000000000001"
y2="-1.5400000000000003 -1.8432548351129281E-16 1.5399999999999998 -3.7292109057998523E-16 -1.8432548351129281E-16"/>
<bondArray>
<bond id="b1" atomRefs2="a1 a2" order="1"/>
<bond id="b2" atomRefs2="a2 a3" order="1"/>
<bond id="b3" atomRefs2="a2 a4" order="1"/>
<bond id="b4" atomRefs2="a2 a5" order="1"/>
</bondArray>
</molecule>
<molecule molID="m2">
<atomArray atomID="a1 a2 a3 a4 a5 a6 a7" elementType="C C O O C C O"
mrvMap="6 7 8 9 10 11 12"
x2="-3.080000000000002 -3.8500000000000014 -5.3900000000000015 -3.08 -3.8499999999999996 -3.08 -5.390000000000001"
y2="2.6673582436560714 1.333679121828035 1.333679121828035 -2.220446049250313E-16 -1.333679121828036 -2.6673582436560714 -1.333679121828036"/>
<bondArray>
<bond id="b1" atomRefs2="a1 a2" order="1"/>
<bond id="b2" atomRefs2="a2 a3" order="2"/>
<bond id="b3" atomRefs2="a2 a4" order="1"/>
<bond id="b4" atomRefs2="a4 a5" order="1"/>
<bond id="b5" atomRefs2="a5 a6" order="1"/>
<bond id="b6" atomRefs2="a5 a7" order="2"/>
</bondArray>
</molecule>
</reactantList>
<productList>
<molecule molID="m3">
<atomArray atomID="a1 a2 a3 a4 a5 a6 a7 a8" elementType="C C O N C C C C"
mrvMap="6 7 8 5 2 1 4 3"
x2="7.0536791218280355 7.0536791218280355 5.72 8.38735824365607 8.38735824365607 8.387358243656072 9.927358243656071 6.847358243656071"
y2="-2.695 -1.1549999999999998 -0.3849999999999999 -0.38500000000000034 1.1549999999999998 2.695 1.1549999999999994 1.1549999999999998"/>
<bondArray>
<bond id="b1" atomRefs2="a1 a2" order="1"/>
<bond id="b2" atomRefs2="a2 a3" order="2"/>
<bond id="b3" atomRefs2="a2 a4" order="1"/>
<bond id="b4" atomRefs2="a4 a5" order="1"/>
<bond id="b5" atomRefs2="a5 a6" order="1"/>
<bond id="b6" atomRefs2="a5 a7" order="1"/>
<bond id="b7" atomRefs2="a5 a8" order="1"/>
</bondArray>
</molecule>
</productList>
</reaction>
</MChemicalStruct>
</MDocument>
</cml>

Parameters

NameTypeDescription
structureMoleculemolecule in any format that is recognized by Marvin

8.9. Highlighter

This function is for highlighting a specific structure in the input.

{ "structure": "aspirin", "parameters": { "queryStructure": "C1=CC=CC=C1", "displayOptions": { "hitColor" : "FF00FF" } } }
<?xml version="1.0" encoding="windows-1250"?> <cml xmlns="http://www.chemaxon.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.chemaxon.com/marvin/schema/mrvSchema_14_12_01.xsd" version="ChemAxon file format v14.12.01, generated by v15.3.9.0"> <MDocument atomSetRGB="0:#000000,1:#ff00ff" bondSetRGB="0:N,1:#000000"> <MChemicalStruct> <molecule title="aspirin" molID="m1"> <atomArray atomID="a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13" elementType="C C O O C C C C C C C O O" mrvSetSeq="0 0 0 0 1 1 1 1 1 1 0 0 0" x2="2.667358243656078 2.667358243656076 4.001037365484111 1.333679121828039 1.3336791218280368 2.6673582436560745 2.6673582436560714 1.3336791218280346 0.0 1.3322676295501878E-15 -1.3336791218280335 -1.3336791218280326 -2.66735824365607" y2="6.16 4.619999999999999 3.849999999999998 3.850000000000002 2.310000000000002 1.5399999999999978 -2.220446049250313E-15 -0.77 1.9984014443252818E-15 1.5400000000000018 2.3100000000000023 3.8500000000000023 1.5400000000000038"></atomArray> <bondArray> <bond id="b1" atomRefs2="a1 a2" order="1" mrvSetSeq="1"></bond> <bond id="b2" atomRefs2="a2 a3" order="2" mrvSetSeq="1"></bond> <bond id="b3" atomRefs2="a2 a4" order="1" mrvSetSeq="1"></bond> <bond id="b4" atomRefs2="a4 a5" order="1" mrvSetSeq="1"></bond> <bond id="b5" atomRefs2="a5 a6" order="2"></bond> <bond id="b6" atomRefs2="a6 a7" order="1"></bond> <bond id="b7" atomRefs2="a7 a8" order="2"></bond> <bond id="b8" atomRefs2="a8 a9" order="1"></bond> <bond id="b9" atomRefs2="a9 a10" order="2"></bond> <bond id="b10" atomRefs2="a5 a10" order="1"></bond> <bond id="b11" atomRefs2="a10 a11" order="1" mrvSetSeq="1"></bond> <bond id="b12" atomRefs2="a11 a12" order="1" mrvSetSeq="1"></bond> <bond id="b13" atomRefs2="a11 a13" order="2" mrvSetSeq="1"></bond> </bondArray> </molecule> </MChemicalStruct> </MDocument> </cml>

Parameters

NameTypeDescription
structureMoleculemolecule in any format that is recognized by Marvin

The result is the colored molecule in plain/text mrv format.

8.10. Reaction converter, automapper

This function is for converting to reaction format and doing automapping of reactions.

{ "structure": "[#6]C([#6])([#6])[#7].[#6]-[#6](=O)-[#8]-[#6](-[#6])=O>>[#6]-[#6](=O)-[#7]C([#6])([#6])[#6]", "parameters": { "autoMappingStyle": "COMPLETE" } }
<?xml version="1.0" encoding="windows-1250"?>
<cml xmlns="http://www.chemaxon.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.chemaxon.com/marvin/help/formats/schema/mrvSchema_14_7_14.xsd"
version="ChemAxon file format v14.7.14, generated by v14.7.21.0">
<MDocument>
<MChemicalStruct>
<reaction>
<arrow type="DEFAULT" x1="-0.856201456760437" y1="0.08057679288955857"
x2="3.5231366655054117" y2="0.08057679288955857"/>
<reactantList>
<molecule molID="m1">
<atomArray atomID="a1 a2 a3 a4 a5" elementType="C C C C N"
mrvMap="1 2 3 4 5" x2="-11.33 -11.33 -11.33 -9.79 -12.870000000000001"
y2="-1.5400000000000003 -1.8432548351129281E-16 1.5399999999999998 -3.7292109057998523E-16 -1.8432548351129281E-16"/>
<bondArray>
<bond id="b1" atomRefs2="a1 a2" order="1"/>
<bond id="b2" atomRefs2="a2 a3" order="1"/>
<bond id="b3" atomRefs2="a2 a4" order="1"/>
<bond id="b4" atomRefs2="a2 a5" order="1"/>
</bondArray>
</molecule>
<molecule molID="m2">
<atomArray atomID="a1 a2 a3 a4 a5 a6 a7" elementType="C C O O C C O"
mrvMap="6 7 8 9 10 11 12"
x2="-3.080000000000002 -3.8500000000000014 -5.3900000000000015 -3.08 -3.8499999999999996 -3.08 -5.390000000000001"
y2="2.6673582436560714 1.333679121828035 1.333679121828035 -2.220446049250313E-16 -1.333679121828036 -2.6673582436560714 -1.333679121828036"/>
<bondArray>
<bond id="b1" atomRefs2="a1 a2" order="1"/>
<bond id="b2" atomRefs2="a2 a3" order="2"/>
<bond id="b3" atomRefs2="a2 a4" order="1"/>
<bond id="b4" atomRefs2="a4 a5" order="1"/>
<bond id="b5" atomRefs2="a5 a6" order="1"/>
<bond id="b6" atomRefs2="a5 a7" order="2"/>
</bondArray>
</molecule>
</reactantList>
<productList>
<molecule molID="m3">
<atomArray atomID="a1 a2 a3 a4 a5 a6 a7 a8" elementType="C C O N C C C C"
mrvMap="6 7 8 5 2 1 4 3"
x2="7.0536791218280355 7.0536791218280355 5.72 8.38735824365607 8.38735824365607 8.387358243656072 9.927358243656071 6.847358243656071"
y2="-2.695 -1.1549999999999998 -0.3849999999999999 -0.38500000000000034 1.1549999999999998 2.695 1.1549999999999994 1.1549999999999998"/>
<bondArray>
<bond id="b1" atomRefs2="a1 a2" order="1"/>
<bond id="b2" atomRefs2="a2 a3" order="2"/>
<bond id="b3" atomRefs2="a2 a4" order="1"/>
<bond id="b4" atomRefs2="a4 a5" order="1"/>
<bond id="b5" atomRefs2="a5 a6" order="1"/>
<bond id="b6" atomRefs2="a5 a7" order="1"/>
<bond id="b7" atomRefs2="a5 a8" order="1"/>
</bondArray>
</molecule>
</productList>
</reaction>
</MChemicalStruct>
</MDocument>
</cml>

Parameters

Option Type Description
autoMappingStyle STRING default: OFF
  • OFF
  • CHANGING
  • COMPLETE
  • MATCHING

The result is the converted reaction in plain/text mrv format.

8.11. Filter Chains

Using filters as a filter chain (sample for format conversion service)

Converting a structure to mrv format with using the clean and standardizer filters on it first.

{ "structure": "aspirin", "parameters": "mrv", "filterChain": [ { "filter": "clean", "parameters": { "dim": 2 } }, { "filter": "standardizer", "parameters": { "standardizerDefinition": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><StandardizerConfiguration><Actions><RemoveExplicitH ID=\"RemoveExplicitH\"/><\/Actions><\/StandardizerConfiguration>" } } ] }
{ "structure": "...", "format": "mrv", "contentUrl": "http://localhost:8080/webservices2/rest-v0/util/export/struc_3fa079049564df17bedcae9bc6885608?format=mrv&contentName=structure", "contentBaseUrl": "http://localhost:8080/webservices2/rest-v0/util/export/struc_3fa079049564df17bedcae9bc6885608" }

The result is now containing the calculated values for the filtered molecule(s)

9. Markush enumeration

9.1 Markush Analysis

This function is for analyzing a markush structure. Calculating library size, exporting the scaffold and R-groups ("exploded" structure), generating preview of the enumeration result.

{ "rgMolecule": { "scaffold": "[$([#1,*])]-[#6]-1=[#6]-[#6]=[#6](-[$([#1,*])])-[#6]=[#6]-1-[#6]-[$([#1,*])] |$_R1;;;;;_R3;;;;_R2$,c:6,t:1,3|", "rGroups": [ { "groupId": 1, "structures": [ "*-[#6]-1-[#6]-[#6]-[#6]-2=[#6]-1-[#7]=[#6]-[#6]=[#6]-2 |$_AP1;;;;;;;;;$,c:4,7,9|", "*[H] |$_AP1;$|", "[#6]-[#8]-* |$;;_AP1$|", "[#8]-* |$;_AP1$|" ] }, { "groupId": 2, "structures": [ "[#6]-[#6@@H](-*)-[#6](-[#8])=O |$;;_AP1;;;$|", "[#6]-[#7]-[#6](=O)-[#6]-* |$;;;;;_AP1$|" ] }, { "groupId": 3, "structures": [ "[#6]-[#8]-* |$;;_AP1$|" ] } ] }, "parameters": { "detailPrimary-display": {"parameters": {"image": { "type": "svg", "width": 400, "height": 400 }}}, "detailSecondary-display": {"parameters": {"image": { "type": "png", "width": 200, "height": 200 }}}, "preview-display": {"parameters": {"image": { "type": "svg", "width": 100, "height": 100 }}} } }
{ "librarySize": "819", "libraryMagnitude": 3, "scaffold": { "structureData": { "structure": "...", "format": "mrv" }, "image": { "width": 96, "height": 96, "type": "svg", "image": "..." } }, "rGroups": [ { "groupId": 1, "structures": [ { "structureData": { "structure": "...", "format": "mrv" }, "image": { "width": 96, "height": 96, "type": "svg", "image": "..." } }, { "structureData": { "structure": "...", "format": "mrv" }, "image": { "width": 96, "height": 96, "type": "svg", "image": "..." } } ] }, { "groupId": 2, "structures": [ { "structureData": { "structure": "...", "format": "mrv" }, "image": { "width": 96, "height": 96, "type": "svg", "image": "..." } }, { "structureData": { "structure": "...", "format": "mrv" }, "image": { "width": 96, "height": 96, "type": "svg", "image": "..." } } ] } ], "preview": [ { "structureData": { "structure": "...", "format": "mrv" }, "image": { "width": 96, "height": 96, "type": "svg", "image": "..." } }, { "structureData": { "structure": "...", "format": "mrv" }, "image": { "width": 96, "height": 96, "type": "svg", "image": "..." } } ] }

9.2 Markush Analysis From Database

This function is for analyzing a markush structure. Calculating library size, exporting the scaffold and R-groups ("exploded" structure), generating preview of the enumeration result.

{ "parameters": { "detailPrimary-display": {"parameters": //scaffold parameters {"image": { "type": "svg", "width": 400, "height": 400 }}}, "detailSecondary-display": {"parameters": //R-group parameters {"image": { "type": "png", "width": 200, "height": 200 }}}, "preview-display": {"parameters": //preview parameters {"image": { "type": "svg", "width": 100, "height": 100 }}} } }
{ "librarySize": "819", "libraryMagnitude": 3, "scaffold": { "structureData": { "structure": "...", "format": "mrv" }, "image": { "width": 96, "height": 96, "type": "svg", "image": "..." } }, "rGroups": [ { "groupId": 1, "structures": [ { "structureData": { "structure": "...", "format": "mrv" }, "image": { "width": 96, "height": 96, "type": "svg", "image": "..." } }, { "structureData": { "structure": "...", "format": "mrv" }, "image": { "width": 96, "height": 96, "type": "svg", "image": "..." } } ] }, { "groupId": 2, "structures": [ { "structureData": { "structure": "...", "format": "mrv" }, "image": { "width": 96, "height": 96, "type": "svg", "image": "..." } }, { "structureData": { "structure": "...", "format": "mrv" }, "image": { "width": 96, "height": 96, "type": "svg", "image": "..." } } ] } ], "preview": [ { "structureData": { "structure": "...", "format": "mrv" }, "image": { "width": 96, "height": 96, "type": "svg", "image": "..." } }, { "structureData": { "structure": "...", "format": "mrv" }, "image": { "width": 96, "height": 96, "type": "svg", "image": "..." } } ] }

9.4 Markush Enumeration

This function is for analyzing a markush structure. Calculating library size, exporting the scaffold and R-groups ("exploded" structure), generating preview of the enumeration result.

{ "rgMolecule": { "scaffold": "[$([#1,*])]-[#6]-1=[#6]-[#6]=[#6](-[$([#1,*])])-[#6]=[#6]-1-[#6]-[$([#1,*])] |$_R1;;;;;_R3;;;;_R2$,c:6,t:1,3|", "rGroups": [ { "groupId": 1, "structures": [ "*-[#6]-1-[#6]-[#6]-[#6]-2=[#6]-1-[#7]=[#6]-[#6]=[#6]-2 |$_AP1;;;;;;;;;$,c:4,7,9|", "*[H] |$_AP1;$|", "[#6]-[#8]-* |$;;_AP1$|", "[#8]-* |$;_AP1$|" ] }, { "groupId": 2, "structures": [ "[#6]-[#6@@H](-*)-[#6](-[#8])=O |$;;_AP1;;;$|", "[#6]-[#7]-[#6](=O)-[#6]-* |$;;;;;_AP1$|" ] }, { "groupId": 3, "structures": [ "[#6]-[#8]-* |$;;_AP1$|" ] } ] }, "dbConfigName": "sample", //target of enumeration "tableName": "markushTest", //table name for enumeration result "monitorId": "e97a42fa-c31c-433d-9ec0-776cc62cc194", "parameters": { "enumerationType": "SEQUENTIAL", "maxStructureCount": 100, "enumerateHomology": false, "handleValenceErrors": true, "duplicateFiltering": true, "filterCT": "" } }

9.4 Markush Enumeration From Database

This function is for analyzing a markush structure. Calculating library size, exporting the scaffold and R-groups ("exploded" structure), generating preview of the enumeration result.

{ "dbConfigName": "sample", //target of enumeration "tableName": "markushTest", //table name for enumeration result "monitorId": "e97a42fa-c31c-433d-9ec0-776cc62cc194", "parameters": { "enumerationType": "SEQUENTIAL", "maxStructureCount": 100, "enumerateHomology": false, "handleValenceErrors": true, "duplicateFiltering": true, "filterCT": "" } }

10. Reaction library

Details can be found here

11. Reactor

Details can be found here

12. Reaction utilities

Details can be found here

13. Bundled Third-party Databases

JChem Web Services includes a Drugbank_all structure table containing Drugbank's All drugs database. Permission to redistribute this database has been granted by the Drugbank Project. DrugBank 3.0: a comprehensive resource for 'omics' research on drugs. Knox C, Law V, Jewison T, Liu P, Ly S, Frolkis A, Pon A, Banco K, Mak C, Neveu V, Djoumbou Y, Eisner R, Guo AC, Wishart DS. Nucleic Acids Res. 2011 Jan;39(Database issue):D1035-41. PMID: 21059682 DOI 10.1093/nar/gkq1126

This product also includes a ChEBI_lite_3star structure table containing ChEBI's chemical structure, ChEBI identifier and ChEBI Name data. Permission to redistribute this database has been granted by the The database and ontology of Chemical Entities of Biological Interest.

Login required!