@Test
public void testProtein() throws Exception {

    String filename = "data/pdb/Test-1crn.pdb";
    InputStream ins = this.getClass().getClassLoader().getResourceAsStream(filename);
    ISimpleChemObjectReader reader = new PDBReader(ins);
    Assert.assertNotNull(reader);
    ChemFile chemFile = (ChemFile) reader.read(new ChemFile());
    Assert.assertNotNull(chemFile);
    Assert.assertEquals(1, chemFile.getChemSequenceCount());
    org.openscience.cdk.interfaces.IChemSequence seq = chemFile.getChemSequence(0);
    Assert.assertNotNull(seq);
    Assert.assertEquals(1, seq.getChemModelCount());
    IChemModel model = seq.getChemModel(0);
    Assert.assertNotNull(model);
    Assert.assertEquals(1, model.getMoleculeSet().getAtomContainerCount());
    IAtomContainer container = model.getMoleculeSet().getAtomContainer(0);
    Assert.assertTrue(container instanceof IBioPolymer);
    IBioPolymer mol = (IBioPolymer) container;
    Assert.assertNotNull(mol);
    Assert.assertEquals(327, mol.getAtomCount());
    Assert.assertEquals(46, mol.getMonomerCount());
    Assert.assertNotNull(mol.getMonomer("THRA1", "A"));
    Assert.assertEquals(7, mol.getMonomer("THRA1", "A").getAtomCount());
    Assert.assertNotNull(mol.getMonomer("ILEA7", "A"));
    Assert.assertEquals(8, mol.getMonomer("ILEA7", "A").getAtomCount());
    IAtom nAtom = mol.getAtom(94);
    Assert.assertNotNull(nAtom);
    Assert.assertTrue(nAtom instanceof PDBAtom);
    PDBAtom atom = (PDBAtom) nAtom;
    Assert.assertEquals("C", atom.getSymbol());
    Assert.assertEquals(95, atom.getSerial().intValue());
    Assert.assertEquals("CZ", atom.getName());
    Assert.assertEquals("PHE", atom.getResName());
    Assert.assertEquals("13", atom.getResSeq());
    Assert.assertEquals(1.0, atom.getOccupancy(), 0.001);
    Assert.assertEquals(6.84, atom.getTempFactor(), 0.001);
}