From: <mig...@us...> - 2006-09-22 15:38:22
|
Revision: 7033 http://svn.sourceforge.net/cdk/?rev=7033&view=rev Author: miguelrojasch Date: 2006-09-22 08:38:03 -0700 (Fri, 22 Sep 2006) Log Message: ----------- new Interface for IPDBMonomer Modified Paths: -------------- trunk/cdk/src/org/openscience/cdk/DefaultChemObjectBuilder.java trunk/cdk/src/org/openscience/cdk/debug/DebugChemObjectBuilder.java trunk/cdk/src/org/openscience/cdk/interfaces/IChemObjectBuilder.java trunk/cdk/src/org/openscience/cdk/interfaces/IPDBStructure.java trunk/cdk/src/org/openscience/cdk/nonotify/NoNotificationChemObjectBuilder.java trunk/cdk/src/org/openscience/cdk/protein/data/PDBMonomer.java Added Paths: ----------- trunk/cdk/src/org/openscience/cdk/debug/DebugPDBMonomer.java trunk/cdk/src/org/openscience/cdk/interfaces/IPDBMonomer.java trunk/cdk/src/org/openscience/cdk/nonotify/NNPDBMonomer.java trunk/cdk/src/org/openscience/cdk/test/nonotify/NNPDBMonomerTest.java trunk/cdk/src/org/openscience/cdk/test/protein/data/PDBMonomerTest.java Modified: trunk/cdk/src/org/openscience/cdk/DefaultChemObjectBuilder.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/DefaultChemObjectBuilder.java 2006-09-22 15:26:48 UTC (rev 7032) +++ trunk/cdk/src/org/openscience/cdk/DefaultChemObjectBuilder.java 2006-09-22 15:38:03 UTC (rev 7033) @@ -49,6 +49,7 @@ import org.openscience.cdk.interfaces.IMoleculeSet; import org.openscience.cdk.interfaces.IMonomer; import org.openscience.cdk.interfaces.IPDBAtom; +import org.openscience.cdk.interfaces.IPDBMonomer; import org.openscience.cdk.interfaces.IPDBPolymer; import org.openscience.cdk.interfaces.IPDBStructure; import org.openscience.cdk.interfaces.IPolymer; @@ -60,6 +61,7 @@ import org.openscience.cdk.interfaces.ISingleElectron; import org.openscience.cdk.interfaces.IStrand; import org.openscience.cdk.protein.data.PDBAtom; +import org.openscience.cdk.protein.data.PDBMonomer; import org.openscience.cdk.protein.data.PDBPolymer; import org.openscience.cdk.protein.data.PDBStructure; @@ -256,6 +258,10 @@ public IPDBStructure newPDBStructure() { return new PDBStructure(); } + + public IPDBMonomer newPDBMonomer() { + return new PDBMonomer(); + } public IReaction newReaction() { return new Reaction(); Modified: trunk/cdk/src/org/openscience/cdk/debug/DebugChemObjectBuilder.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/debug/DebugChemObjectBuilder.java 2006-09-22 15:26:48 UTC (rev 7032) +++ trunk/cdk/src/org/openscience/cdk/debug/DebugChemObjectBuilder.java 2006-09-22 15:38:03 UTC (rev 7033) @@ -46,6 +46,7 @@ import org.openscience.cdk.interfaces.IMoleculeSet; import org.openscience.cdk.interfaces.IMonomer; import org.openscience.cdk.interfaces.IPDBAtom; +import org.openscience.cdk.interfaces.IPDBMonomer; import org.openscience.cdk.interfaces.IPDBPolymer; import org.openscience.cdk.interfaces.IPDBStructure; import org.openscience.cdk.interfaces.IPolymer; @@ -150,6 +151,10 @@ return new DebugPDBPolymer(); } + public IPDBMonomer newPDBMonomer(){ + return new DebugPDBMonomer(); + } + public IPDBStructure newStructure(){ return new DebugPDBStructure(); } Added: trunk/cdk/src/org/openscience/cdk/debug/DebugPDBMonomer.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/debug/DebugPDBMonomer.java (rev 0) +++ trunk/cdk/src/org/openscience/cdk/debug/DebugPDBMonomer.java 2006-09-22 15:38:03 UTC (rev 7033) @@ -0,0 +1,60 @@ +/* $Revision: 6913 $ $Author: egonw $ $Date: 2006-09-18 18:13:21 +0000 (Mon, 18 Sep 2006) $ + * + * Copyright (C) 2004-2006 Miguel Rojas <mig...@un...> + * + * Contact: cdk...@li... + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + */ +package org.openscience.cdk.debug; + +import org.openscience.cdk.interfaces.IPDBMonomer; +import org.openscience.cdk.protein.data.PDBMonomer; +import org.openscience.cdk.tools.LoggingTool; + +/** + * Debugging data class. + * + * @author Miguel Rojas + * @cdk.module datadebug + */ +public class DebugPDBMonomer extends PDBMonomer implements IPDBMonomer { + + private static final long serialVersionUID = -5156111560946745699L; + + LoggingTool logger = new LoggingTool(DebugAtomContainer.class); + + public void setICode(String newICode) { + logger.debug("Setting I Code: ", newICode); + super.setICode(newICode); + } + + public String getICode() { + logger.debug("Getting I Code: ", super.getICode()); + return super.getICode(); + } + + public void setChainID(String newChainID) { + logger.debug("Setting ChainID: ", newChainID); + super.setChainID(newChainID); + } + + public String getChainID() { + logger.debug("Getting ChainID: ", super.getChainID()); + return super.getChainID(); + } + + +} Modified: trunk/cdk/src/org/openscience/cdk/interfaces/IChemObjectBuilder.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/interfaces/IChemObjectBuilder.java 2006-09-22 15:26:48 UTC (rev 7032) +++ trunk/cdk/src/org/openscience/cdk/interfaces/IChemObjectBuilder.java 2006-09-22 15:38:03 UTC (rev 7033) @@ -187,11 +187,18 @@ /** * Constructs an IPDBStructure. * - * @return IStructure implementation defined for this IChemObjectBuilder + * @return IPDBStructure implementation defined for this IChemObjectBuilder */ public IPDBStructure newPDBStructure(); /** + * Constructs an IPDBMonomer. + * + * @return IPDBMonomer implementation defined for this IChemObjectBuilder + */ + public IPDBMonomer newPDBMonomer(); + + /** * Constructs an empty IBond. * * @return IBond implementation defined for this IChemObjectBuilder Added: trunk/cdk/src/org/openscience/cdk/interfaces/IPDBMonomer.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/interfaces/IPDBMonomer.java (rev 0) +++ trunk/cdk/src/org/openscience/cdk/interfaces/IPDBMonomer.java 2006-09-22 15:38:03 UTC (rev 7033) @@ -0,0 +1,71 @@ +/* $RCSfile$ + * $Author: egonw $ + * $Date: 2006-08-14 21:51:36 +0200 (Mon, 14 Aug 2006) $ + * $Revision: 6785 $ + * + * Copyright (C) 2004-2006 Miguel Rojas <mig...@un...> + * + * Contact: cdk...@li... + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + */ +package org.openscience.cdk.interfaces; + +/** + * Represents the idea of an chemical Monomer. + * + * @cdk.module interfaces + * + * @author Miguel Rojas <mig...@un...> + * @cdk.created 2006-11-20 + * + * @cdk.keyword pdbpolymer + */ +public interface IPDBMonomer extends IMonomer { + + /** + * set the I code of this Monomer. + * + * @param newICode the I code of this Monomer + */ + public void setICode(String newICode); + + /** + * get the I code of this Monomer. + * + * @return the I code of this Monomer + */ + public String getICode(); + + /** + * set the Chain ID of this Monomer. + * + * @param newChainID the Chain ID of this Monomer + */ + public void setChainID(String newChainID); + + /** + * get the Chain ID of this Monomer. + * + * @return the Chain ID of this Monomer + */ + public String getChainID(); + +} + + + + + Modified: trunk/cdk/src/org/openscience/cdk/interfaces/IPDBStructure.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/interfaces/IPDBStructure.java 2006-09-22 15:26:48 UTC (rev 7032) +++ trunk/cdk/src/org/openscience/cdk/interfaces/IPDBStructure.java 2006-09-22 15:38:03 UTC (rev 7033) @@ -24,7 +24,7 @@ package org.openscience.cdk.interfaces; /** - * Represents the idea of an chemical atom. + * Represents the idea of an chemical structure. * * @cdk.module interfaces * Added: trunk/cdk/src/org/openscience/cdk/nonotify/NNPDBMonomer.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/nonotify/NNPDBMonomer.java (rev 0) +++ trunk/cdk/src/org/openscience/cdk/nonotify/NNPDBMonomer.java 2006-09-22 15:38:03 UTC (rev 7033) @@ -0,0 +1,53 @@ +/* $RCSfile$ + * $Author: egonw $ + * $Date: 2006-03-29 10:27:08 +0200 (Wed, 29 Mar 2006) $ + * $Revision: 5855 $ + * + * Copyright (C) 2004-2006 Miguel Rojas <mig...@un...> + * + * Contact: cdk...@li... + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 + * of the License, or (at your option) any later version. + * All we ask is that proper credit is given for our work, which includes + * - but is not limited to - adding the above copyright notice to the beginning + * of your source code files, and to any copyright notice that you may distribute + * with programs based on this work. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * */ +package org.openscience.cdk.nonotify; + +import org.openscience.cdk.interfaces.IChemObjectBuilder; +import org.openscience.cdk.interfaces.IChemObjectListener; +import org.openscience.cdk.protein.data.PDBMonomer; + +/** + * @cdk.module nonotify + */ +public class NNPDBMonomer extends PDBMonomer { + + private static final long serialVersionUID = -7423565527556262186L; + + public NNPDBMonomer() { + super(); + setNotification(false); + } + + public IChemObjectBuilder getBuilder() { + return NoNotificationChemObjectBuilder.getInstance(); + } + + public void addListener(IChemObjectListener col) { + // Ignore this: we do not listen anyway + } +} Modified: trunk/cdk/src/org/openscience/cdk/nonotify/NoNotificationChemObjectBuilder.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/nonotify/NoNotificationChemObjectBuilder.java 2006-09-22 15:26:48 UTC (rev 7032) +++ trunk/cdk/src/org/openscience/cdk/nonotify/NoNotificationChemObjectBuilder.java 2006-09-22 15:38:03 UTC (rev 7033) @@ -49,6 +49,7 @@ import org.openscience.cdk.interfaces.IMoleculeSet; import org.openscience.cdk.interfaces.IMonomer; import org.openscience.cdk.interfaces.IPDBAtom; +import org.openscience.cdk.interfaces.IPDBMonomer; import org.openscience.cdk.interfaces.IPDBPolymer; import org.openscience.cdk.interfaces.IPDBStructure; import org.openscience.cdk.interfaces.IPolymer; @@ -154,6 +155,10 @@ return new NNPDBStructure(); } + public IPDBMonomer newPDBMonomer() { + return new NNPDBMonomer(); + } + public IBond newBond() { return new NNBond(); } Modified: trunk/cdk/src/org/openscience/cdk/protein/data/PDBMonomer.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/protein/data/PDBMonomer.java 2006-09-22 15:26:48 UTC (rev 7032) +++ trunk/cdk/src/org/openscience/cdk/protein/data/PDBMonomer.java 2006-09-22 15:38:03 UTC (rev 7033) @@ -29,16 +29,17 @@ package org.openscience.cdk.protein.data; import org.openscience.cdk.Monomer; +import org.openscience.cdk.interfaces.IPDBMonomer; /** * Represents the idea of an monomer as used in PDB files. It contains extra fields * normally associated with atoms in such files. * - * @cdk.module pdb + * @cdk.module data * * @see PDBAtom */ -public class PDBMonomer extends Monomer { +public class PDBMonomer extends Monomer implements Cloneable, IPDBMonomer{ private static final long serialVersionUID = -7236625816763776733L; Added: trunk/cdk/src/org/openscience/cdk/test/nonotify/NNPDBMonomerTest.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/test/nonotify/NNPDBMonomerTest.java (rev 0) +++ trunk/cdk/src/org/openscience/cdk/test/nonotify/NNPDBMonomerTest.java 2006-09-22 15:38:03 UTC (rev 7033) @@ -0,0 +1,52 @@ +/* $RCSfile$ + * $Author: egonw $ + * $Date: 2006-04-12 11:16:35 +0200 (Wed, 12 Apr 2006) $ + * $Revision: 5921 $ + * + * Copyright (C) 2004-2006 Miguel Rojas <mig...@un...> + * + * Contact: cdk...@li... + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +package org.openscience.cdk.test.nonotify; + +import junit.framework.Test; +import junit.framework.TestSuite; + +import org.openscience.cdk.nonotify.NoNotificationChemObjectBuilder; +import org.openscience.cdk.test.protein.data.PDBMonomerTest; + +/** + * Checks the funcitonality of the AtomContainer. + * + * @cdk.module test-nonotify + */ +public class NNPDBMonomerTest extends PDBMonomerTest { + + public NNPDBMonomerTest(String name) { + super(name); + } + + public void setUp() { + super.builder = NoNotificationChemObjectBuilder.getInstance(); + } + + public static Test suite() { + return new TestSuite(NNPDBMonomerTest.class); + } + +} Added: trunk/cdk/src/org/openscience/cdk/test/protein/data/PDBMonomerTest.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/test/protein/data/PDBMonomerTest.java (rev 0) +++ trunk/cdk/src/org/openscience/cdk/test/protein/data/PDBMonomerTest.java 2006-09-22 15:38:03 UTC (rev 7033) @@ -0,0 +1,67 @@ +/* $RCSfile$ + * $Author: egonw $ + * $Date: 2006-09-20 10:48:23 +0000 (Wed, 20 Sep 2006) $ + * $Revision: 6963 $ + * + * Copyright (C) 2004-2006 Miguel Rojas <mig...@un...> + * + * Contact: cdk...@li... + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +package org.openscience.cdk.test.protein.data; + +import junit.framework.Test; +import junit.framework.TestSuite; + +import org.openscience.cdk.DefaultChemObjectBuilder; +import org.openscience.cdk.interfaces.IChemObjectBuilder; +import org.openscience.cdk.protein.data.PDBMonomer; +import org.openscience.cdk.protein.data.PDBPolymer; +import org.openscience.cdk.test.CDKTestCase; + +/** + * Checks the functionality of the PDBMonomer class. + * + * @cdk.module test-data + * + * @see PDBPolymer + */ +public class PDBMonomerTest extends CDKTestCase { + + protected IChemObjectBuilder builder; + + public PDBMonomerTest(String name) { + super(name); + } + + public void setUp() { + builder = DefaultChemObjectBuilder.getInstance(); + } + + public static Test suite() { + return new TestSuite(PDBMonomerTest.class); + } + + public void testPDBPolymer() { + PDBMonomer monomer = new PDBMonomer(); + assertNotNull(monomer); + assertEquals(monomer.getICode(), null); + + } + +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |