LogP is a measure of a compound's lipophilicity (its preference for a fatty or oily environment versus a water-based one). It's a critical parameter in drug design, as it influences how a drug is absorbed and distributed in the body.
Descriptors.MolLogP() is the function that is used to calculate the molecular weight of a compound.
Calculate the LogP of Butane (Figure 1).
Code:
butane_smiles = "CCCC"
butane_mol = Chem.MolFromSmiles(butane_smiles)
# Calculate Log P
butane_mw =Descriptors.MolLogP(butane_mol)
print(f"LogP of Butane: {butane_mw:.2f}")
Figure 1: LogP of Butane
2. Calculate the LogP of Benzene (Figure 2).
Code:
benzene_smiles = "c1ccccc1"
benzene_mol = Chem.MolFromSmiles(benzene_smiles)
# Calculate LogP
benzene_mw = Descriptors.MolLogP(benzene_mol)
print(f"LogP of Benzene: {benzene_mw:.2f}")
Figure 2: LogP of Benzene
3. Calculate the LogP of Aspirin (Figure 3).
Code:
aspirin_smiles = "CC(=O)OC1=CC=CC=C1C(=O)O"
aspirin_mol = Chem.MolFromSmiles(aspirin_smiles)
# Calculate Log P
aspirin_mw = Descriptors.MolLogP(aspirin_mol)
print(f"LogP of Aspirin: {aspirin_mw:.2f}")
Figure 3: LogP of Aspirin
4. Calculate the LogP of Butanol (Figure 4).
Code:
butanol_smiles = "CCCCO"
butanol_mol = Chem.MolFromSmiles(butanol_smiles)
# Calculate Log P
butanol_mw = Descriptors.MolLogP(butanol_mol)
print(f"LogP of Butanol: {butanol_mw:.2f}")
Figure 4: LogP of Butanol
5. Calculate the LogP of Sodium Propionate (Figure 4).
Code:
sodiumpropionate_smiles = "CCC(=O)[O-].[Na+]"
sodiumpropionate_mol = Chem.MolFromSmiles(sodiumpropionate_smiles)
# Calculate LogP
sodiumpropionate_mw = Descriptors.MolLogP(sodiumpropionate_mol)
print(f"LogP of Sodium propionate: {sodiumpropionate_mw:.2f}")
Figure 5: LogP of Sodium propionate