Collections:
openbabel.cheminfo.org/v1/convert - Web API
How to make a HTTP request to the Open Babel Web API at openbabel.cheminfo.org/v1/convert?
✍: FYIcenter.com
You can call the Open Babel Web API at https://openbabel.cheminfo.org/v1/convert
with a HTTP POST request as shown below.
1. Use "curl" command to call the Web API to generate a 3D SDF file from a given SMILES string.
curl https://openbabel.cheminfo.org/v1/convert \
--form input='c1ccccc1' --form inputFormat='smiles -- SMILES format' \
--form outputFormat='sdf -- MDL MOL format' --form coordinates='3D' \
--form hydrogens='Delete'
{"result":"\n OpenBabel01122301573D\n\n
6 6 0 0 0 0 0 0 0 0999 V2000\n
1.3831 -0.2216 0.0059 C 0 0 0 0 0 0 0 0 0 0 0 0\n
0.5071 -1.3070 -0.0080 C 0 0 0 0 0 0 0 0 0 0 0 0\n
-0.8711 -1.0906 -0.0144 C 0 0 0 0 0 0 0 0 0 0 0 0\n
-1.3727 0.2109 -0.0040 C 0 0 0 0 0 0 0 0 0 0 0 0\n
-0.4966 1.2959 0.0106 C 0 0 0 0 0 0 0 0 0 0 0 0\n
0.8813 1.0799 0.0144 C 0 0 0 0 0 0 0 0 0 0 0 0\n
...
}
Note that the "--form" options encode POST data as "multipart/form-data". If you use the "--data" option to encode POST data as "application/x-www-form-urlencoded", you will get an error:
curl https://openbabel.cheminfo.org/v1/convert \
--data 'input=c1ccccc1&inputFormat=smiles+--+SMILES+format&outputFormat=sdf+--+MDL+MOL+format&coordinates=3D&hydrogens=Delete'
{"statusCode":415,"code":"FST_ERR_CTP_INVALID_MEDIA_TYPE",
"error":"Unsupported Media Type",
"message":"Unsupported Media Type: application/x-www-form-urlencoded"}
2. Use PHP script to call the Web API to generate a 3D SDF file from a given SMILES string.
php > $post = [
php > 'input' => 'c1ccccc1',
php > 'inputFormat' => 'smiles -- SMILES format',
php > 'outputFormat' => 'sdf -- MDL MOL format',
php > 'coordinates' => '3D',
php > 'hydrogens' => 'Delete'
php > ];
php >
php > $log = fopen('curl.log', 'w');
php > $ch = curl_init('https://openbabel.cheminfo.org/v1/convert');
php > curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
php > curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
php > curl_setopt($ch, CURLOPT_VERBOSE, 1);
php > curl_setopt($ch, CURLOPT_STDERR, $log);
php > $response = curl_exec($ch);
php > curl_close($ch);
php > fclose($log);
php >
php > print($response);
{"result":"\n OpenBabel01122301293D\n\n 6 6 0 0 0 0 0 0 0 0999 V2000\n 1.3831 -0.2215 0.0055 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.5068 -1.3068 -0.0081 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.8712 -1.0907 -0.0144 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.3730 0.2107 -0.0047 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.4968 1.2959 0.0101 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.8811 1.0798 0.0139 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 6 2 0 0 0 0\n 2 3 2 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 2 0 0 0 0\n 5 6 1 0 0 0 0\nM END\n$$$$\n","log":"1 molecule converted\n"}
By default, CURLOPT_POSTFIELDS option will encode POST data as "multipart/form-data", not "application/x-www-form-urlencoded".
⇒ Open Babel Documentation and Resources
2023-01-24, 1183🔥, 0💬
Popular Posts:
Molecule Summary: ID: FYI-1001986 SMILES: NC(C1=C[N+]([C@@H]2O[C@@ H]([C@H]([C@H]2O)O)COP([ O-])(OP(O)...
Molecule Summary: ID: FYI-1005853 Names: InChIKey: CMTNGGBQOLRRNG-UHFFFAOYS A-NSMILES: CN1C(=O)NCC1C...
Molecule Summary: ID: FYI-1003220 Names: InChIKey: JSQCMNXZFPMWES-UHFFFAOYS A-NSMILES: CC7CCC6(C(=O)...
How to add hydrogen atoms to molecule data during data conversion? Most molecules contains many hydr...
Where to find FAQ (Frequently Asked Questions) on Ketcher, Chemical Structure Editor in JavaScript? ...