Skip to content

ConcurrentModificationException for entries with many assemblies #227

@sbliven

Description

@sbliven

A user reported errors fetching interfaces from the following structures.

1g5y 1hxy 1ldk 1ya5 2as5 2esv 2f8v 2gbj 2gbk 2gbm 2gbr 2io5 2k6d 2kjh 2rcj 2wdt 3dpr 3o65 3pml 3utt 3w0t 4amh 4csy 4dhj 4ium 4qud 4rd9 4ri9 4txq 5anr 5b6c 5c07 5c08 5c09 5c0a 5c0b 5c0c 5e9d 5fu7 5hyj 5jrg 5m8q 5mgx 5nmh 5nnf 5om2 5v87 5wp6 5xjt 5xtd 6at9 6atz 6aw2 6axj 6azp 6b0b 6b0o 6b0q 6b0r 6b8o 6bbo 6bev 6bgg 6bgh 6bij 6bil 6bin 6bir 6biv 6bix 6biy 6biz 6c0b 6cvn 6flm 6ftp 6hkt 

Re-submitting a few random examples (2AS5, 3PML, 5MGX) showed similar problems for all three:

Loading PDB data: 2AS5.cif
Calculating possible interfaces...
Done
Calculating possible assemblies...
06:25:09 [main] WARN  eppic.assembly.CrystalAssemblies - Exceeded the default max number of allowed assemblies (1000). Will do assembly enumeration from heteromeric-contracted graph
06:25:09 [main] ERROR eppic.Main - Unexpected error. Stack trace:
java.util.ConcurrentModificationException
	at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:909)
	at java.util.ArrayList$Itr.next(ArrayList.java:859)
	at java.util.Collections$UnmodifiableCollection$1.next(Collections.java:1042)
	at eppic.assembly.GraphContractor.contractInterfaceCluster(GraphContractor.java:129)
	at eppic.assembly.GraphContractor.contract(GraphContractor.java:252)
	at eppic.assembly.LatticeGraph.contractGraph(LatticeGraph.java:459)
	at eppic.assembly.CrystalAssemblies.init(CrystalAssemblies.java:120)
	at eppic.assembly.CrystalAssemblies.<init>(CrystalAssemblies.java:90)
	at eppic.Main.doFindAssemblies(Main.java:402)
	at eppic.Main.run(Main.java:939)
	at eppic.Main.run(Main.java:904)
	at eppic.Main.main(Main.java:878)

It appears that there might be a bug in using heteromeric-contracted graphs.

The odd thing is that I wouldn't expect these structures to have lots of assemblies. They are all small asymmetric units (2-3 polymer chains) in normal space groups. I'm guessing this is actually a bug in CrystalAssemblies that manifests in an invalid latticegraph.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions