xtbf.shortcuts
1from xtbf import * 2from xtbf.parsers import * 3 4def add_xtb_charges(mol:"Chem.Mol", 5 multiplicity=1, 6 conf_id=0, 7 property="xtb_partial_charge",) -> bool: 8 """ 9 10 >>> from smal.all import * 11 >>> mol = from_smi("NCCCO") 12 >>> mol = embed_molecule(mol) 13 >>> add_xtb_charges(mol) 14 True 15 >>> for atm in mol.GetAtoms(): 16 ... print(atm.GetSymbol(),"<>",atm.GetDoubleProp('xtb_partial_charge')) 17 N <> -0.343 18 C <> 0.021 19 C <> -0.074 20 C <> 0.075 21 O <> -0.442 22 H <> 0.138 23 H <> 0.137 24 H <> 0.007 25 H <> 0.035 26 H <> 0.034 27 H <> 0.043 28 H <> 0.049 29 H <> 0.036 30 H <> 0.284 31 """ 32 success, out = run_xtb("--opt", mol, multiplicity, conf_id) 33 if not success: 34 return False 35 else: 36 charges = partial_charges(out)[0] 37 for idx in range(mol.GetNumAtoms()): 38 atm = mol.GetAtomWithIdx(idx) 39 atm.SetDoubleProp(property,charges[idx]) 40 return True
def
add_xtb_charges( mol: rdkit.Chem.rdchem.Mol, multiplicity=1, conf_id=0, property='xtb_partial_charge') -> bool:
5def add_xtb_charges(mol:"Chem.Mol", 6 multiplicity=1, 7 conf_id=0, 8 property="xtb_partial_charge",) -> bool: 9 """ 10 11 >>> from smal.all import * 12 >>> mol = from_smi("NCCCO") 13 >>> mol = embed_molecule(mol) 14 >>> add_xtb_charges(mol) 15 True 16 >>> for atm in mol.GetAtoms(): 17 ... print(atm.GetSymbol(),"<>",atm.GetDoubleProp('xtb_partial_charge')) 18 N <> -0.343 19 C <> 0.021 20 C <> -0.074 21 C <> 0.075 22 O <> -0.442 23 H <> 0.138 24 H <> 0.137 25 H <> 0.007 26 H <> 0.035 27 H <> 0.034 28 H <> 0.043 29 H <> 0.049 30 H <> 0.036 31 H <> 0.284 32 """ 33 success, out = run_xtb("--opt", mol, multiplicity, conf_id) 34 if not success: 35 return False 36 else: 37 charges = partial_charges(out)[0] 38 for idx in range(mol.GetNumAtoms()): 39 atm = mol.GetAtomWithIdx(idx) 40 atm.SetDoubleProp(property,charges[idx]) 41 return True
>>> from smal.all import *
>>> mol = from_smi("NCCCO")
>>> mol = embed_molecule(mol)
>>> add_xtb_charges(mol)
True
>>> for atm in mol.GetAtoms():
... print(atm.GetSymbol(),"<>",atm.GetDoubleProp('xtb_partial_charge'))
N <> -0.343
C <> 0.021
C <> -0.074
C <> 0.075
O <> -0.442
H <> 0.138
H <> 0.137
H <> 0.007
H <> 0.035
H <> 0.034
H <> 0.043
H <> 0.049
H <> 0.036
H <> 0.284