pestifer.tasks.psfgen module

Definition of the PsfgenTask class for handling invocations of psfgen which create a molecule from a base PDB/mmCIF file.

Usage is described in the psfgen documentation.

class pestifer.tasks.psfgen.PsfgenTask(specs: dict = None, **kwargs)[source]

Bases: VMDTask

A class for handling invocations of psfgen which create a molecule from a base PDB/mmCIF file or from a PSF file generated previously by psfgen This class is a descendant of the BaseTask class, and as such it has two parameters.

Parameters:

config_specs (dict) – Configuration specifications for the task.

coormods()[source]

Perform coordinate modifications based on the specifications provided in the task.

declash()[source]

Manages the declashing of protein loops and glycans

declash_glycans(specs)[source]

Declash glycans in the base molecule using the custom PestiferDeclash TcL package. This method generates a VMD script to identify and declash glycans in the molecular structure. It uses the PestiferDeclash package to perform the declashing operation, which involves identifying and modifying the coordinates of atoms in glycan regions.

declash_na_loops(specs)[source]

Declash nucleic acid loops in the base molecule using the custom PestiferDeclash TcL package. This method generates a VMD script to identify and declash nucleic acid loops in the molecular structure. It uses the PestiferDeclash package to perform the declashing operation, which involves identifying and modifying the coordinates of atoms in nucleic acid loop regions.

declash_protein_loops(specs: dict)[source]

Declash loops in the base molecule using the custom PestiferDeclash TcL package. This method generates a VMD script to identify and declash loops in the molecular structure. It uses the PestiferDeclash package to perform the declashing operation, which involves identifying and modifying the coordinates of atoms in loop regions.

declash_segtype(specs: dict, segtype='protein')[source]

Declash loops in the base molecule using the custom PestiferDeclash TcL package. This method generates a VMD script to identify and declash loops in the molecular structure. It uses the PestiferDeclash package to perform the declashing operation, which involves identifying and modifying the coordinates of atoms in loop regions.

do()[source]

Execute the psfgen task. This method initializes the task, ingests the base molecule, and runs the psfgen process. It also handles any necessary coormods and declashing of loops and glycans based on the task specifications. The results of the psfgen process are saved as a PSF/PDB fileset, and the state is updated accordingly.

ingest_molecules()[source]

Ingests the base molecule from the specifications provided in the task. This molecule is initialized from either base coordinates fetched in a prior fetch task, or a state defined by a previous continuation task. It also handles any graft sources specified in the sequence modifications and activates the biological assembly of the base molecule.

patch_topologies()[source]

Collect the topology files that are needed for the patches and links in the base molecule. This method retrieves the CHARMMFF topology files associated with the patches and links defined in the base molecule’s object manager.

provision(packet: dict = {})[source]

Provision the task with the standard packet, and initialize molecule dict and base molecule placeholders.

psfgen()[source]

Run the psfgen process to generate a PSF and PDB fileset from the base molecule.

resi_topologies()[source]

Collect the topology files that are needed for the residues in the base molecule.

strip_remarks()[source]

Strip REMARK lines from the PDB file generated by psfgen. This method removes any REMARK lines from the PDB file to ensure that it contains only the relevant atomic coordinates and structure information.

update_molecule()[source]

Updates all segments of the base molecule based on the current coordinate file. All ssbonds and links are carried forward. No biological assembly beyond the apparent asymmetric unit is assumed. This should permit generation of a new psfgen script based on this new molecule to recreate it or modify it.