schrodinger.application.matsci.guibase module

GUI classes/function shared by multiple Materials Science panels.

Copyright Schrodinger, LLC. All rights reserved.

class schrodinger.application.matsci.guibase.MultiJobApp(**kwargs)

Bases: schrodinger.ui.qt.appframework2.af2.JobApp

Subclass of AF2 JobApp that allows launching multiple simultanious jobs.

Every panel subclassing this should re-implement getJobCount() and getJobSpec() methods. A start method should NOT be implemented.

validateJobCount(**kwargs)
showLaunchStatus(num_succeeded, njobs)

Show a label at the bottom of the panel with status of the launch.

getJobCount()

Over-ride in the subclass to return the number of jobs that the user would like to start. Used for validation.

:return the number of jobs that the user requests. :rtype: int

multiJobStart()

Custom “start” method. For each job, creates a job sub-directory, cd’s into it, and launches the job there.

:return list of return values from self.launchFromJobSpec() calls.
Each value is a Job object or False, in start mode, or True/False in write mode.
launchFromJobSpec(sub_jobname, job_num, oplsdir=None)

Re-implemented from JobApp; options and behavior is somewhat differnt.

Starts or write the command for the given subjob.

Returns:Job object on successful start; True on successful write, False on failure.
class schrodinger.application.matsci.guibase.MultiDesmondJobApp(**kwargs)

Bases: schrodinger.application.matsci.guibase.MultiJobApp

Class with functionality for setting up, validating and running multiple Desmond jobs.

setup()
setDefaults()
getModel(index)

Return the model system at the specified index.

Parameters:index (int) – Index of the system to return
Returns:Model system at the specified job index
Return type:cms.Cms
getJobCount()

Return the number of jobs that the user would like to run.

Returns:Number of jobs to run
Return type:int
getStructFromPtEntry()

Get the first included entry in the Workspace if that entry is one of the chosen entries, or the first selected entry if no included entry is chosen.

Return type:(schrodinger.structure.Structure, string) or (None, None)
Returns:one structure from selected or included entries, the structure entry id
validateModelLoaded(**kwargs)
class schrodinger.application.matsci.guibase.PerStrucConfigDialog(parent, title='', jobname='', checkcommand=None, multi_gpgpu_allowed=True, **kw)

Bases: schrodinger.application.desmond.gui.DesmondGuiConfigDialog

Dialog for configuring jobs that can have CPUs/GPUs per input structure specified.

CPU_UNIT_LABEL = 'processors per structure'
GPU_UNIT_LABEL = 'GPUs per structure'
class schrodinger.application.matsci.guibase.PerStrucSingleGpuConfigDialog(*args, **kwargs)

Bases: schrodinger.application.desmond.gui.SingleGpuDesmondGuiConfigDialog

Class to configure jobs that can use a single GPU per input structure.

CPU_UNIT_LABEL = 'processors per structure'
GPU_UNIT_LABEL = 'GPUs per structure'