📄 moleculefactory.java
字号:
mol.addBond(5, 10, 1.0); // 12 return mol; } public static Molecule makeEthylPropylPhenantren() { Molecule mol = new Molecule(); mol.addAtom(new Atom("C")); // 0 mol.addAtom(new Atom("C")); // 1 mol.addAtom(new Atom("C")); // 2 mol.addAtom(new Atom("C")); // 3 mol.addAtom(new Atom("C")); // 4 mol.addAtom(new Atom("C")); // 5 mol.addAtom(new Atom("C")); // 6 mol.addAtom(new Atom("C")); // 7 mol.addAtom(new Atom("C")); // 8 mol.addAtom(new Atom("C")); // 9 mol.addAtom(new Atom("C")); // 10 mol.addAtom(new Atom("C")); // 11 mol.addAtom(new Atom("C")); // 12 mol.addAtom(new Atom("C")); // 13 mol.addAtom(new Atom("C")); // 14 mol.addAtom(new Atom("C")); // 15 mol.addAtom(new Atom("C")); // 16 mol.addAtom(new Atom("C")); // 17 mol.addAtom(new Atom("C")); // 18 mol.addBond(0, 1, 1.0); // 1 mol.addBond(1, 2, 2.0); // 2 mol.addBond(2, 3, 1.0); // 3 mol.addBond(3, 4, 2.0); // 4 mol.addBond(4, 5, 1.0); // 5 mol.addBond(5, 6, 2.0); // 6 mol.addBond(6, 7, 1.0); // 8 mol.addBond(7, 8, 2.0); // 9 mol.addBond(8, 9, 1.0); // 10 mol.addBond(9, 0, 2.0); // 11 mol.addBond(9, 4, 1.0); // 12 mol.addBond(8, 10, 1.0); // 12 mol.addBond(10, 11, 2.0); // 12 mol.addBond(11, 12, 1.0); // 12 mol.addBond(12, 13, 2.0); // 12 mol.addBond(13, 7, 1.0); // 12 mol.addBond(3, 14, 1.0); // 12 mol.addBond(14, 15, 1.0); // 12 mol.addBond(12, 16, 1.0); // 12 mol.addBond(16, 17, 1.0); // 12 mol.addBond(17, 18, 1.0); // 12 configureAtoms(mol); return mol; } public static Molecule makeSteran() { Molecule mol = new Molecule(); mol.addAtom(new Atom("C")); // 0 mol.addAtom(new Atom("C")); // 1 mol.addAtom(new Atom("C")); // 2 mol.addAtom(new Atom("C")); // 3 mol.addAtom(new Atom("C")); // 4 mol.addAtom(new Atom("C")); // 5 mol.addAtom(new Atom("C")); // 6 mol.addAtom(new Atom("C")); // 7 mol.addAtom(new Atom("C")); // 8 mol.addAtom(new Atom("C")); // 9 mol.addAtom(new Atom("C")); // 10 mol.addAtom(new Atom("C")); // 11 mol.addAtom(new Atom("C")); // 12 mol.addAtom(new Atom("C")); // 13 mol.addAtom(new Atom("C")); // 14 mol.addAtom(new Atom("C")); // 15 mol.addAtom(new Atom("C")); // 16 mol.addBond(0, 1, 1.0); // 1 mol.addBond(1, 2,1.0); // 2 mol.addBond(2, 3, 1.0); // 3 mol.addBond(3, 4,1.0); // 4 mol.addBond(4, 5, 1.0); // 5 mol.addBond(5, 6,1.0); // 6 mol.addBond(6, 7, 1.0); // 8 mol.addBond(7, 8,1.0); // 9 mol.addBond(8, 9, 1.0); // 10 mol.addBond(9, 0,1.0); // 11 mol.addBond(9, 4, 1.0); // 12 mol.addBond(8, 10, 1.0); // 13 mol.addBond(10, 11,1.0); // 14 mol.addBond(11, 12, 1.0); // 15 mol.addBond(12, 13,1.0); // 16 mol.addBond(13, 7, 1.0); // 17 mol.addBond(13, 14, 1.0); // 18 mol.addBond(14, 15, 1.0); // 19 mol.addBond(15, 16, 1.0); // 20 mol.addBond(16, 12, 1.0); // 21 configureAtoms(mol); return mol; } public static Molecule makeAzulene() { Molecule mol = new Molecule(); mol.addAtom(new Atom("C")); // 0 mol.addAtom(new Atom("C")); // 1 mol.addAtom(new Atom("C")); // 2 mol.addAtom(new Atom("C")); // 3 mol.addAtom(new Atom("C")); // 4 mol.addAtom(new Atom("C")); // 5 mol.addAtom(new Atom("C")); // 6 mol.addAtom(new Atom("C")); // 7 mol.addAtom(new Atom("C")); // 8 mol.addAtom(new Atom("C")); // 9 mol.addBond(0, 1, 2.0); // 1 mol.addBond(1, 2, 1.0); // 2 mol.addBond(2, 3, 2.0); // 3 mol.addBond(3, 4, 1.0); // 4 mol.addBond(4, 5, 2.0); // 5 mol.addBond(5, 6, 1.0); // 6 mol.addBond(6, 7, 2.0); // 8 mol.addBond(7, 8, 1.0); // 9 mol.addBond(8, 9, 2.0); // 10 mol.addBond(9, 5, 1.0); // 11 mol.addBond(9, 0, 1.0); // 12 return mol; } public static Molecule makeIndole() { Molecule mol = new Molecule(); mol.addAtom(new Atom("C")); // 0 mol.addAtom(new Atom("C")); // 1 mol.addAtom(new Atom("C")); // 2 mol.addAtom(new Atom("C")); // 3 mol.addAtom(new Atom("C")); // 4 mol.addAtom(new Atom("C")); // 5 mol.addAtom(new Atom("C")); // 6 mol.addAtom(new Atom("C")); // 7 mol.addAtom(new Atom("N")); // 8 mol.addBond(0, 1, 2.0); // 1 mol.addBond(1, 2, 1.0); // 2 mol.addBond(2, 3, 2.0); // 3 mol.addBond(3, 4, 1.0); // 4 mol.addBond(4, 5, 2.0); // 5 mol.addBond(5, 6, 1.0); // 6 mol.addBond(6, 7, 2.0); // 8 mol.addBond(7, 8, 1.0); // 9 mol.addBond(0, 5, 1.0); // 11 mol.addBond(8, 0, 1.0); // 12 return mol; } public static Molecule makePyrrole() { Molecule mol = new Molecule(); mol.addAtom(new Atom("C")); // 0 mol.addAtom(new Atom("N")); // 1 mol.addAtom(new Atom("C")); // 2 mol.addAtom(new Atom("C")); // 3 mol.addAtom(new Atom("C")); // 4 mol.addBond(0, 1, 1.0); // 1 mol.addBond(1, 2, 1.0); // 2 mol.addBond(2, 3, 2.0); // 3 mol.addBond(3, 4, 1.0); // 4 mol.addBond(4, 0, 2.0); // 5 return mol; } public static Molecule makeThiazole() { Molecule mol = new Molecule(); mol.addAtom(new Atom("C")); // 0 mol.addAtom(new Atom("N")); // 1 mol.addAtom(new Atom("C")); // 2 mol.addAtom(new Atom("S")); // 3 mol.addAtom(new Atom("C")); // 4 mol.addBond(0, 1, 1.0); // 1 mol.addBond(1, 2, 2.0); // 2 mol.addBond(2, 3, 1.0); // 3 mol.addBond(3, 4, 1.0); // 4 mol.addBond(4, 0, 2.0); // 5 return mol; } public static Molecule makeSingleRing() { Molecule mol = new Molecule(); mol.addAtom(new Atom("C")); // 0 mol.addAtom(new Atom("C")); // 1 mol.addAtom(new Atom("C")); // 2 mol.addAtom(new Atom("C")); // 3 mol.addAtom(new Atom("C")); // 4 mol.addAtom(new Atom("C")); // 5// mol.addAtom(new Atom("C")); // 6// mol.addAtom(new Atom("C")); // 7// mol.addAtom(new Atom("C")); // 8// mol.addAtom(new Atom("C")); // 9 mol.addBond(0, 1, 1.0); // 1 mol.addBond(1, 2, 1.0); // 2 mol.addBond(2, 3, 1.0); // 3 mol.addBond(3, 4, 1.0); // 4 mol.addBond(4, 5, 1.0); // 5 mol.addBond(5, 0, 1.0); // 6// mol.addBond(5, 6, 1.0); // 7// mol.addBond(6, 7, 1.0); // 8// mol.addBond(7, 4, 1.0); // 9// mol.addBond(8, 0, 1.0); // 10// mol.addBond(9, 1, 1.0); // 11 return mol; } public static Molecule makeDiamantane() { Molecule mol = new Molecule(); mol.addAtom(new Atom("C")); // 0 mol.addAtom(new Atom("C")); // 1 mol.addAtom(new Atom("C")); // 2 mol.addAtom(new Atom("C")); // 3 mol.addAtom(new Atom("C")); // 4 mol.addAtom(new Atom("C")); // 5 mol.addAtom(new Atom("C")); // 6 mol.addAtom(new Atom("C")); // 7 mol.addAtom(new Atom("C")); // 8 mol.addAtom(new Atom("C")); // 9 mol.addAtom(new Atom("C")); // 10 mol.addAtom(new Atom("C")); // 11 mol.addAtom(new Atom("C")); // 12 mol.addAtom(new Atom("C")); // 13 mol.addBond(0, 1, 1.0); // 1 mol.addBond(1, 2, 1.0); // 2 mol.addBond(2, 3, 1.0); // 3 mol.addBond(3, 4, 1.0); // 4 mol.addBond(4, 5, 1.0); // 5 mol.addBond(5, 0, 1.0); // 6 mol.addBond(5, 6, 1.0); // 7 mol.addBond(6, 9, 1.0); // 8 mol.addBond(1, 7, 1.0); // 9 mol.addBond(7, 9, 1.0); // 10 mol.addBond(3, 8, 1.0); // 11 mol.addBond(8, 9, 1.0); // 12 mol.addBond(0, 10, 1.0); // 13 mol.addBond(10, 13, 1.0); // 14 mol.addBond(2, 11, 1.0); // 15 mol.addBond(11, 13, 1.0); // 16 mol.addBond(4, 12, 1.0); // 17 mol.addBond(12, 13, 1.0); // 18 return mol; } public static Molecule makeBranchedAliphatic() { Molecule mol = new Molecule(); mol.addAtom(new Atom("C")); // 0 mol.addAtom(new Atom("C")); // 1 mol.addAtom(new Atom("C")); // 2 mol.addAtom(new Atom("C")); // 3 mol.addAtom(new Atom("C")); // 4 mol.addAtom(new Atom("C")); // 5 mol.addAtom(new Atom("C")); // 6 mol.addAtom(new Atom("C")); // 7 mol.addAtom(new Atom("C")); // 8 mol.addAtom(new Atom("C")); // 9 mol.addAtom(new Atom("C")); // 10 mol.addAtom(new Atom("C")); // 11 mol.addAtom(new Atom("C")); // 12 mol.addAtom(new Atom("C")); // 13 mol.addAtom(new Atom("C")); // 14 mol.addAtom(new Atom("C")); // 15 mol.addAtom(new Atom("C")); // 16 mol.addAtom(new Atom("C")); // 17 mol.addAtom(new Atom("C")); // 18 mol.addBond(0, 1, 1.0); // 1 mol.addBond(1, 2, 1.0); // 2 mol.addBond(2, 3, 2.0); // 3 mol.addBond(3, 4, 1.0); // 4 mol.addBond(4, 5, 1.0); // 5 mol.addBond(2, 6, 1.0); // 6 mol.addBond(6, 7, 1.0); // 7 mol.addBond(7, 8, 1.0); // 8 mol.addBond(6, 9, 1.0); // 9 mol.addBond(6, 10, 1.0); // 10 mol.addBond(10, 11, 1.0); // 11 mol.addBond(8, 12, 3.0); // 12 mol.addBond(12, 13, 1.0); // 13 mol.addBond(11, 14, 1.0); // 14 mol.addBond(9, 15, 1.0); mol.addBond(15, 16, 2.0); mol.addBond(16, 17, 2.0); mol.addBond(17, 18, 1.0); return mol; } public static Molecule makeBenzene() { Molecule mol = new Molecule(); mol.addAtom(new Atom("C")); // 0 mol.addAtom(new Atom("C")); // 1 mol.addAtom(new Atom("C")); // 2 mol.addAtom(new Atom("C")); // 3 mol.addAtom(new Atom("C")); // 4 mol.addAtom(new Atom("C")); // 5 mol.addBond(0, 1, 1.0); // 1 mol.addBond(1, 2, 2.0); // 2 mol.addBond(2, 3, 1.0); // 3 mol.addBond(3, 4, 2.0); // 4 mol.addBond(4, 5, 1.0); // 5 mol.addBond(5, 0, 2.0); // 6 return mol; } public static Molecule makeQuinone() { Molecule mol = new Molecule(); mol.addAtom(new Atom("O")); // 0 mol.addAtom(new Atom("C")); // 1 mol.addAtom(new Atom("C")); // 2 mol.addAtom(new Atom("C")); // 3 mol.addAtom(new Atom("C")); // 4 mol.addAtom(new Atom("C")); // 5 mol.addAtom(new Atom("C")); // 6 mol.addAtom(new Atom("O")); // 7 mol.addBond(0, 1, 2.0); // 1 mol.addBond(1, 2, 1.0); // 2 mol.addBond(2, 3, 2.0); // 3 mol.addBond(3, 4, 1.0); // 4 mol.addBond(4, 5, 1.0); // 5 mol.addBond(5, 6, 2.0); // 6 mol.addBond(6, 1, 1.0); // 7 mol.addBond(4, 7, 2.0); // 8 return mol; } public static org.openscience.cdk.interfaces.IMolecule loadMolecule(String inFile) { MDLReader mr = null; ChemFile chemFile = null; org.openscience.cdk.interfaces.IChemSequence chemSequence = null; org.openscience.cdk.interfaces.IChemModel chemModel = null; org.openscience.cdk.interfaces.IMoleculeSet setOfMolecules = null; org.openscience.cdk.interfaces.IMolecule molecule = null; try { FileInputStream fis = new FileInputStream(inFile); mr = new MDLReader(fis); chemFile = (ChemFile)mr.read((ChemObject)new ChemFile()); fis.close(); chemSequence = chemFile.getChemSequence(0); chemModel = chemSequence.getChemModel(0); setOfMolecules = chemModel.getMoleculeSet(); molecule = setOfMolecules.getMolecule(0); for (int i = 0; i < molecule.getAtomCount(); i++) { molecule.getAtom(i).setPoint2d(null); } } catch(Exception exc) { // we just return null if something went wrong logger.error("An exception occured while loading a molecule: " + inFile); logger.debug(exc); } return molecule; } private static void configureAtoms(Molecule mol) { try { IsotopeFactory.getInstance(mol.getBuilder()).configureAtoms(mol); } catch(Exception exc) { logger.error("Could not configure molecule!"); logger.debug(exc); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -