From 5a5052428c88669d7bb31a92dcd2718c3cbb9788 Mon Sep 17 00:00:00 2001 From: josemduarte Date: Mon, 6 Jan 2025 15:13:04 -0800 Subject: [PATCH] More lenient parsing if some fields are missing (e.g. in files output by Gemmi) --- .../nbio/structure/io/cif/CifStructureConsumerImpl.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/biojava-structure/src/main/java/org/biojava/nbio/structure/io/cif/CifStructureConsumerImpl.java b/biojava-structure/src/main/java/org/biojava/nbio/structure/io/cif/CifStructureConsumerImpl.java index ca3906e4b2..b204687762 100644 --- a/biojava-structure/src/main/java/org/biojava/nbio/structure/io/cif/CifStructureConsumerImpl.java +++ b/biojava-structure/src/main/java/org/biojava/nbio/structure/io/cif/CifStructureConsumerImpl.java @@ -972,9 +972,9 @@ public void consumeStructRefSeq(StructRefSeq structRefSeq) { DBRef dbRef = new DBRef(); - dbRef.setIdCode(structRefSeq.getPdbxPDBIdCode().get(rowIndex)); - dbRef.setDbAccession(structRefSeq.getPdbxDbAccession().get(rowIndex)); - dbRef.setDbIdCode(structRefSeq.getPdbxDbAccession().get(rowIndex)); + dbRef.setIdCode(structRefSeq.getPdbxPDBIdCode().isDefined()? structRefSeq.getPdbxPDBIdCode().get(rowIndex):null); + dbRef.setDbAccession(structRefSeq.getPdbxDbAccession().isDefined()? structRefSeq.getPdbxDbAccession().get(rowIndex):null); + dbRef.setDbIdCode(structRefSeq.getPdbxDbAccession().isDefined()? structRefSeq.getPdbxDbAccession().get(rowIndex):null); dbRef.setChainName(structRefSeq.getPdbxStrandId().get(rowIndex)); OptionalInt structRefRowIndex = IntStream.range(0, structRef.getRowCount()) @@ -1330,7 +1330,7 @@ private String getEntityType(String entityId) { private String getEntityDescription(String entityId) { return IntStream.range(0, entity.getRowCount()) .filter(i -> entity.getId().get(i).equals(entityId)) - .mapToObj(i -> entity.getPdbxDescription().get(i)) + .mapToObj(i -> entity.getPdbxDescription().isDefined()? entity.getPdbxDescription().get(i):"") .findFirst() .orElseThrow(() -> new NoSuchElementException("could not find entity with id " + entityId)); }