User Tools

Site Tools


api

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
api [2017/12/05 13:20] – [Multiple queries exact search with availability] flackapi [2017/12/05 23:45] flack
Line 40: Line 40:
 Content-Type: application/json Content-Type: application/json
  
-[ +{ 
-    { +    "count": 2,  
-        "created": "2015-05-18", +    "next": null,  
-        "description": "Gzipped 2D SDF of all purchasable compounds", +    "previous": null 
-        "download_size_gb": 2.2+    "results": [ 
-        "download_url": "https://mcule.s3.amazonaws.com/mcule_purchasable_compounds_150518.sdf.gz", +        
-        "entry_count": 11695894+            "description": "All purchasable, in stock & virtual compounds",  
-        "name": "mcule_purchasable_compounds+            "entry_count": 35772718,  
-    }, +            "files":
-    +                { 
-        "created": "2015-05-18", +                    "download_url": "https://mcule.s3.amazonaws.com/database/mcule_purchasable_full_170918.sdf.gz",  
-        "description": "Gzipped 2D SDF of in stock compounds with known or unknown exact stock amount", +                    "file_type": "sdf.gz",  
-        "download_size_gb": 1.4+                    "file_type_display": "2D SDF (sdf.gz)" 
-        "download_url": "https://mcule.s3.amazonaws.com/mcule_in_stock_compounds_150518.sdf.gz", +                    "size_mb": 5762 
-        "entry_count": 5827052+                },  
-        "name": "mcule_in_stock_compounds+                
-    }, +                    "download_url": "https://mcule.s3.amazonaws.com/database/mcule_purchasable_full_170918.smiles.gz",  
-    +                    "file_type": "smiles.gz",  
-        "created": "2015-05-18", +                    "file_type_display": "SMILES (smi.gz)",  
-        "description": "Gzipped 2D SDF of in stock compounds with known exact stock amount", +                    "size_mb": 462 
-        "download_size_gb": 1.2+                } 
-        "download_url": "https://mcule.s3.amazonaws.com/mcule_known_stock_amount_compounds_150518.sdf.gz"+            ],  
-        "entry_count": 4922295+            "last_updated": "2017-09-18",  
-        "name": "mcule_known_stock_amount_compounds+            "name": "Mcule Purchasable (full)" 
-    }+        },  
-    { +        { 
-        "created": "2015-08-20", +            "description": "All purchasable, in stock compounds",  
-        "description": "Gzipped 2D SDF of purchasable compounds with known prices", +            "entry_count": 5648837,  
-        "download_size_gb": 2.2+            "files":
-        "download_url": "https://mcule.s3.amazonaws.com/mcule_instant_quotable_compounds_150820.sdf.gz", +                { 
-        "entry_count": 11533450+                    "download_url": "https://mcule.s3.amazonaws.com/database/mcule_purchasable_in_stock_170918.sdf.gz",  
-        "name": "mcule_instant_quotable_compounds+                    "file_type": "sdf.gz",  
-    }, +                    "file_type_display": "2D SDF (sdf.gz)" 
-    { +                    "size_mb": 1311 
-        "created": "2014-07-21", +                },  
-        "description": "Gzipped csv (delimitertab) of all compounds with mcule ID, standard InChI and InChIKey", +                
-        "download_size_gb": 0.4+                    "download_url": "https://mcule.s3.amazonaws.com/database/mcule_purchasable_in_stock_170918.smiles.gz",  
-        "download_url": "https://mcule.s3.amazonaws.com/mcule_inchies_140721.csv.gz"+                    "file_type": "smiles.gz",  
-        "entry_count": 7334938+                    "file_type_display": "SMILES (smi.gz)",  
-        "name": "mcule_inchies+                    "size_mb": 84 
-    +                } 
-]+            ],  
 +            "last_updated": "2017-09-18",  
 +            "name": "Mcule Purchasable (in stock)" 
 +        } 
 +    ] 
 +
 +</code> 
 + 
 + 
 +===== Compound details ===== 
 +== Endpoint: == 
 +<code>/compound/<mcule_id>/</code> 
 + 
 +== Example API request: == 
 +<code> 
 +http https://mcule.com/api/v1/compound/MCULE-9380369173/ --print HBhb 
 +</code> 
 + 
 +== Request: == 
 +<code> 
 +GET /api/v1/compound/MCULE-9380369173/ HTTP/1.
 +Accept: */* 
 +Accept-Encoding: gzip, deflate 
 +</code> 
 + 
 +== Response: == 
 +<code> 
 +HTTP/1.1 200 OK 
 +Allow: GETHEAD, OPTIONS 
 +Content-Encoding: gzip 
 +Content-Type: application/json 
 + 
 +
 +    "components": [],  
 +    "formula": "C15H11N3O2S2" 
 +    "inchi_key": "WVRLGAPZMSKMGL-UHFFFAOYSA-N",  
 +    "mcule_id": "MCULE-9380369173",  
 +    "mol": "\n  mcule   05121714262D\n\n 22 24  0  0  0  0  0  0  0  0999 V2000\n    3.8489    4.0497    0.0000 C    0  0  0  0  0  0  0  0  0  0  0\n    3.8489    3.0496    0.0000 O    0  0  0  0  0  0  0  0  0  0  0\n    2.9831    2.5496    0.0000 C    0  0  0  0  0  0  0  0  0  0  0\n    2.1169    3.0496    0.0000 O    0  0  0  0  0  0  0  0  0  0  0\n    2.9831    1.5495    0.0000 C    0  0  0  0  0  0  0  0  0  0  0\n    3.7922    0.9621    0.0000 C    0  0  0  0  0  0  0  0  0  0  0\n    3.4832    0.0109    0.0000 N    0  0  0  0  0  0  0  0  0  0  0\n    2.4829    0.0109    0.0000 C    0  0  0  0  0  0  0  0  0  0  0\n    1.8951   -0.7981    0.0000 C    0  0  0  0  0  0  0  0  0  0  0\n    0.9006   -0.6935    0.0000 C    0  0  0  0  0  0  0  0  0  0  0\n    0.3127   -1.5025    0.0000 C    0  0  0  0  0  0  0  0  0  0  0\n    0.6220   -2.4537    0.0000 C    0  0  0  0  0  0  0  0  0  0  0\n   -0.1871   -3.0416    0.0000 N    0  0  0  0  0  0  0  0  0  0  0\n   -0.9960   -2.4537    0.0000 C    0  0  0  0  0  0  0  0  0  0  0\n   -0.6872   -1.5025    0.0000 S    0  0  0  0  0  0  0  0  0  0  0\n   -1.9472   -2.7625    0.0000 C    0  0  0  0  0  0  0  0  0  0  0\n   -2.1550   -3.7409    0.0000 C    0  0  0  0  0  0  0  0  0  0  0\n   -3.1061   -4.0497    0.0000 C    0  0  0  0  0  0  0  0  0  0  0\n   -3.8489   -3.3807    0.0000 C    0  0  0  0  0  0  0  0  0  0  0\n   -3.6412   -2.4024    0.0000 C    0  0  0  0  0  0  0  0  0  0  0\n   -2.6901   -2.0935    0.0000 N    0  0  0  0  0  0  0  0  0  0  0\n    2.1740    0.9621    0.0000 S    0  0  0  0  0  0  0  0  0  0  0\n  1  2  1  0  0  0  0\n  2  3  1  0  0  0  0\n  3  4  2  0  0  0  0\n  3  5  1  0  0  0  0\n  5  6  2  0  0  0  0\n  6  7  1  0  0  0  0\n  7  8  2  0  0  0  0\n  8  9  1  0  0  0  0\n  9 10  2  3  0  0  0\n 10 11  1  0  0  0  0\n 11 12  2  0  0  0  0\n 12 13  1  0  0  0  0\n 13 14  2  0  0  0  0\n 14 15  1  0  0  0  0\n 11 15  1  0  0  0  0\n 14 16  1  0  0  0  0\n 16 17  1  0  0  0  0\n 17 18  2  0  0  0  0\n 18 19  1  0  0  0  0\n 19 20   0  0  0  0\n 20 21  1  0  0  0  0\n 16 21  2  0  0  0  0\n  8 22  1  0  0  0  0\n  5 22  1  0  0  0  0\nM  END",  
 +    "properties": { 
 +        "atoms": 33,  
 +        "components": 1,  
 +        "ct_bonds": 1,  
 +        "h_bond_acceptors": 5,  
 +        "h_bond_donors": 0,  
 +        "halogen_atoms": 0,  
 +        "heavy_atoms": 22,  
 +        "heteroatoms": 7,  
 +        "hydrogens": 11,  
 +        "known_ct_bonds": 0,  
 +        "known_stereocenters": 0,  
 +        "logp": 3.6186,  
 +        "mol_mass": 329.401,  
 +        "non_organic_atoms": 0,  
 +        "o_and_n_atoms": 5,  
 +        "psa": 121.45,  
 +        "r3_violations": 5,  
 +        "r5_violations": 0,  
 +        "refractivity": 87.6665,  
 +        "rings": 3,  
 +        "rotatable_bonds": 5,  
 +        "stereocenters": 0,  
 +        "undef_ct_bonds": 0,  
 +        "undef_stereocenters": 0,  
 +        "unknown_ct_bonds": 1,  
 +        "unknown_stereocenters": 0 
 +    },  
 +    "smiles": "COC(C1SC(C=CC2SC(C3=NC=CC=C3)=NC=2)=NC=1)=O",  
 +    "std_inchi": "InChI=1S/C15H11N3O2S2/c1-20-15(19)12-9-17-13(22-12)6-5-10-8-18-14(21-10)11-4-2-3-7-16-11/h2-9H,1H3",  
 +    "stereo_type": "none",  
 +    "url""https://mcule.com/MCULE-9380369173/" 
 +
 +</code> 
 + 
 +===== InChIKey lookup ===== 
 +== Endpoint: == 
 +<code>/lookup/<inchi_key></code> 
 + 
 +== Example API request: == 
 +<code> 
 +http https://mcule.com/api/v1/lookup/inchikey/WVRLGAPZMSKMGL-UHFFFAOYSA-N --print HBhb 
 +</code> 
 + 
 +== Request: == 
 +<code> 
 +GET /api/v1/lookup/inchikey/WVRLGAPZMSKMGL-UHFFFAOYSA-N HTTP/1.1 
 +Accept: */* 
 +Accept-Encoding: gzipdeflate 
 +</code> 
 + 
 +== Response: == 
 +<code> 
 +HTTP/1.1 200 OK 
 +Allow: GET, HEAD, OPTIONS 
 +Content-Encoding: gzip 
 +Content-Type: application/json 
 + 
 +
 +    "results": [ 
 +        
 +            "mcule_id": "MCULE-9380369173",  
 +            "smiles": "COC(C1SC(C=CC2SC(C3=NC=CC=C3)=NC=2)=NC=1)=O",  
 +            "url": "https://mcule.com/MCULE-9380369173/" 
 +        } 
 +    ] 
 +
 +</code> 
 + 
 + 
 +===== Single query search / lookup ===== 
 +== Endpoint: == 
 +<code>/search/lookup/?query=<your_query></code> 
 + 
 +Where the query can be an mcule ID, SMILES, InChI or InChIKey identifier. 
 + 
 +== Example API request: == 
 +<code> 
 +http 'https://mcule.com/api/v1/search/lookup/?query=COC(C1SC(C=CC2SC(C3=NC=CC=C3)=NC=2)=NC=1)=O' --print HBhb 
 +</code> 
 + 
 +== Request: == 
 +<code> 
 +GET /api/v1/search/lookup/?query=COC(C1SC(C=CC2SC(C3=NC=CC=C3)=NC=2)=NC=1)=O HTTP/1.
 +Accept: */* 
 +Accept-Encoding: gzip, deflate 
 +</code> 
 + 
 +== Response: == 
 +<code> 
 +HTTP/1.1 200 OK 
 +Allow: GET, HEADOPTIONS 
 +Content-Encoding: gzip 
 +Content-Type: application/json 
 + 
 +
 +    "results": [ 
 +        
 +            "mcule_id": "MCULE-9380369173",  
 +            "smiles": "COC(C1SC(C=CC2SC(C3=NC=CC=C3)=NC=2)=NC=1)=O" 
 +            "url": "https://mcule.com/MCULE-9380369173/" 
 +        
 +    ] 
 +}
 </code> </code>
  
Line 99: Line 240:
  
 Protected API endpoints are only accessible if a valid token is provided in the Authorization header of the request. Protected API endpoints are only accessible if a valid token is provided in the Authorization header of the request.
 +
 +===== Compound availability =====
 +== Endpoint: ==
 +<code>/compound/<mcule_id>/availability/</code>
 +
 +== Example API request: ==
 +<code>
 +http https://mcule.com/api/v1/compound/MCULE-9380369173/availability/ "Authorization: Token <your_token>" --print HBhb
 +</code>
 +
 +== Request: ==
 +<code>
 +GET /api/v1/compound/MCULE-9380369173/availability/ HTTP/1.1
 +Accept: */*
 +Accept-Encoding: gzip, deflate
 +Authorization: Token <your_token>
 +</code>
 +
 +== Response: ==
 +<code>
 +HTTP/1.1 200 OK
 +Allow: GET, HEAD, OPTIONS
 +Content-Encoding: gzip
 +Content-Type: application/json
 +
 +{
 +    "availability_type": "in stock", 
 +    "confirmed_amount": 242, 
 +    "confirmed_amount_unit": "mg"
 +}
 +</code>
 +
 +
 +===== Compound prices =====
 +== Endpoint: ==
 +<code>/compound/<mcule_id>/prices/</code>
 +
 +== Example API request: ==
 +<code>
 +http https://mcule.com/api/v1/compound/MCULE-9380369173/prices/ "Authorization: Token <your_token>" --print HBhb
 +</code>
 +
 +== Request: ==
 +<code>
 +GET /api/v1/compound/MCULE-9380369173/prices/ HTTP/1.1
 +Accept: */*
 +Accept-Encoding: gzip, deflate
 +Authorization: Token <your_token>
 +</code>
 +
 +== Response: ==
 +<code>
 +HTTP/1.1 200 OK
 +Allow: GET, HEAD, OPTIONS
 +Content-Encoding: gzip
 +Content-Type: application/json
 +
 +{
 +    "best_prices": [
 +        {
 +            "amount": 1, 
 +            "currency": "USD", 
 +            "delivery_time_working_days": 9, 
 +            "price": 107, 
 +            "purity": 90, 
 +            "unit": "mg"
 +        }, 
 +        {
 +            "amount": 5, 
 +            "currency": "USD", 
 +            "delivery_time_working_days": 9, 
 +            "price": 116, 
 +            "purity": 90, 
 +            "unit": "mg"
 +        }, 
 +        {
 +            "amount": 10, 
 +            "currency": "USD", 
 +            "delivery_time_working_days": 9, 
 +            "price": 151, 
 +            "purity": 90, 
 +            "unit": "mg"
 +        }
 +    ]
 +}
 +</code>
 +
 +It returns the best prices for 1mg, 5mg and 10mg amounts by default.
 +You can specify amounts of your choice in the //amounts// GET parameter:
 +
 +<code>
 +http 'https://mcule.com/api/v1/compound/MCULE-9380369173/prices/?amounts=15,20' "Authorization: Token <your_token>" --print HBhb
 +</code>
 +
  
 ===== Multiple queries exact search ===== ===== Multiple queries exact search =====
Line 143: Line 378:
             "mcule_id": "MCULE-9380369173",              "mcule_id": "MCULE-9380369173", 
             "smiles": "COC(C1SC(C=CC2SC(C3=NC=CC=C3)=NC=2)=NC=1)=O",              "smiles": "COC(C1SC(C=CC2SC(C3=NC=CC=C3)=NC=2)=NC=1)=O", 
-            "url": "http://mcule.com/MCULE-9380369173/"+            "url": "https://mcule.com/MCULE-9380369173/"
         },          }, 
         {         {
Line 149: Line 384:
             "mcule_id": "MCULE-4016901520",              "mcule_id": "MCULE-4016901520", 
             "smiles": "CC1=C(C(N2CC3C(CCC3N)C2)=O)SC(CC2=CC=CC=C2)=N1",              "smiles": "CC1=C(C(N2CC3C(CCC3N)C2)=O)SC(CC2=CC=CC=C2)=N1", 
-            "url": "http://mcule.com/MCULE-4016901520/"+            "url": "https://mcule.com/MCULE-4016901520/"
         },          }, 
         {         {
Line 155: Line 390:
             "mcule_id": "MCULE-7428195288",              "mcule_id": "MCULE-7428195288", 
             "smiles": "C1([C@H](C(C)C)NC(CCCC[C@H]2CCSS2)=O)NC2=C(C=CC=C2)N=1",              "smiles": "C1([C@H](C(C)C)NC(CCCC[C@H]2CCSS2)=O)NC2=C(C=CC=C2)N=1", 
-            "url": "http://mcule.com/MCULE-7428195288/"+            "url": "https://mcule.com/MCULE-7428195288/"
         },          }, 
         {         {
Line 161: Line 396:
             "mcule_id": "MCULE-1259420189",              "mcule_id": "MCULE-1259420189", 
             "smiles": "CCCCC1=CC=C(CC(N(CC2CCN(C)CC2)C)=O)C=C1",              "smiles": "CCCCC1=CC=C(CC(N(CC2CCN(C)CC2)C)=O)C=C1", 
-            "url": "http://mcule.com/MCULE-1259420189/"+            "url": "https://mcule.com/MCULE-1259420189/"
         }         }
     ]     ]
Line 213: Line 448:
             "mcule_id": "MCULE-9380369173",              "mcule_id": "MCULE-9380369173", 
             "smiles": "COC(C1SC(C=CC2SC(C3=NC=CC=C3)=NC=2)=NC=1)=O",              "smiles": "COC(C1SC(C=CC2SC(C3=NC=CC=C3)=NC=2)=NC=1)=O", 
-            "url": "http://mcule.com/MCULE-9380369173/"+            "url": "https://mcule.com/MCULE-9380369173/"
         },          }, 
         {         {
Line 224: Line 459:
             "mcule_id": "MCULE-4016901520",              "mcule_id": "MCULE-4016901520", 
             "smiles": "CC1=C(C(N2CC3C(CCC3N)C2)=O)SC(CC2=CC=CC=C2)=N1",              "smiles": "CC1=C(C(N2CC3C(CCC3N)C2)=O)SC(CC2=CC=CC=C2)=N1", 
-            "url": "http://mcule.com/MCULE-4016901520/"+            "url": "https://mcule.com/MCULE-4016901520/"
         },          }, 
         {         {
Line 235: Line 470:
             "mcule_id": "MCULE-7428195288",              "mcule_id": "MCULE-7428195288", 
             "smiles": "C1([C@H](C(C)C)NC(CCCC[C@H]2CCSS2)=O)NC2=C(C=CC=C2)N=1",              "smiles": "C1([C@H](C(C)C)NC(CCCC[C@H]2CCSS2)=O)NC2=C(C=CC=C2)N=1", 
-            "url": "http://mcule.com/MCULE-7428195288/"+            "url": "https://mcule.com/MCULE-7428195288/"
         },          }, 
         {         {
Line 246: Line 481:
             "mcule_id": "MCULE-1259420189",              "mcule_id": "MCULE-1259420189", 
             "smiles": "CCCCC1=CC=C(CC(N(CC2CCN(C)CC2)C)=O)C=C1",              "smiles": "CCCCC1=CC=C(CC(N(CC2CCN(C)CC2)C)=O)C=C1", 
-            "url": "http://mcule.com/MCULE-1259420189/"+            "url": "https://mcule.com/MCULE-1259420189/"
         }         }
     ]     ]
  
 </code> </code>
api.txt · Last modified: 2024/05/10 08:12 by bkovats