It seems to me that there is a small problem with parsing pdb files that contain hydrogen atoms. I don't see this problem with most pdb files.
--Chuck Using 1GXX this code snippet produces the output below: private String[] getMoleculeElements(String script) { if(null != script) { System.out.println("\nViewer.getMoleculeElements script: " + script); MySelectionListener mySelectionListener = new MySelectionListener(); getJmolViewer().addSelectionListener(mySelectionListener); getJmolViewer().scriptWait(script); int atomCount = getJmolViewer().getSelectionCount(); BitSet bitSet = mySelectionListener.getSelectionBitSet(); getJmolViewer().removeSelectionListener(mySelectionListener); return extractArray(atomCount, bitSet); } return null; } public String[] extractArray(int count, BitSet bitset) { ArrayList<String> arrayList = new ArrayList<String>(); String current = null; int bitIndex = 0; for(int i=0; count != i; i++) { bitIndex = bitset.nextSetBit(bitIndex); String atomInfo = getJmolViewer().getAtomInfo(bitIndex++); System.err.println("Viewer.extractArray atomInfo: " + atomInfo); } return arrayList.toArray(new String[0]); } class MySelectionListener implements JmolSelectionListener { BitSet selectionBitSet = null; public BitSet getSelectionBitSet() { return this.selectionBitSet; } public synchronized void selectionChanged(BitSet selectionBitSet) { this.selectionBitSet = (BitSet) selectionBitSet.clone(); } } Viewer.getMoleculeElements script: select none; select water; --- SHOULD PRODUCE ON WATER Viewer.extractArray atomInfo: [LYS]1:A.H1 #10 Viewer.extractArray atomInfo: [ARG]21:A.HH21 #341 Viewer.extractArray atomInfo: [THR]40:A.OG1 #613 Viewer.extractArray atomInfo: [THR]40:A.HG1 #618 Viewer.extractArray atomInfo: [SER]50:A.OG #753 Viewer.extractArray atomInfo: [SER]50:A.HG #758 Viewer.extractArray atomInfo: [ASN]59:A.HD22 #900 Viewer.extractArray atomInfo: [SER]60:A.HG #911 Viewer.extractArray atomInfo: [THR]69:A.OG1 #1056 Viewer.extractArray atomInfo: [THR]69:A.HG1 #1061 Viewer.extractArray atomInfo: [SER]100:A.OG #1502 Viewer.extractArray atomInfo: [SER]100:A.HG #1507 Viewer.extractArray atomInfo: [HOH]130:A.O #1962 Viewer.extractArray atomInfo: [HOH]130:A.H1 #1963 Viewer.extractArray atomInfo: [HOH]130:A.H2 #1964 Viewer.extractArray atomInfo: [HOH]131:A.O #1965 Viewer.extractArray atomInfo: [HOH]131:A.H1 #1966 Viewer.extractArray atomInfo: [HOH]131:A.H2 #1967 Viewer.extractArray atomInfo: [HOH]132:A.O #1968 Viewer.extractArray atomInfo: [HOH]132:A.H1 #1969 Viewer.extractArray atomInfo: [HOH]132:A.H2 #1970 Viewer.extractArray atomInfo: [HOH]133:A.O #1971 Viewer.extractArray atomInfo: [HOH]133:A.H1 #1972 Viewer.extractArray atomInfo: [HOH]133:A.H2 #1973 Viewer.extractArray atomInfo: [HOH]134:A.O #1974 Viewer.extractArray atomInfo: [HOH]134:A.H1 #1975 Viewer.extractArray atomInfo: [HOH]134:A.H2 #1976 Viewer.getMoleculeElements script: select none; select hetero xor water; --- SHOULDN'T PRODUCE ANYTHING Viewer.extractArray atomInfo: [LYS]1:A.H1 #10 Viewer.extractArray atomInfo: [ARG]21:A.HH21 #341 Viewer.extractArray atomInfo: [THR]40:A.OG1 #613 Viewer.extractArray atomInfo: [THR]40:A.HG1 #618 Viewer.extractArray atomInfo: [SER]50:A.OG #753 Viewer.extractArray atomInfo: [SER]50:A.HG #758 Viewer.extractArray atomInfo: [ASN]59:A.HD22 #900 Viewer.extractArray atomInfo: [SER]60:A.HG #911 Viewer.extractArray atomInfo: [THR]69:A.OG1 #1056 Viewer.extractArray atomInfo: [THR]69:A.HG1 #1061 Viewer.extractArray atomInfo: [SER]100:A.OG #1502 Viewer.extractArray atomInfo: [SER]100:A.HG #1507 ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ Jmol-users mailing list Jmol-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jmol-users