Hi all, the largest PDB file in the Protein Data Bank is currently the biological unit file for entry '1M4X' (1m4x.pdb1), the PBCV-1 virus capsid.
Here are some data relevant for handling it with Jmol (application, 800x800, default settings): compressed file size : 314 MB uncompressed file size : 1.3 GB (!) number of models : 1680 number of chains per model : 3 number of residues per chain: 413 total number of atoms : 16284240 (!) open time: openFile(1m4x.pdb1.gz)1166702 ms (~20 min.) memory used until message "1680 models...": 8.4 GB CPU time until 1 model visible as wireframe: 114 min. memory used after 1 model visible: 22 GB (!) CPU time for "frame all" command: 2348 min. (~39 hours !) memory used after all models visible: 22 GB time for slight rotation with mouse : 2-4 min. time for slight zoom increase with scroll wheel: 1.5 min. time for "reset" command: >15 min. (I stopped the test) ---- Test System ------------------------- Jmol: 11.3.47, application Java: 1.4.2_13 OS : Linux, SuSE Enterprise 10 CPU : Dual core Itanium 2, 1.6 GHz (18x) RAM : 142 GB (physical) ------------------------------------------ I presented this extreme example here as a hopefully interesting introduction into one major problem that you have to deal with if you want to provide acceses to any PDB entry with Jmol (asymmetric and biological units, as our 'JenaLib' does): OUT OF MEMORY ! Because an "OUT OF MEMORY" error freezes Jmol and the standard user most likely won't take a look at the Java console it would be really good to be able to warn the user at least. Since memory requirements and availability differ largely between users I would prefer a solution that would orient at the individual configurations and files loaded. Q: Could a "memory estimation function" be integrated into Jmol that would estimate the memory requirement prior to loading a specific structure file? Additionally it would be necessary to be able to obtain information on the free and maximum available memory within Jmol (and what would become free if the currently loaded file(s) would be discarded). I know that there is the "_memory" variable that contains information on the free and used memory. But when I looked at the 3 different manually reachable sources for memory information ("context menu", "print _memory", "Java Console") after loading entry "1DEH" (http://www.fli-leibniz.de/cgi-bin/3d_mapping.pl?CODE=1deh) I got the following results: 1) context menu 18 MB total 6 MB free 254 MB maximum 2) print _memory 12.8/18.8 3) Java console 18,352 K 6,121 K free (33%) And after requesting a garbage collection within the Java console it changed to the following: 1) context menu 18 MB total 9 MB free 254 MB maximum 2) print _memory 8.6/18.8 3) Java console 18,352 K 10,356 K free (56%) So it looks as if the reported free memory does only take into account the currently allocated memory but not the maximum available memory. Therefore the maximum available memory should also be available within Jmol scripting. And it would also be good to be able to request a garbage collection. (Avoiding false alarm because of calculation with wrong numbers.) Q: What do you think about storing the memory requirements for each file? And since file loading is not the only memory consuming thing, it would be good to be able to obtain other memory information too. >From Bob's information about the high memory needs for 'antialiasDisplay' it looks like a good candidate for this. Q: Could a "memory estimation function" be integrated into Jmol that would estimate the additional memory requirement prior to 'set antialiasDisplay true'? Since the "OUTO OF MEMORY" problem not only occurs with very large structures but for example also if a number of applets is started within a single browser session, I think this might be of general interest also to others. While working with the extreme example '1m4x' I noticed that the CPU usage was almost all the time at 100% (refered to 1 CPU). Only if a screen update was necessary because for example a hidden part of the Jmol window became visible this went up to 200%. Q: Is there any way to benefit from multiple CPUs within Jmol? Regards, Rolf ------------------------------------------------------------------------- SF.Net email is sponsored by: Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace _______________________________________________ Jmol-users mailing list Jmol-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jmol-users