From: Michael T H. <mic...@us...> - 2003-10-30 14:43:40
|
Update of /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/protein In directory sc8-pr-cvs1:/tmp/cvs-serv1910/src/org/openscience/jmol/viewer/protein Modified Files: PdbMolecule.java PdbResidue.java Log Message: changes for strands/trace rendering + tweaks for Egon CDKEditBus Index: PdbMolecule.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/protein/PdbMolecule.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- PdbMolecule.java 29 Oct 2003 23:27:07 -0000 1.6 +++ PdbMolecule.java 30 Oct 2003 14:43:36 -0000 1.7 @@ -182,7 +182,7 @@ PdbResidue allocResidue(char chainID, int resNumber, String residue3) { PdbChain chain = getOrAllocPdbChain(chainID); - PdbResidue residue = new PdbResidue(chainID, resNumber, residue3); + PdbResidue residue = new PdbResidue(this, chainID, resNumber, residue3); chain.addResidue(residue); return residue; } Index: PdbResidue.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/protein/PdbResidue.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- PdbResidue.java 29 Oct 2003 23:27:07 -0000 1.1 +++ PdbResidue.java 30 Oct 2003 14:43:36 -0000 1.2 @@ -25,6 +25,7 @@ package org.openscience.jmol.viewer.protein; import org.openscience.jmol.viewer.*; +import org.openscience.jmol.viewer.datamodel.Atom; import java.util.Hashtable; public class PdbResidue { @@ -34,13 +35,15 @@ public final static byte STRUCTURE_SHEET = 2; public final static byte STRUCTURE_TURN = 3; + public PdbMolecule pdbmolecule; public char chainID; public short resNumber; public short resid; public byte structureType = STRUCTURE_NONE; int[] mainchainIndices; - public PdbResidue(char chainID, int resNumber, String residue3) { + public PdbResidue(PdbMolecule pdbmolecule, char chainID, int resNumber, String residue3) { + this.pdbmolecule = pdbmolecule; this.chainID = chainID; this.resNumber = (short) resNumber; resid = lookupResid(residue3); @@ -90,6 +93,14 @@ return chainID; } + public boolean isHelixOrSheet() { + return structureType == STRUCTURE_HELIX || structureType == STRUCTURE_SHEET; + } + + /**************************************************************** + * static stuff for residue ids + ****************************************************************/ + private static Hashtable htResidue = new Hashtable(); static String[] residueNames3 = new String[128]; @@ -138,5 +149,28 @@ if (mainchainIndices == null) return -1; return mainchainIndices[1]; + } + + Atom getAtom(int i) { + int j; + if (mainchainIndices == null || (j = mainchainIndices[i]) == -1) + return null; + return pdbmolecule.frame.getAtomAt(j); + } + + public Atom getNitrogenAtom() { + return getAtom(0); + } + + public Atom getAlphaCarbonAtom() { + return getAtom(1); + } + + public Atom getCarboxylCarbonAtom() { + return getAtom(2); + } + + public Atom getCarboxylOxygenAtom() { + return getAtom(3); } } |