📄 pielectronegativitydescriptortest.java
字号:
*/
public void testPiElectronegativityDescriptor_Formaldehyde() throws ClassNotFoundException, CDKException, java.lang.Exception {
double [] testResult={6.3012,8.0791,0.0,0.0,0.0};/* from Petra online: http://www2.chemie.uni-erlangen.de/services/petra/smiles.phtml*/
IAtomicDescriptor descriptor = new PiElectronegativityDescriptor();
Integer[] params = new Integer[1];
SmilesParser sp = new SmilesParser(DefaultChemObjectBuilder.getInstance());
IMolecule mol = sp.parseSmiles("C=O");
HydrogenAdder hAdder = new HydrogenAdder();
hAdder.addExplicitHydrogensToSatisfyValency(mol);
LonePairElectronChecker lpcheck = new LonePairElectronChecker();
lpcheck.newSaturate(mol);
for (int i = 0 ; i < mol.getAtomCount(); i++){
params[0] = new Integer(10);
descriptor.setParameters(params);
double result= ((DoubleResult)descriptor.calculate(mol.getAtom(i),mol).getValue()).doubleValue();
// logger.debug("result: "+result);
if(result == 0.0)
assertEquals(testResult[i],result, 0.0001);
else {
assertTrue(result != 0.0);
assertEquals(testResult[i],result, 0.55);
}
}
}
/**
* A unit test for JUnit with Ethylene
*/
public void testPiElectronegativityDescriptor_Ethylene() throws ClassNotFoundException, CDKException, java.lang.Exception {
double [] testResult={5.1519,5.1519,0.0,0.0,0.0,0.0,0.0,0.0};/* from Petra online: http://www2.chemie.uni-erlangen.de/services/petra/smiles.phtml*/
IAtomicDescriptor descriptor = new PiElectronegativityDescriptor();
SmilesParser sp = new SmilesParser(DefaultChemObjectBuilder.getInstance());
IMolecule mol = sp.parseSmiles("C=C");
HydrogenAdder hAdder = new HydrogenAdder();
hAdder.addExplicitHydrogensToSatisfyValency(mol);
LonePairElectronChecker lpcheck = new LonePairElectronChecker();
lpcheck.newSaturate(mol);
for (int i = 0 ; i < 3 ; i++){
double result= ((DoubleResult)descriptor.calculate(mol.getAtom(i),mol).getValue()).doubleValue();
// logger.debug("result: "+result);
if(result == 0.0)
assertEquals(testResult[i],result, 0.0001);
else {
assertTrue(result != 0.0);
assertEquals(testResult[i],result, 0.02);
}
}
}
/**
* A unit test for JUnit with Fluoroethylene
*/
public void testPiElectronegativityDescriptor_Fluoroethylene() throws ClassNotFoundException, CDKException, java.lang.Exception {
double [] testResult={4.7796,5.9414,5.0507,0.0,0.0,0.0};/* from Petra online: http://www2.chemie.uni-erlangen.de/services/petra/smiles.phtml*/
IAtomicDescriptor descriptor = new PiElectronegativityDescriptor();
SmilesParser sp = new SmilesParser(DefaultChemObjectBuilder.getInstance());
IMolecule mol = sp.parseSmiles("F-C=C");
HydrogenAdder hAdder = new HydrogenAdder();
hAdder.addExplicitHydrogensToSatisfyValency(mol);
LonePairElectronChecker lpcheck = new LonePairElectronChecker();
lpcheck.newSaturate(mol);
for (int i = 0 ; i < 3 ; i++){
double result= ((DoubleResult)descriptor.calculate(mol.getAtom(i),mol).getValue()).doubleValue();
// logger.debug("result: "+result);
if(result == 0.0)
assertEquals(testResult[i],result, 0.0001);
else {
assertTrue(result != 0.0);
assertEquals(testResult[i],result, 0.7);
}
}
}
/**
* A unit test for JUnit with Formic Acid
*/
public void testPiElectronegativityDescriptor_FormicAcid() throws ClassNotFoundException, CDKException, java.lang.Exception {
double [] testResult={6.8954,7.301,4.8022,0.0,0.0};/* from Petra online: http://www2.chemie.uni-erlangen.de/services/petra/smiles.phtml*/
IAtomicDescriptor descriptor = new PiElectronegativityDescriptor();
SmilesParser sp = new SmilesParser(DefaultChemObjectBuilder.getInstance());
IMolecule mol = sp.parseSmiles("C(=O)O");
HydrogenAdder hAdder = new HydrogenAdder();
hAdder.addExplicitHydrogensToSatisfyValency(mol);
LonePairElectronChecker lpcheck = new LonePairElectronChecker();
lpcheck.newSaturate(mol);
for (int i = 0 ; i < mol.getAtomCount() ; i++){
double result= ((DoubleResult)descriptor.calculate(mol.getAtom(i),mol).getValue()).doubleValue();
// logger.debug("result: "+result);
if(result == 0.0)
assertEquals(testResult[i],result, 0.0001);
else {
assertTrue(result != 0.0);
assertEquals(testResult[i],result, 2);
}
}
}
/**
* A unit test for JUnit with Methoxyethylene
*/
public void testPiElectronegativityDescriptor_Methoxyethylene() throws ClassNotFoundException, CDKException, java.lang.Exception {
double [] testResult={4.916,5.7345,3.971,0.0,0.0,0.0,0.0,0.0,0.0,0.0};/* from Petra online: http://www2.chemie.uni-erlangen.de/services/petra/smiles.phtml*/
IAtomicDescriptor descriptor = new PiElectronegativityDescriptor();
Integer[] params = new Integer[1];
SmilesParser sp = new SmilesParser(DefaultChemObjectBuilder.getInstance());
IMolecule mol = sp.parseSmiles("C=C-O-C");
HydrogenAdder hAdder = new HydrogenAdder();
hAdder.addExplicitHydrogensToSatisfyValency(mol);
LonePairElectronChecker lpcheck = new LonePairElectronChecker();
lpcheck.newSaturate(mol);
for (int i = 0 ; i < mol.getAtomCount(); i++){
// params[0] = new Integer(10);
// descriptor.setParameters(params);
double result= ((DoubleResult)descriptor.calculate(mol.getAtom(i),mol).getValue()).doubleValue();
// logger.debug("result: "+result);
if(result == 0.0)
assertEquals(testResult[i],result, 0.0001);
else {
assertTrue(result != 0.0);
assertEquals(testResult[i],result, 0.5);
}
}
}
/**
* A unit test for JUnit with F[C+][C-]
*/
public void testPiElectronegativity1() throws ClassNotFoundException, CDKException, java.lang.Exception {
double [] testResult={5.1788,5.465,5.2475,0.0,0.0,0.0,0.0,0.0,0.0,0.0};/* from Petra online: http://www2.chemie.uni-erlangen.de/services/petra/smiles.phtml*/
IAtomicDescriptor descriptor = new PiElectronegativityDescriptor();
Integer[] params = new Integer[1];
SmilesParser sp = new SmilesParser(DefaultChemObjectBuilder.getInstance());
IMolecule mol = sp.parseSmiles("F[C+][C-]");
HydrogenAdder hAdder = new HydrogenAdder();
hAdder.addExplicitHydrogensToSatisfyValency(mol);
LonePairElectronChecker lpcheck = new LonePairElectronChecker();
lpcheck.newSaturate(mol);
for (int i = 0 ; i < mol.getAtomCount(); i++){
params[0] = new Integer(6);
descriptor.setParameters(params);
double result= ((DoubleResult)descriptor.calculate(mol.getAtom(i),mol).getValue()).doubleValue();
// logger.debug(mol.getAtomAt(i).getSymbol()+"-result: "+result);
if(result == 0.0)
assertEquals(testResult[i],result, 0.0001);
else {
assertTrue(result != 0.0);
assertEquals(testResult[i],result, 1.2);
}
}
}
/**
* A unit test for JUnit with CCOCCCO
*/
public void testPiElectronegativity2() throws ClassNotFoundException, CDKException, java.lang.Exception {
double [] testResult={0.0,0.0,3.2849,0.0,0.0,0.0,3.2849,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0};/* from Petra online: http://www2.chemie.uni-erlangen.de/services/petra/smiles.phtml*/
IAtomicDescriptor descriptor = new PiElectronegativityDescriptor();
Integer[] params = new Integer[1];
SmilesParser sp = new SmilesParser(DefaultChemObjectBuilder.getInstance());
IMolecule mol = sp.parseSmiles("CCOCCCO");
HydrogenAdder hAdder = new HydrogenAdder();
hAdder.addExplicitHydrogensToSatisfyValency(mol);
LonePairElectronChecker lpcheck = new LonePairElectronChecker();
lpcheck.newSaturate(mol);
for (int i = 0 ; i < mol.getAtomCount(); i++){
params[0] = new Integer(6);
descriptor.setParameters(params);
double result= ((DoubleResult)descriptor.calculate(mol.getAtom(i),mol).getValue()).doubleValue();
// logger.debug(mol.getAtom(i).getSymbol()+"-result: "+result);
if(result == 0.0)
assertEquals(testResult[i],result, 0.0001);
else {
assertTrue(result != 0.0);
assertEquals(testResult[i],result, 0.2);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -