Re: NullPointerException with toMMCIF method

Jose Duarte <[email protected]> Mon, 13 Apr 2026 09:31:17 -0700
Newsgroups gmane.comp.java.bio.general
Message-ID <CAHhO=JFE=2Hc8XEhUpSB_SvxXFjNwm+7iJD=u0kRGD1FuCr14A@mail.gmail.com>
--===============9217636167674770209==
Content-Type: multipart/alternative; boundary="000000000000b41543064f5a0355"

--000000000000b41543064f5a0355
Content-Type: text/plain; charset="UTF-8"

Thanks for reporting. It looks like this was introduced recently with the
fix for this issue: https://github.com/biojava/biojava/issues/1116

I can submit a patch soon, it should be an easy fix.

Jose

On Mon, 13 Apr 2026 at 07:38, Enrico Morelli <[email protected]> wrote:

> Dear all,
>
> I'm having trouble with a CIF that give me a NullPointerException using
> toMMCIF method:
>
>  public static void main(String[] args) throws StructureException,
> IOException {
>         Structure structure = StructureIO.getStructure("2G10");
>         System.out.println(StructureTools.getNrAtoms(structure));
>         System.out.println(structure.toMMCIF());
> }
>
>
> Exception in thread "main" java.lang.NullPointerException: Cannot invoke
> "org.biojava.nbio.structure.EntityInfo.getType()" because the return value
> of "org.biojava.nbio.structure.Chain.getEntityInfo()" is null
>         at org.biojava.nbio.structure.io
> .cif.AbstractCifFileSupplier$AtomSiteCollector.accept(AbstractCifFileSupplier.java:312)
>         at
> java.base/java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169)
>         at
> java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1709)
>         at
> java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:556)
>         at
> java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:546)
>         at
> java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
>         at
> java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265)
>         at
> java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:702)
>         at org.biojava.nbio.structure.io
> .cif.AbstractCifFileSupplier.getInternal(AbstractCifFileSupplier.java:39)
>         at org.biojava.nbio.structure.io
> .cif.CifStructureSupplierImpl.get(CifStructureSupplierImpl.java:17)
>         at org.biojava.nbio.structure.io
> .cif.CifStructureConverter.toCifFile(CifStructureConverter.java:230)
>         at org.biojava.nbio.structure.io
> .cif.CifStructureConverter.toText(CifStructureConverter.java:205)
>         at org.biojava.nbio.structure.io
> .FileConvert.toMMCIF(FileConvert.java:599)
>         at
> org.biojava.nbio.structure.StructureImpl.toMMCIF(StructureImpl.java:697)
>         at BioJavaTest.main(BioJavaTest.java:15)
>
> Is there a reason for that?
>
> Thanks
>
> --
> -----------------------------------------------------------
>   Enrico Morelli
>   System Administrator | Programmer | Web Developer
>
>   CERM - Polo Scientifico
>   via Sacconi, 6 - 50019 Sesto Fiorentino (FI) - ITALY
> ------------------------------------------------------------
> _______________________________________________
> Biojava-l mailing list  -  [email protected]
> https://mailman.open-bio.org/mailman/listinfo/biojava-l
>

--000000000000b41543064f5a0355
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Thanks for reporting. It looks like this was introduced re=
cently with the fix for this issue:=C2=A0<a href=3D"https://github.com/bioj=
ava/biojava/issues/1116">https://github.com/biojava/biojava/issues/1116</a>=
<div><br></div><div>I can submit a patch soon, it should be an easy fix.</d=
iv><div><br></div><div>Jose</div></div><br><div class=3D"gmail_quote gmail_=
quote_container"><div dir=3D"ltr" class=3D"gmail_attr">On Mon, 13 Apr 2026 =
at 07:38, Enrico Morelli &lt;<a href=3D"mailto:[email protected]">morel=
[email protected]</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" =
style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);pa=
dding-left:1ex">Dear all,<br>
<br>
I&#39;m having trouble with a CIF that give me a NullPointerException using=
 toMMCIF method:<br>
