+ }
+ else
+ {
+ System.out.println("not found " + i);
+ }
+ }
+ }
+
+ public void makeBond(Atom at1, Atom at2)
+ {
+ float[] start = new float[3];
+ float[] end = new float[3];
+
+ start[0] = at1.x;
+ start[1] = at1.y;
+ start[2] = at1.z;
+
+ end[0] = at2.x;
+ end[1] = at2.y;
+ end[2] = at2.z;
+
+ bonds.addElement(new Bond(start, end, at1, at2));
+ }
+
+ public void makeResidueList()
+ {
+ int count = 0;
+ StringBuffer seq = new StringBuffer();
+ Vector resFeatures = new Vector();
+ Vector resAnnotation = new Vector();
+ int i, iSize = atoms.size() - 1;
+ int resNumber = -1;
+ for (i = 0; i <= iSize; i++)
+ {
+ Atom tmp = (Atom) atoms.elementAt(i);
+ resNumber = tmp.resNumber;
+ int res = resNumber;
+
+ if (i == 0)
+ {
+ offset = resNumber;
+ }
+
+ Vector resAtoms = new Vector();
+ // Add atoms to a vector while the residue number
+ // remains the same as the first atom's resNumber (res)
+ while ((resNumber == res) && (i < atoms.size()))
+ {
+ resAtoms.addElement((Atom) atoms.elementAt(i));
+ i++;
+
+ if (i < atoms.size())
+ {
+ resNumber = ((Atom) atoms.elementAt(i)).resNumber;
+ }
+ else
+ {
+ resNumber++;
+ }
+ }
+
+ // We need this to keep in step with the outer for i = loop
+ i--;
+
+ // Make a new Residue object with the new atoms vector
+ residues.addElement(new Residue(resAtoms, resNumber - 1, count));
+
+ Residue tmpres = (Residue) residues.lastElement();
+ Atom tmpat = (Atom) tmpres.atoms.elementAt(0);
+ // Make A new SequenceFeature for the current residue numbering
+ SequenceFeature sf = new SequenceFeature("RESNUM", tmpat.resName
+ + ":" + tmpat.resNumIns + " " + pdbid + id, "", offset
+ + count, offset + count, pdbid);
+ // MCview.PDBChain.PDBFILEFEATURE);
+ resFeatures.addElement(sf);
+ resAnnotation.addElement(new Annotation(tmpat.tfactor));
+ // Keep totting up the sequence
+ if (ResidueProperties.getAA3Hash().get(tmpat.resName) == null)
+ {
+ seq.append("X");
+ // System.err.println("PDBReader:Null aa3Hash for " +
+ // tmpat.resName);
+ }
+ else
+ {
+
+ seq.append(ResidueProperties.aa[((Integer) ResidueProperties
+ .getAA3Hash().get(tmpat.resName)).intValue()]);
+ }
+ count++;