⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fragmentcomplexitydescriptortest.java

📁 化学图形处理软件
💻 JAVA
字号:
package org.openscience.cdk.test.qsar.descriptors.molecular;

import java.io.InputStream;
import java.util.List;

import junit.framework.Test;
import junit.framework.TestSuite;

import org.openscience.cdk.Molecule;
import org.openscience.cdk.exception.CDKException;
import org.openscience.cdk.interfaces.IAtomContainer;
import org.openscience.cdk.interfaces.IMolecule;
import org.openscience.cdk.io.MDLReader;
import org.openscience.cdk.qsar.IMolecularDescriptor;
import org.openscience.cdk.qsar.descriptors.molecular.FragmentComplexityDescriptor;
import org.openscience.cdk.qsar.result.DoubleResult;
import org.openscience.cdk.test.CDKTestCase;
import org.openscience.cdk.tools.GenerateFragments;
import org.openscience.cdk.tools.HydrogenAdder;

/**
 * TestSuite that runs all QSAR tests.
 * @author      chhoppe from EUROSCREEN
 * @cdk.module test-qsar
 */
public class FragmentComplexityDescriptorTest extends CDKTestCase{
	
	public  FragmentComplexityDescriptorTest() {}
	
	public static Test suite() {
		return new TestSuite(FragmentComplexityDescriptorTest.class);
	}
	   
	public void test1FragmentComplexityDescriptor() throws Exception {
		IMolecularDescriptor descriptor = new FragmentComplexityDescriptor();
		String filename = "data/mdl/murckoTest1.mol";
    	//System.out.println("\nFragmentComplexityTest: " + filename);
    	InputStream ins = this.getClass().getClassLoader().getResourceAsStream(filename);
    	GenerateFragments gf=new GenerateFragments();
    	double Complexity=0;
    	HydrogenAdder hAdder = new HydrogenAdder();
        	MDLReader reader = new MDLReader(ins);
        	Molecule mol = (Molecule)reader.read(new Molecule());
        	gf.generateMurckoFragments(mol,false,false,4);
        	List setOfFragments=gf.getMurckoFrameworks();
        	for (int i=0;i<setOfFragments.size();i++){
        		hAdder.addExplicitHydrogensToSatisfyValency((IMolecule) setOfFragments.get(i));
        		Complexity=((DoubleResult)descriptor.calculate((IAtomContainer) setOfFragments.get(i)).getValue()).doubleValue();
        		//System.out.println("Complexity:"+Complexity);
        	}
    	 assertEquals(659.00,Complexity , 0.01);
	}
	
	public void test2FragmentComplexityDescriptor() throws Exception {
		IMolecularDescriptor descriptor = new FragmentComplexityDescriptor();
		String filename = "data/mdl/murckoTest10.mol";
    	//System.out.println("\nFragmentComplexityTest: " + filename);
    	InputStream ins = this.getClass().getClassLoader().getResourceAsStream(filename);
    	GenerateFragments gf=new GenerateFragments();
    	double Complexity=0;
    	HydrogenAdder hAdder = new HydrogenAdder();
    	MDLReader reader = new MDLReader(ins);
    	Molecule mol = (Molecule)reader.read(new Molecule());
    	gf.generateMurckoFragments(mol,false,false,4);
    	List setOfFragments=gf.getMurckoFrameworks();
    	for (int i=0;i<setOfFragments.size();i++){
    		hAdder.addExplicitHydrogensToSatisfyValency((IMolecule) setOfFragments.get(i));
    		Complexity=((DoubleResult)descriptor.calculate((IAtomContainer) setOfFragments.get(i)).getValue()).doubleValue();
    		//System.out.println("Complexity:"+Complexity);
    	}
    	assertEquals(544.01,Complexity , 0.01);
	}
	
	
}

 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -