[Biojava-l] Working with mmCIF files

Andreas Prlic andreas at sdsc.edu
Fri Jun 14 00:34:10 UTC 2013

Hi Phele,

You are right that the PdbxEntityNonPoly class is the correct container for
that cif-category. However, at the moment the SimpleMMcifConsumer does not
do much with the PdbxEntityNonPoly data. This is because the same content
is available via the chemical component dictionary which is used by
biojava-structure as well.

To explain this with an example:

PDB ID 1A4W has the non-poly QWE

You can access all the related information using the code below.

Hope that makes sense and let us know if anything is unclear!


String pdbId = "1A4W";

StructureIOFile pdbreader = new MMCIFFileReader();

 try {


 Structure s = pdbreader.getStructureById(pdbId);

   Chain h = s.getChainByPDB("H");

  List<Group> ligands = h.getAtomLigands();

   System.out.println("These ligands have been found in chain " +

   for (Group l:ligands){



   System.out.println("Accessing QWE directly: ");

 Group qwe = h.getGroupByPDB(new ResidueNumber("H",373,null));





     } catch (Exception e) {



On Thu, Jun 13, 2013 at 1:11 AM, Phelelani Mpangase <pmpangase at gmail.com>wrote:

> Hello
> I am new to the Java progrmming language, and I am currently working on a
> project where I have to find information about a protein structure from the
> mmCIF file. I would like to extract information about non-polymers in
> structures (_pdbx_entity_nonpoly table) using BioJava. How do I go about
> achieving this?
> I have been able to parse the structure using the SimpleMMcifConsumer, but
> I am unclear as to the steps I need to follow from there. Is the
> PdbxEntityNonPoly the right class to use? How do I use this class to
> achieve to get the data from the "_pdbx_entity_nonpoly"?
> Regards,
> Phele
> _______________________________________________
> Biojava-l mailing list  -  Biojava-l at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/biojava-l

More information about the Biojava-l mailing list