From: Bob H. <ha...@st...> - 2007-05-09 03:36:45
|
Now, wait a minute.... I have just checked this in.... It should not be working yet for you, Tim.... It's late; you must be half asleep. I'm not THAT fast. :) Isosurfaces in the context of multiple models/files ----------------------------------------- When multiple models and or multiple files are loaded and then isosurfaces created, there can be some problems. We should keep alert to bugs in this area, as it is one of them most complicated parts of Jmol. The way it SHOULD (and I think does in the next prerelease) work is as follows: Isosurfaces are generally associated with specific models. A solvent surface, a molecular orbital, etc. There are exceptions, but let's not worry about those yet. Provided you have a single model displayed, as with model 3.1 or frame 3 then any isosurface creation that is done should automatically restrict itself to that model. You don't have to select the model, you don't have to "ignore" atoms that are not in the model. Jmol should automatically does that for you. There was a bug there I just fixed. The following sequence should do just what you think it should do: load files "=1crn" "=1blu" "=1dry" model 1.1;isosurface s1 select(protein) solvent 0.8 model 2.1;isosurface s2 select(protein) solvent 0.8 model 3.1;isosurface s3 select(*) solvent 0.8 This creates three isosurfaces, one in each frame 1.1, 2.1, and 3.1. If you don't want to switch frames, you can put the model designation right into the isosurface command: load files "=1crn" "=1blu" "=1dry" isosurface s1 model 1.1 select(protein) solvent 0.8 isosurface s2 model 2.1 select(protein) solvent 0.8 isosurface s3 model 3.1 select(*) solvent 0.8 This should create the same set of isosurfaces as above. The only difference is that in the first example you are left looking at model 3.1 and isosurface s3; in the second example you are left looking at the frame you were looking at before the commands were given -- with whatever isosurface might be created in that frame. Of course, if you use frame 0 then you see all three isosurfaces. Now, what do you suppose happens with this next example? load files "=1crn" "=1blu" "=1dry" frame 0; isosurface s1 select(protein) solvent 0.8 We are displaying all three models; we are creating a single isosurface. Now what? Well, something has to give. Jmol just displays the isosurface for the first model, 1crn. "fixed" isosurfaces ------------------ What if we want to create an isosurface for one model but for whatever reason display it not with its atoms but with those of another model? This is a bit ghostly, but if you add the keyword FIXED to the isosurface command: load files "=1crn" "=1blu" "=1dry" frame 2.1; isosurface s1 fixed select(protein) solvent 0.8 what happens is that the isosurface for 1blu is created as expected, but it is fixed in space for all models, not just the one. So you can switch from one frame to the next and that isosurface will be there. It's a bit odd, I know. but it's particularly useful with something simple, like a plane: load files "=1crn" "=1blu" "=1dry" isosurface s1 fixed plane x=13 This is nice, because it provides a reference plane for all models. Bob |