JChem Web Services Getting Started Guide | You are not authenticated |
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.
RESTful web services are organized around addressable resources. Main resource concepts in JChem Web Services's REST API are:
Resource | Description | Example URL |
---|---|---|
list | listing available database configurations | GET /rest-v0/data |
database | selecting a database configuration | GET /rest-v0/data/sample |
table | selecting a table in the database | GET /rest-v0/data/sample/table/ChEBI_lite_3star |
detail | details of the molecule in the table with specific row id | GET /rest-v0/data/sample/table/ChEBI_lite_3star/detail/42 |
Description | HTTP Request | Content‑Type | Response‑Type |
---|---|---|---|
1. Database Structural Information | |||
1.1. Server Information | GET /rest-v0 | application/json | |
1.2. List DB Configurations | GET /rest-v0/data | application/json | |
1.3. DB Configuration Details | GET /rest-v0/data/{dbConfigName} | application/json | |
1.4. List Tables | GET /rest-v0/data/{dbConfigName}/table | application/json | |
1.5 .Table Details | GET /rest-v0/data/{dbConfigName}/table/{tableName} | application/json | |
1.6. Table Columns | GET /rest-v0/data/{dbConfigName}/table/{tableName}/headers/table | application/json | |
1.7. Column Statistics | GET /rest-v0/data/{dbConfigName}/table/{tableName}/column/{columnName} | application/json | |
2. Search Options | |||
2.1. Simple Search | GET /rest-v0/data/{dbConfigName}/table/{tableName}/search?{paramName}={paramValue} | application/json | |
2.2. Advanced Search | POST /rest-v0/data/{dbConfigName}/table/{tableName}/search | application/json | |
3. Export Data | |||
3.1. Simple Data Export | GET /rest-v0/data/{dbConfigName}/table/{tableName}/export?{paramName}={paramValue} | application/json | |
3.2. Advanced Data Export | POST /rest-v0/data/{dbConfigName}/table/{tableName}/export | application/json | |
3.3. Export URL Generator For Download | POST /rest-v0/data/{dbConfigName}/table/{tableName}/exportUrlGen | application/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/detail | application/json | |
5. Manipulate Data in the Database | |||
5.1. Import to Existing Table | POST /rest-v0/data/{dbConfigName}/table/{tableName} | multipart | application/json |
5.2. Import to New Table | POST /rest-v0/data/{dbConfigName} | multipart | application/json |
5.3. Update a Single Molecule | POST /rest-v0/data/{dbConfigName}/table/{tableName}/operation | application/json | application/json |
5.4. Delete a Single Molecule | POST /rest-v0/data/{dbConfigName}/table/{tableName}/operation | application/json | application/json |
5.5. Insert a Single Molecule | POST /rest-v0/data/{dbConfigName}/table/{tableName}/operation | application/json | application/json |
6. Monitoring | |||
6.1. Create a New Monitor | POST /rest-v0/monitor | application/json | application/json |
6.2. List Active Monitors | POST /rest-v0/monitor | application/json | application/json |
6.3. Query a Monitor's Status | GET /rest-v0/monitor/{monitorId} | application/json | |
6.4. Use a Monitor During Import | POST /rest-v0/monitor | application/json | application/json |
7. Configuration storage | |||
7.1. Store/List Configs | POST /rest-v0/config/store/{scope} | application/json | application/json |
7.2. Clear Configs | POST /rest-v0/config/clear/{scope} | application/json | application/json |
8. Further Options and Functionalities | |||
8.1. Simple Format Conversion | POST /rest-v0/util/calculate/stringMolExport | application/json | text/plain |
8.2. Format Conversion | POST /rest-v0/util/calculate/molExport | application/json | application/json |
8.3. CIP Stereo Info | POST /rest-v0/util/calculate/cipStereoInfo | application/json | application/json |
8.4. Structure Checker | POST /rest-v0/util/calculate/structureChecker | application/json | application/json |
8.5. Format Analyzer | POST /rest-v0/util/analyze | */* | application/json |
8.6. Clean Structure | POST /rest-v0/util/convert/clean | application/json | text/plain |
8.7. Hydrogenize/Dehydrogenize Structure | POST /rest-v0/util/convert/hydrogenize | application/json | text/plain |
8.8. Standardizer | POST /rest-v0/util/convert/standardizer | application/json | text/plain |
8.9. Highlighter | POST /rest-v0/util/convert/highlight | application/json | text/plain |
8.10. Reaction converter, automapper | POST /rest-v0/util/convert/hydrogenize | application/json | text/plain |
8.11. Filter Chains | can be used on all molecule requests | ||
9. Markush enumeration | |||
9.1 Markush Analysis | POST /rest-v0/util/markush/analyze | application/json | application/json |
9.2 Markush Analysis From Database | POST /rest-v0/data/{dbConfigName}/table/{tableName}/markush/{cd_id}/analyze | application/json | application/json |
9.3 Markush Enumeration | POST /rest-v0/util/markush/enumerate | application/json | application/json |
9.4 Markush Enumeration From Database | POST /rest-v0/data/{dbConfigName}/table/{tableName}/markush/{cd_id}/enumerate | application/json | application/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 |
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.
If you installed with a different host/port/appname setting, please adjust the URLs in the example.To check whether the JChem Web Services REST functions are working, open the following URL:
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.The available database configurations can be listed by entering this URL:
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.
Further database driver information specific for a given connection can be collected from this URL:
Tables in the specified database configuration can be listed by opening this URL:
This request returns a map of database structure table names and the basic JChem table information.
Further information about the tables, such as the list of columns and column meta-data can be obtained by opening this URL:
Column prefixes: JChem mandatory and JChem WS imporeted columns are prefixed withcd
and c
, respectively.
The list of the available table columns and their detailed description can be obtained by opening this URL:
Name | Type | Description |
---|---|---|
name | string | ... |
label | string | ... |
state.type | string | ... |
state.values | string | UNKNOWN, LOCKED or READY |
type.type | string | ... |
type.values | string | ... |
source.type | string | ... |
source.values | string | ... |
dbColumnName | string | ... |
canSort | boolean | ... |
canFilter | boolean | ... |
canEdit | boolean | ... |
list | boolean | ... |
chemicalTerms | string | ... |
references | unknown | ... |
referencedBy | unknown | ... |
Select a name from column properties. Minimum and maximum value of the selected column can be obtained by opening this URL:
search?
as Option=selected_value
and separate them by &
character
Option | Type | Description |
---|---|---|
queryStructure | string | Define the query structure as SMILES string for substructure search |
offset | int | Define the first displayed result |
limit | int | Define the number of the returned hits |
searchType | enum | Define the search type
|
chargeMatching | enum |
|
stereoSearchType | enum |
|
doubleBondStereoMatchingMode | enum |
|
tautomerSearch | enum |
|
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:
The result of this request displays the 11th and the 12th molecule in the table.
The result contains the requested parameters and the total number of hits after the data section.
searchOptions
)display
)filter.conditions
)The following criteria types supported for the sortable fileds ("sortable": true
):
Operator | Usage | Description |
---|---|---|
$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) |
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:Format | Description |
---|---|
sdf | SD file format contains structures plus data fields for those structures, this format is recommended for most transfers |
smiles | Contains structures as a text (SMILES) string |
tsv and csv | Contains structures as SMILES string, and tab (tsv) or comma (csv) separated properties |
mrv | ChemAxon's XML based Marvin file format that contains structures plus data fields for those structures |
xlsx | Microsoft Excel workbook |
xlsx:jchem | JChem 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 resultsThe result of this request exports the 11th and 12th molecule in the table.
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
Send a POST request to generate a download URL for export data with complex query parameters:
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.
Advanced options for setting property calculation parameters through the POST request.
Name | Type | Description |
---|---|---|
pHLower | double | The 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 |
pHUpper | double | pHUpper defines the upper end of the pH window in which pKa is calculated, default value is 14 |
pHStep | double | It defines the pH step size by which pKa calculation is incremented (pH values start from the lower limit), default value is 0.1 |
temperature | double | It sets the temperature in Kelvin, default is 298 |
micro | boolean | Micro 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 |
considerTautomerization | boolean | Used 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 |
pKaLowerLimit | double | Option which enables to widen the pKa calculation range because weak bases may have lower pKa values than the default -10 |
pKaUpperLimit | double | Option which enables to widen the pKa calculation range because weak acids may have higher pKa values than the default 20 |
prefix | string |
|
POST request example with default pKa parameters:
Option | Type | Description |
---|---|---|
showIncrements | BOOLEAN | default: true |
method | STRING |
default: CHEMAXON
|
DOUBLE | default: 1.0 DEPRECATED The proportion of VG method can be set when weighted method is chosen. |
|
DOUBLE | default: 1.0 DEPRECATED The proportion of KLOP method can be set when weighted method is chosen. |
|
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:
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
|
DOUBLE | default: 1.0 DEPRECATED The proportion of VG method can be set when weighted method is chosen. |
|
DOUBLE | default: 1.0 DEPRECATED The proportion of KLOP method can be set when weighted method is chosen. |
|
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:
Name | Type | Description |
---|---|---|
pHStep | double | Isoelectric 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 |
doublePrecision | int | Sets the number of decimal places with which the result value is given, default is 2 |
POST request example with default isoelectricPoint parameters:
Name | Type | Description |
---|---|---|
pH | double | Major microspecies determines the major protonation form at a specified pH. It sets the pH, default is 7.4 |
takeMajorTautomericForm | boolean | If 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:
Name | Type | Description |
---|---|---|
type | enum | Charge computes the partial charge value of each atom
|
implicitHydrogens | boolean | Shows in detail the increments of the charge by the implicit hydrogens, default is true |
takeResonantStructures | boolean | If set to true (default), the average of the charge of the resonant srtuctures will be calculated |
takeMicrospecies | boolean | If set to true, the charge of the major microspecies at the given pH will be presented. Default is false |
pH | double | If 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:
Name | Type | Description |
---|---|---|
geom3D | boolean | If set to true, it calculates the polarization tensor values in 3D. Default is false |
takeMajorMicrospecies | boolean | If set to true, the polarizability of major microspecies at the given pH is calculated. Default (false) calculates polarizability of the neutral form |
pH | double | If 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:
Name | Type | Description |
---|---|---|
excludePhosphorus | boolean | Polar 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 |
excludeSulfur | boolean | If set to true (default), it excludes sulfur atoms from calculation |
takeMajorMicrospecies | boolean | If set to true, the structure of the major form at the given pH is displayed. Default value is false |
pH | double | If 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:
Name | Type | Description |
---|---|---|
unit | string |
|
radiusScaleFactor | double | Atom radii from the periodic system are multiplied by this number. Default value is 1 |
MMFF94Optimization | boolean | If 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) |
projectionOptimization | boolean | If 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
|
optimizationLimit | string |
|
POST request example with default geometry parameters:
Name | Type | Description |
---|---|---|
stereoisomerismType | string |
|
maxStructureCount | int | Only the given number of structures are generated, default value is 1 |
protectDoubleBondStereo | boolean | If set to true, all double bonds with preset stereo information remain intact, default is false |
protectTetrahedralStereo | boolean | If set to true, preset stereocenters are not included in the stereoisomer generation, default is false |
filterInvalid3DStructures | boolean | If set to true, sterically restricted isomers are discarded, default is false |
POST request example with default stereoisomer parameters:
Name | Type | Description |
---|---|---|
calculationType | string |
|
maxStructureCount | int | Maximize the number of structures to display, default value is 1000 |
considerPH | boolean | Takes into account the protonation states at given pH, false is default |
pH | double | If pH value is taken into account, it sets its value, default is 7.4 |
enableMaxPathLength | boolean | If 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) |
maxPathLength | int | Sets maximum allowed length of the tautomerization path, default is 4 |
boolean | DEPRECATED Use normalTautomerGenerationMode instead! | |
normalTautomerGenerationMode | boolean |
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 |
singleFragmentMode | boolean | If 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 |
protectAromaticity | boolean | If set to true (default), the aromaticity will be maintained |
protectCharge | boolean | If set to true (default), defined charged atoms maintain their charge during calculation |
excludeAntiAromaticCompounds | boolean | If set to true (default), any tautomer structure having an antiaromatic ring system will be discarded |
protectDoubleBondStereo | boolean | If 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. |
protectAllTetrahedralStereoCenters | boolean | If 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. |
protectLabeledTetrahedralStereoCenters | boolean | If 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 |
protectEsterGroups | boolean | If set to true (default), ester groups are not taking part in tautomerization. |
ringChainTautomerizationAllowed | boolean | This 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:
Name | Type | Description |
---|---|---|
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 |
pHUpper | double | Defines the upper end of the pH window in which HBDA is calculated, default value is 14 |
pHStep | double | Defines the pH step size by which HBDA calculation is incremented (pH values start from the lower limit), default value is 0.1 |
excludeSulfur | boolean | If set to true (default), it excludes sulfur atoms from acceptors |
excludeHalogens | boolean | If set to true (default), it excludes halogen atoms from acceptors |
displayMajorMicrospecies | boolean | HBDA 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 |
pH | double | If 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:
Name | Type | Description |
---|---|---|
singleFragmentMode | boolean | The following molecular values related to the elemental composition of the molecule are calculated by the elemental analysis plugin:
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:
|
symbolD | boolean | If 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:
Name | Type | Description |
---|---|---|
inchiAux | boolean | It displays names in following formats:
|
uniqueSmiles | boolean | The 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:
Name | Type | Description |
---|---|---|
singleFragmentMode | boolean | Topology 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:
Option | Type | Description |
---|---|---|
pHLower | DOUBLE | default: 0.0 |
pHUpper | DOUBLE | default: 14.0 |
pHStep | DOUBLE | default: 0.1 |
unit | STRING |
default: LOGS
|
POST request example with default solubility parameters:
Option | Type | Description |
---|---|---|
includeFusedMolecules | BOOLEAN | default: false |
type | STRING |
default: COMMON_SCAFFOLD
|
moleculesToAlign | ARRAY OF STRING |
POST request example
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
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
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
|
POST request example
You can view molecule properties without storing, just post the structures as a JSON message:
The content of the database can be modified through these services.
The process reports the number of the sucessufully imported molecules and their IDs.
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.)
http://localhost:8080/rest-v0/data/sample
"tableName":"my_table_name"
field before "monitorId"
field.
"tableType":"ANY_STRUCTURES"
The operationType
attribute must be UPDATE
, the cd_id
is the id of the chosen structure and the structure
field contains the new structure.
The operationType
attribute must be DELETE
, the cd_id
is the id of the chosen molecule.
The operationType
attribute must be INSERT
, structure
field contains the new structure.
The response defines the cd_id
of the inserted molecule.
Monitoring collects information about the status of a longer process. Currently long queries, imports and database recalcualtions can be monitored.
This request returns an id which must be passed to the monitored process.
The result contains an array of all available monitors; each monitor entry contains a status (typically: CREATED
, STARTED
, RUNNING
, FINISHED
)
Retrieves the status of the monitor with the specified id.
Use the monitor during import to see an example for the monitoring process in action.
1. Create a new monitor here"monitorId"
field) here
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
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.)
These functions are mainly used by Marvin for JavaScript.
Name | Type | Description |
---|---|---|
structure | Molecule | molecule in any format that is recognized by Marvin |
parameters | string | format string for the exporter |
The result (Content-Type: text/plain
) contains the converted structure in the given format.
Name | Type | Description |
---|---|---|
structure | Molecule | molecule in any format that is recognized by Marvin |
inputFormat | string | format string, hint for the input structure (optional) |
parameters | string | format 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
)
Name | Type | Description |
---|---|---|
structure | Molecule | molecule in any format that is recognized by Marvin |
The result (Content-Type: application/json
) contains the stereo information for the intput structure.
The result (Content-Type: application/json
) contains the determined errors and the fixed molecule
Returns a list of available structure checkers, matching fixers and list of parameters
This request returns the list of available structure checkers
The input is a molecule in any format that is recognized by Marvin. The result (Content-Type: application/json
) contains the format and properties.
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.
Name | Type | Description |
---|---|---|
structure | Molecule | molecule in any format that is recognized by Marvin |
parameters.dim | integer | dimensions to clean to. 2 or 3 |
parameters.fixed | array of integers | array of fixed atom indices |
parameters.opts | string | other options of the cleaner |
The result will contain the cleaned structure in mrv format (Content-Type: text/plain
).
Option | Type | Description |
---|---|---|
method | STRING |
default: DEHYDROGENIZE
|
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
).
Name | Type | Description |
---|---|---|
structure | Molecule | molecule in any format that is recognized by Marvin |
Name | Type | Description |
---|---|---|
structure | Molecule | molecule in any format that is recognized by Marvin |
The result is the colored molecule in plain/text
mrv format.
Option | Type | Description |
---|---|---|
autoMappingStyle | STRING |
default: OFF
|
The result is the converted reaction in plain/text
mrv format.
Using filters as a filter chain (sample for format conversion service)
The result is now containing the calculated values for the filtered molecule(s)
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.