def calc_FOE(smi, idx): pk = Psikit() pk.read_from_smiles(smi) pk.optimize() print(f'H**O: {pk.H**O}, LUMO: {pk.LUMO}') with open(f'./psikitout/{idx}.txt', 'w') as outf: outf.write(f'{smi}\t{pk.H**O}\t{pk.LUMO}\n') return (pk.H**O, pk.LUMO)
def resp_charges(smile, bset="hf/6-31g"): # https://github.com/Mishima-syk/psikit pk = Psikit.read_from_smiles(smiles_str=smile) pk.energy() pk.optimize(basis_sets=bset) return pk.cal_resp_charges()
def test_mul1_energy(): pk = Psikit() pk.read_from_smiles("CO") energy = pk.energy(multiplicity=1) assert pytest.approx(-115.0421871159, 0.000000005) == energy
def test_mul3_energy(): pk = Psikit() pk.read_from_smiles("CO") energy = pk.energy(multiplicity=4) assert pytest.approx(-40.19996313, 0.000000005) == energy
def test_read_from_smiles(): pk = Psikit() pk.read_from_smiles("C") assert type(pk.mol) is rdkit.Chem.rdchem.Mol
def test_optimize(): pk = Psikit() pk.read_from_smiles("C") energy = pk.optimize() assert pytest.approx(-40.20171733, 0.000000005) == energy
def test_energy_sto3g(): pk = Psikit() pk.read_from_smiles("C") energy = pk.energy(basis_sets="scf/sto-3g") assert pytest.approx(-39.724747932, 0.000000005) == energy
def test_energy(): pk = Psikit() pk.read_from_smiles("C") energy = pk.energy() assert pytest.approx(-40.19996313, 0.000000005) == energy