schrodinger.application.livedesign.dnc_utils module

schrodinger.application.livedesign.dnc_utils.is_assay_folder(node: dict) bool

Returns True if the given node is an assay folder, False otherwise. An assay folder is one that has only assay endpoints as children.

Parameters:

node – The node dictionary to check.

Returns:

True if the node is an assay folder, False otherwise.

schrodinger.application.livedesign.dnc_utils.parse_model_name(model_name: str) tuple[str, str]

Given a model name, return the assay and endpoint. E.g.:

assay_name, endpoint = self._parseModelName('Model (type) prot')
assay_name -> 'Model'
endpoint -> 'type'

In the case of multiple parenthetical segments, assigns the endpoint to be everything between the first “(” and the last “)”. If no parenthesis is found, returns the entire model_name string as the assay name and an ENDPOINT_UNAVAILABLE as the endpoint.

Parameters:

model_name – the full name of the live design endpoint

Returns:

the separated and stripped assay and endpoint name

schrodinger.application.livedesign.dnc_utils.get_toplevel_folders(proj_id: str) list[dict]

Get the toplevel folders for the given project ID.

Parameters:

proj_id – LiveDesign project ID

Returns:

List of toplevel folders.

schrodinger.application.livedesign.dnc_utils.get_dnc_tree(proj_id: str, folder_name: str) list[dict]

Get the complete DnC tree nodes for the given project ID and folder name.

Parameters:
  • proj_id – LiveDesign project ID

  • folder_name – Folder name to get the tree from

Returns:

list of node dict from the DnC tree.

schrodinger.application.livedesign.dnc_utils.get_dnc_folder_children(proj_id: str, parent_id: str) list[dict]

Get the direct children of the specified parent folder id.

Parameters:
  • proj_id – LiveDesign project ID

  • parent_id – Parent folder ID to get the children from

Returns:

list of node dict from the DnC tree.