I finally figured out the problem while trying to kluge a workaround. I thought I'd mention the solution for the archive trawlers benefit. The group command was unnecessary and when removed the script behaved perfectly.

Thanks for all your time and help,
Katherine


On Thu, Dec 19, 2013 at 7:34 AM, Katherine Sippel <katherine.sippel@gmail.com> wrote:
Sorry if I was unclear. Currently I've got a functioning script that looks for a specific set of interactions in 3D space for each ligand in a pdb. If this interaction exists it gets passed along to a solvent accessible surface area %cutoff to eliminate ligands that are sitting on bulk solvent. I need to distinguish between genuine solvent exposed ligands and those that are sitting on a biological interface that isn't represented in the crystallographic ASU. Loading as a multiplex=1 or grouping alone is insufficient for program to recognize and account for the other molecules and include them in the calculations, hence the create command.

Basically I need a way to load the .pdb1 files as the full biological assembly. I need it recognize if it is a multimer (I was using count_states if loop as that recognition mechanism). If it recognizes that it is a multimer it needs to then pass the multimer into the group/create loop. If it is a monomer it needs to proceed through the rest of the script. This is a PDB datamining thing so it needs to be broad enough to account for any possible oligomer. If there is another way for the program to recognize that there are multimers present that would be great. Count_states was the only criteria I managed to fish out of the wiki/bb archives.

Thanks for the advice,
Katherine


On Thu, Dec 19, 2013 at 12:20 AM, Tsjerk Wassenaar <tsjerkw@gmail.com> wrote:
Hi Katherine,

You explain some of how you want to do it, but you don't explain what you're trying to do. What is the objective? It may well be that there's an easier way. As a sidenote, create can also make an object with multiple states. Check the help.

Hope it helps,

Tsjerk


On Wed, Dec 18, 2013 at 10:57 PM, Katherine Sippel <katherine.sippel@gmail.com> wrote:
Hi all,

I'm trying to load biological assemblies into my script. From old bulletin board messages I figured out that multiplex=1 would output the biological assembly as different states and objects. I worked out that cmd.group() would give a single object with multiple states. Then cmd.create() would make one object with one state. Unfortunately if you group a monomer with one state it gives you a selection of 0 atoms. There is a whole bunch of arithmetic on the back end of the script crashes with a divide by zero error for the monomeric ones. I thought I'd be smart and use count_states to build a conditional loop but I don't think I"m using it correctly because it isn't passing the multiple states into the loop.

Is there some requirement that I'm missing or not seeing here?

This might be easier to explain if I snip from scripts...

#Outputs the monomers correctly but doesn't account for the biological assembly so I get false negatives

cmd.set("all_states", 1)
for file in glob("*.pdb1"):
    cmd.load(file,'prot')
    cmd.select('allLigands', "het and (not resn HOH)") etc.

#
Outputs the multimers correctly but gives a divide by zero error for the monomers

cmd.set("all_states", 1)
for file in glob("*.pdb1"):

    cmd.load(file,'prot', multiplex =1)
    cmd.group('ens', 'prot'+'*')
    cmd.create('BA', 'ens')
    cmd.select('allLigands', "het and (not resn HOH)") etc.
   
#Outputs the monomers correctly but doesn't pass multimers into the conditional loop. I've also tried moving the cmd.group() before the if loop. That didn't work either.

cmd.set("all_states", 1)
for file in glob("*.pdb1"):
    cmd.load(file,'prot', multiplex=1)
    if cmd.count_states('prot') > 1:
        cmd.group('ens', 'prot')
        cmd.create('BA', 'ens')
        cmd.delete('ens')
    cmd.select('allLigands', "het and (not resn HOH)") etc.

Any help would be appreciated. I swear this is the last time I'll bother you. Thanks again.
Katherine



--
"Nil illegitimo carborundum" - Didactylos

------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT
organizations don't have a clear picture of how application performance
affects their revenue. With AppDynamics, you get 100% visibility into your
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
_______________________________________________
PyMOL-users mailing list (PyMOL-users@lists.sourceforge.net)
Info Page: https://lists.sourceforge.net/lists/listinfo/pymol-users
Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net



--
Tsjerk A. Wassenaar, Ph.D.




--
"Nil illegitimo carborundum" - Didactylos



--
"Nil illegitimo carborundum" - Didactylos