<br>
=C2=A0public static void main(String[] args) throws StructureException, IOE=
xception {<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 Structure structure =3D StructureIO.getStructur=
e(&quot;2G10&quot;);<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 System.out.println(StructureTools.getNrAtoms(st=
ructure));<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 System.out.println(structure.toMMCIF());<br>
}<br>
<br>
<br>
Exception in thread &quot;main&quot; java.lang.NullPointerException: Cannot=
 invoke &quot;org.biojava.nbio.structure.EntityInfo.getType()&quot; because=
 the return value of &quot;org.biojava.nbio.structure.Chain.getEntityInfo()=
&quot; is null<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 at <a href=3D"http://org.biojava.nbio.structure=
.io" target=3D"_blank">org.biojava.nbio.structure.io</a>.cif.AbstractCifFil=
eSupplier$AtomSiteCollector.accept(AbstractCifFileSupplier.java:312)<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 at java.base/java.util.stream.ReduceOps$3Reduci=
ngSink.accept(ReduceOps.java:169)<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 at java.base/java.util.ArrayList$ArrayListSplit=
erator.forEachRemaining(ArrayList.java:1709)<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 at java.base/java.util.stream.AbstractPipeline.=
copyInto(AbstractPipeline.java:556)<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 at java.base/java.util.stream.AbstractPipeline.=
wrapAndCopyInto(AbstractPipeline.java:546)<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 at java.base/java.util.stream.ReduceOps$ReduceO=
p.evaluateSequential(ReduceOps.java:921)<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 at java.base/java.util.stream.AbstractPipeline.=
evaluate(AbstractPipeline.java:265)<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 at java.base/java.util.stream.ReferencePipeline=
.collect(ReferencePipeline.java:702)<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 at <a href=3D"http://org.biojava.nbio.structure=
.io" target=3D"_blank">org.biojava.nbio.structure.io</a>.cif.AbstractCifFil=
eSupplier.getInternal(AbstractCifFileSupplier.java:39)<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 at <a href=3D"http://org.biojava.nbio.structure=
.io" target=3D"_blank">org.biojava.nbio.structure.io</a>.cif.CifStructureSu=
pplierImpl.get(CifStructureSupplierImpl.java:17)<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 at <a href=3D"http://org.biojava.nbio.structure=
.io" target=3D"_blank">org.biojava.nbio.structure.io</a>.cif.CifStructureCo=
nverter.toCifFile(CifStructureConverter.java:230)<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 at <a href=3D"http://org.biojava.nbio.structure=
.io" target=3D"_blank">org.biojava.nbio.structure.io</a>.cif.CifStructureCo=
nverter.toText(CifStructureConverter.java:205)<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 at <a href=3D"http://org.biojava.nbio.structure=
.io" target=3D"_blank">org.biojava.nbio.structure.io</a>.FileConvert.toMMCI=
F(FileConvert.java:599)<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 at org.biojava.nbio.structure.StructureImpl.toM=
MCIF(StructureImpl.java:697)<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 at BioJavaTest.main(BioJavaTest.java:15)<br>
<br>
Is there a reason for that?<br>
<br>
Thanks<br>
<br>
-- <br>
-----------------------------------------------------------<br>
=C2=A0 Enrico Morelli<br>
=C2=A0 System Administrator | Programmer | Web Developer<br>
<br>
=C2=A0 CERM - Polo Scientifico<br>
=C2=A0 via Sacconi, 6 - 50019 Sesto Fiorentino (FI) - ITALY<br>
------------------------------------------------------------<br>
_______________________________________________<br>
Biojava-l mailing list=C2=A0 -=C2=A0 <a href=3D"mailto:[email protected]=
g" target=3D"_blank">[email protected]</a><br>
<a href=3D"https://mailman.open-bio.org/mailman/listinfo/biojava-l" rel=3D"=
noreferrer" target=3D"_blank">https://mailman.open-bio.org/mailman/listinfo=
/biojava-l</a><br>
</blockquote></div>

--000000000000b41543064f5a0355--

--===============9217636167674770209==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Biojava-l mailing list  -  [email protected]
https://mailman.open-bio.org/mailman/listinfo/biojava-l

--===============9217636167674770209==--