Skip to main content

A python library for chemical price Search.

Project description


ChemPrice

ChemPrice is a software tool designed for the purpose of gathering pricing information for specific molecules. It is capable of retrieving price data from three different integration sources: Molport, ChemSpace, and MCule. To access these integrators, users must provide an API key for each one.

Resources

User Manual

You can find the detailed features and examples in the following link: User Manual.

Web Application

ChemPrice is also available as a web application. You can use it at the following link: Web Application.

Installation

Use pip

ChemPrice can be installed using pip by running:

pip install chemprice

How to use Chemprice

Getting started

ChemPrice requires a list of molecule SMILES as the representation of molecules:

smiles_list = ["CC(=O)NC1=CC=C(C=C1)O", "CC(C)CC1=CC=C(C=C1)C(C)C(=O)O", "O=C(C)Oc1ccccc1C(=O)O"]

First, we need to create an instance from the PriceCollector class. Using this instance, we'll be able to connect to the various integrators and then launch a search on the list of smiles entered.

from chemiprice import PriceCollector
pc = PriceCollector()

Request an API key

To access integrators' data, you need to be able to connect to their API.

If you don't have an API key yet, you can click on the following links : Molport, ChemSpace and MCule, which will take you back to their sites where you can request an API key.

Set the API key for each integrator

Now, an instance from the PriceCollector class has been created, we need to connect to one or more integrators via an API key.

Connection to Molport via API key:

pc.setMolportApiKey("880d8343-8ui2-418c-9g7a-68b4e2e78c8b")

In the case of Molport, it's also possible to log in with a login and password.

pc.setMolportUsername("john.spade")
pc.setMolportPassword("fasdga34a3")

To check the status of each key, run the following method :

pc.status()

Possible Outputs

# Username/Password and API Key are Set:
Status: Molport: both credentials are set.

# Only Username/Password or API Key is Set:
Status: Molport: credential is set.

# No Credential is Set:
Status: Molport: no credential is set.

Similar to the Molport connection, for ChemSpace and MCule, the approach is the same. However, ChemSpace and MCule require only an API key. You need to use the :mod:setChemSpaceApiKey() and :mod:setMCuleApiKey() functions, such as :

pc.setChemSpaceApiKey(<chemspace_api_key>)
pc.setMCuleApiKey(<mcule_api_key>)

Price Search

Before starting the price search, check the validity of the API keys entered.

pc.check()

Possible Outputs:

# API Key is Set and correct:
Check: Molport API key is correct.

# API Key is Set but not correct:
Check: Molport API key is incorrect.

If the identifiers checked are correct, then it's possible to run the method :mod:collect() to obtain all the information found on the molecule. The price is given in USD according to the units and quantity entered by the vendor. The units of measurement for quantities are categorized into three families: mols, grams, and liters.

all_prices = pc.collect()

The output will be a dataframe containing all price information about the molecule.

Input Smiles Source Supplier Name Purity Amount Measure Price_USD
CC(=O)NC1=CC=C(C=C1)O Molport "ChemDiv, Inc." >90 100 mg 407.1
CC(=O)NC1=CC=C(C=C1)O Molport MedChemExpress Europe 98.83 10 g 112.8
CC(=O)NC1=CC=C(C=C1)O Molport TargetMol Chemicals 100.0 500 mg 50.0

With the :mod:selectBest() function, you can keep only the best prices for each molecule. In fact, for each unit of measurement (mol gram and liter) the results are compared to find the best quantity/price ratio.

pc.selectBest(all_prices)

The output will be a dataframe containing only the best quantity/price ratio of each molecule.

Input Smiles Source Supplier Name Purity Amount Measure Price_USD USD/g USD/mol
CC(=O)NC1=CC=C(C=C1)O Molport Cayman Europe >=98 500 g 407.1 0.22
O=C(C)Oc1ccccc1C(=O)O Molport Cayman Europe >=90 500 g 112.8 0.1606
O=C(C)Oc1ccccc1C(=O)O Molport Life Chemicals Inc. >90 20 micromol 50.0 3950000.0000000005

Contact

For any question you can contact us through email:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chemprice-1.1.0.tar.gz (74.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

chemprice-1.1.0-py3-none-any.whl (78.4 kB view details)

Uploaded Python 3

File details

Details for the file chemprice-1.1.0.tar.gz.

File metadata

  • Download URL: chemprice-1.1.0.tar.gz
  • Upload date:
  • Size: 74.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.28.1 rfc3986/1.5.0 tqdm/4.65.0 urllib3/1.26.5 CPython/3.10.12

File hashes

Hashes for chemprice-1.1.0.tar.gz
Algorithm Hash digest
SHA256 054312d8d29439d4641d4a9310c7940e6e88a75d9e6030dc0a9cc138bcd0009d
MD5 f4d224a559ebebe9eb2eeacd51fe6f0e
BLAKE2b-256 7fd32fd4e9c6a532abb026726086c957c0bd09e1ce5c9ac4cfefc215434d7359

See more details on using hashes here.

File details

Details for the file chemprice-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: chemprice-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 78.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.28.1 rfc3986/1.5.0 tqdm/4.65.0 urllib3/1.26.5 CPython/3.10.12

File hashes

Hashes for chemprice-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 79b5f187e8f2f3e7bffdff8161770deb643f84017e2e15d8cb0c58f962643151
MD5 b235bc9f6a4f69a94414be26c386a438
BLAKE2b-256 497e4b9ccfe5c35e6a0f9ee79616b617b091e8b93b2936a6b1144a0c6ed5ff66

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page