You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: biojava-structure/src/main/java/org/biojava/nbio/structure/ChainImpl.java
+4Lines changed: 4 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -284,7 +284,11 @@ public void addGroup(Group group) {
284
284
*/
285
285
286
286
// this check is to give in this case the entry priority that is an AminoAcid / comes first...
287
+
// a good example of same residue number for 2 residues is 3th3, chain T, residue 201 (a LYS and a sugar BGC covalently attached to it) - JD 2016-03-09
287
288
if ( pdbResnumMap.containsKey(pdbResnum)) {
289
+
290
+
logger.warn("Adding residue {}({}) to chain {} but a residue with same residue number is already present: {}({}). Will add only the aminoacid residue (if any) to the lookup, lookups for that residue number won't work properly.",
Copy file name to clipboardExpand all lines: biojava-structure/src/main/java/org/biojava/nbio/structure/io/BondMaker.java
+21-7Lines changed: 21 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -347,32 +347,46 @@ public void formBondsFromStructConn(List<StructConn> structConn) {
347
347
StringaltLoc2 = "";
348
348
if (!conn.getPdbx_ptnr2_label_alt_id().equals("?")) altLoc2 = conn.getPdbx_ptnr2_label_alt_id();
349
349
350
+
// TODO: when issue 220 is implemented, add robust symmetry handling to allow bonds between symmetry-related molecules.
351
+
if (!conn.getPtnr1_symmetry().equals(symop) || !conn.getPtnr2_symmetry().equals(symop) ) {
352
+
logger.info("Skipping bond between atoms {}(residue {}{}) and {}(residue {}{}) belonging to different symmetry partners, because it is not supported yet",
StringaltLocStr1 = altLoc1.isEmpty()? "" : "(alt loc "+altLoc1+")";
368
+
358
369
logger.warn("Could not find atom specified in struct_conn record: {}{}({}) in chain {}, atom {} {}", seqId1, insCode1, resName1, chainId1, atomName1, altLocStr1);
StringaltLocStr2 = altLoc2.isEmpty()? "" : "(alt loc "+altLoc2+")";
375
+
365
376
logger.warn("Could not find atom specified in struct_conn record: {}{}({}) in chain {}, atom {} {}", seqId2, insCode2, resName2, chainId2, atomName2, altLocStr2);
366
377
continue;
367
378
}
368
379
369
-
370
-
// TODO: when issue 220 is implemented, add robust symmetry handling to allow bonds between symmetry-related molecules.
371
-
if (!conn.getPtnr1_symmetry().equals(symop) || !conn.getPtnr2_symmetry().equals(symop) ) {
372
-
logger.info("Skipping bond between atoms {}({}) and {}({}) belonging to different symmetry partners, because it is not supported yet",
// we couldn't find the atom, something must be wrong with the file
382
+
logger.warn("Could not find atom {} {} from residue {}{}({}) in chain {} to create bond specified in struct_conn", atomName1, altLocStr1, seqId1, insCode1, resName1, chainId1);
374
383
continue;
375
384
}
385
+
if (a2==null) {
386
+
// we couldn't find the atom, something must be wrong with the file
387
+
logger.warn("Could not find atom {} {} from residue {}{}({}) in chain {} to create bond specified in struct_conn", atomName2, altLocStr2, seqId2, insCode2, resName2, chainId2);
388
+
continue;
389
+
}
376
390
377
391
// assuming order 1 for all bonds, no information is provided by struct_conn
0 commit comments