pestifer.core.artifacts module¶
A class for handling artifacts in the Pestifer core. Artifacts are files or
data generated during the execution of tasks and are managed by the
PipelineContext.
Tasks are the primary creators of Artifacts, and the pipeline context is responsible
for managing their lifecycles. Any task may create and register an Artifact. All
tasks have a register method that interfaces with the pipeline to register an
Artifact, and a get_current_artifact method to retrieve an Artifact by its key.
All Artifacts must have a “key” that the pipeline uses to track them. A key value is normally created when an Artifact is created:
Any artifact can be retrieved from the pipeline context, in a later task, say, using its key:
Containers of Artifacts can also be registered and retrieved. However, importantly, Artifact containers do not have a single key attribute. A key is associated with an Artifact container when a task calls its register method:
Artifact containers allow for groups of artifacts to be associated with a single key, making it easier to manage related artifacts, and to separate them from other artifacts in the pipeline.
The data in an artifact can be any object, but most useful are Paths. Artifacts with data that are Paths are called FileArtifacts. When a task creates a file, it is a good idea to create a FileArtifact and register it.
This is how the pipeline is used to “pass” files from one task to any other. Because each Artifact’s registration associates it with a specific task instance, later tasks can query the pipeline for artifacts created by previous tasks using their keys and task ids.
- class pestifer.core.artifacts.Artifact(data: object | None = None, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>)[source]¶
Bases:
objectBase Artifact class.
- copy(**kwargs) Artifact[source]¶
Create a copy of the artifact, optionally overriding attributes with keyword arguments.
- class pestifer.core.artifacts.ArtifactDict(data: dict[str, ~pestifer.core.artifacts.Artifact]=<factory>, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>)[source]¶
Bases:
ArtifactDictionary of Artifacts.
- filter_by_produced_by(produced_by: object) ArtifactDict[source]¶
Filter the artifact dictionary by the producer of artifacts.
- Parameters:
produced_by (object) – The producer of artifacts to filter by.
- Returns:
A new ArtifactDict containing only the artifacts produced by the specified producer.
- Return type:
- classmethod from_list(artifact_list: ArtifactList) ArtifactDict[source]¶
Create an ArtifactDict from an ArtifactList.
- get(key: str, default: Artifact | None = None) Artifact | None[source]¶
Get an artifact by key, returning a default value if the key is not found.
- pop(key, default=None) Artifact[source]¶
Remove and return an arbitrary artifact from the dictionary.
- stamp(owner: object) ArtifactDict[source]¶
Stamp all artifacts in the dictionary with the owner information.
- Parameters:
owner (object) – The owner of the artifacts, which can be any object that produced these artifacts.
- Returns:
The artifact dictionary with all artifacts stamped with the owner information.
- Return type:
- to_list() ArtifactList[source]¶
Create an ArtifactList from the ArtifactDict.
- class pestifer.core.artifacts.ArtifactList(data: list[Artifact] = <factory>, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>)[source]¶
Bases:
ArtifactA list of Artifacts.
- extend(items: list[Artifact]) None[source]¶
Extend the list by appending elements from the iterable.
- filter_by_artifact_type(artifact_type: type[Artifact]) ArtifactList[source]¶
Filter the artifact list by the type of artifacts.
- filter_by_key(key: str) ArtifactList[source]¶
Filter the artifact list by the key of artifacts.
- Parameters:
key (str) – The key of artifacts to filter by.
- Returns:
A new ArtifactList containing only the artifacts with the specified key.
- Return type:
- filter_by_produced_by(produced_by: object) ArtifactList[source]¶
Filter the artifact list by the task that produced them.
- Parameters:
produced_by (object) – The task or object that produced the artifacts to filter by.
- Returns:
A new ArtifactList containing only the artifacts produced by the specified task.
- Return type:
- classmethod from_dict(artifact_dict: ArtifactDict) ArtifactList[source]¶
Create an ArtifactList from an ArtifactDict.
- stamp(owner: object) ArtifactList[source]¶
Stamp all artifacts in the list with the owner information.
- Parameters:
owner (object) – The owner of the artifacts, which can be any object that produced these artifacts. If not provided, the artifacts will not be stamped.
- Returns:
The artifact list with all artifacts stamped with the owner information.
- Return type:
- to_dict() ArtifactDict[source]¶
Create an ArtifactDict from the ArtifactList.
- class pestifer.core.artifacts.CIFFileArtifact(data: str | None = None, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'CIF file', mime_type: str = 'text/plain', pytestable: bool = False, nonstate_results: bool = False, keep: bool = False, ext: str = 'cif')[source]¶
Bases:
TXTFileArtifactA CIF file artifact.
- class pestifer.core.artifacts.CSVDataFileArtifact(data: str | None = None, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'CSV data file', mime_type: str = 'text/plain', pytestable: bool = False, nonstate_results: bool = False, keep: bool = False, ext: str = 'csv')[source]¶
Bases:
DataFileArtifactA CSV data file artifact.
- class pestifer.core.artifacts.CSVDataFileArtifactList(data: list[FileArtifact] = <factory>, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'List of CSV data files')[source]¶
Bases:
DataFileArtifactListA list of CSV data file artifacts.
- class pestifer.core.artifacts.CharmmffFileArtifact(data: str | None = None, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'CHARMM force field file', mime_type: str | None = 'application/octet-stream', pytestable: bool = False, nonstate_results: bool = False, keep: bool = False)[source]¶
Bases:
FileArtifactA CHARMM force field file artifact.
- class pestifer.core.artifacts.CharmmffFileArtifactList(data: list[FileArtifact] = <factory>, key: str = 'charmm_files', produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'CHARMM file artifacts')[source]¶
Bases:
FileArtifactListA collection of CHARMM file artifacts.
- append(item: CharmmffFileArtifact) None[source]¶
Append a CHARMM file artifact to the collection.
- extend(items: list[CharmmffFileArtifact]) None[source]¶
Extend the collection by appending elements from the iterable.
- class pestifer.core.artifacts.CharmmffParFileArtifact(data: str | None = None, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'CHARMM force field parameter file', mime_type: str | None = 'application/octet-stream', pytestable: bool = False, nonstate_results: bool = False, keep: bool = False, ext: str = 'prm')[source]¶
Bases:
CharmmffFileArtifactA toplevel CHARMM force field parameter file artifact.
- class pestifer.core.artifacts.CharmmffParFileArtifacts(data: list[FileArtifact] = <factory>, key: str = 'charmm_files', produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'CHARMM force field parameter files')[source]¶
Bases:
CharmmffFileArtifactListA collection of CHARMM force field parameter file artifacts.
- class pestifer.core.artifacts.CharmmffStreamFileArtifact(data: str | None = None, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'CHARMM force field stream file', mime_type: str | None = 'application/octet-stream', pytestable: bool = False, nonstate_results: bool = False, keep: bool = False, ext: str = 'str')[source]¶
Bases:
CharmmffFileArtifactA CHARMM force field stream file artifact.
- class pestifer.core.artifacts.CharmmffStreamFileArtifacts(data: list[FileArtifact] = <factory>, key: str = 'charmm_files', produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'CHARMM force field stream files')[source]¶
Bases:
CharmmffFileArtifactListA collection of CHARMM force field stream file artifacts.
- class pestifer.core.artifacts.CharmmffTopFileArtifact(data: str | None = None, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'CHARMM force field topology file', mime_type: str | None = 'application/octet-stream', pytestable: bool = False, nonstate_results: bool = False, keep: bool = False, ext: str = 'rtf')[source]¶
Bases:
CharmmffFileArtifactA toplevel CHARMM force field topology file artifact.
- class pestifer.core.artifacts.CharmmffTopFileArtifacts(data: list[FileArtifact] = <factory>, key: str = 'charmmff_topfiles', produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'CHARMM force field topology files')[source]¶
Bases:
CharmmffFileArtifactListA collection of CHARMM force field topology file artifacts.
- class pestifer.core.artifacts.DataArtifact(data: object | None = None, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str | None = None)[source]¶
Bases:
ArtifactRepresents a data artifact in the Pestifer core.
- class pestifer.core.artifacts.DataFileArtifact(data: str | None = None, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'Data file', mime_type: str = 'text/plain', pytestable: bool = False, nonstate_results: bool = False, keep: bool = False, ext: str = 'dat')[source]¶
Bases:
TXTFileArtifactA generic data file artifact.
- class pestifer.core.artifacts.DataFileArtifactList(data: list[FileArtifact] = <factory>, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'List of data files')[source]¶
Bases:
FileArtifactListList of data file artifacts.
- class pestifer.core.artifacts.FileArtifact(data: str | None = None, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str | None = None, mime_type: str | None = 'application/octet-stream', pytestable: bool = False, nonstate_results: bool = False, keep: bool = False)[source]¶
-
A class for artifacts that are files.
- compare(other: FileArtifact | Path) bool[source]¶
- diff(other: FileArtifact | Path) str[source]¶
Compare this file artifact with another for equality.
- Parameters:
other (FileArtifact) – The other file artifact to compare against.
- Returns:
True if the artifacts are equal, False otherwise.
- Return type:
- abstract property ext: str¶
The file extension of the file artifact, which is used as the artifact key by default.
- mime_type: str | None = 'application/octet-stream'¶
The MIME type of the file artifact; ‘application/octet-stream’ by default.
- nonstate_results: bool = False¶
Flag indicating whether or not this file artifact is a non-state result file, such as a PNG image of a plot.
- pytestable: bool = False¶
Flag indicating whether or not this file artifact is pytestable; i.e., if generated by pytest, there is a gold-standard version available for comparison.
- validate()[source]¶
Validate the file artifact.
- Raises:
FileNotFoundError – If the file artifact does not exist.
- class pestifer.core.artifacts.FileArtifactDict(data: 'dict[str, FileArtifact]'=<factory>, key: 'str | None' = None, produced_by: 'object | None' = None, provenance: 'list[object]' = <factory>)[source]¶
Bases:
ArtifactDict
- class pestifer.core.artifacts.FileArtifactList(data: 'list[FileArtifact]' = <factory>, key: 'str | None' = None, produced_by: 'object | None' = None, provenance: 'list[object]' = <factory>)[source]¶
Bases:
ArtifactList- make_tarball(basename: str, remove: bool = False, arcname_prefix: str = None, unique: bool = False)[source]¶
Create a tarball from the list of artifact files.
- paths_to_list() list[Path][source]¶
Convert the list of artifact files in the caller to a list of their paths.
- unique_paths() FileArtifactList[source]¶
Reduce the list so that all paths are unique.
- class pestifer.core.artifacts.InputFileArtifact(data: str | None = None, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'Generic input file', mime_type: str = 'text/plain', pytestable: bool = False, nonstate_results: bool = False, keep: bool = False, ext: str = 'inp')[source]¶
Bases:
TXTFileArtifactA generic input file artifact.
- class pestifer.core.artifacts.JSONFileArtifact(data: str | None = None, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'JSON file', mime_type: str = 'application/json', pytestable: bool = False, nonstate_results: bool = False, keep: bool = False, ext: str = 'json')[source]¶
Bases:
TXTFileArtifactA JSON file artifact.
- class pestifer.core.artifacts.LogFileArtifact(data: str | None = None, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'Log file generated during task execution', mime_type: str = 'text/plain', pytestable: bool = False, nonstate_results: bool = False, keep: bool = False, ext: str = 'log')[source]¶
Bases:
TXTFileArtifactA generic log file artifact.
- class pestifer.core.artifacts.LogFileArtifactList(data: list[FileArtifact] = <factory>, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'List of log files')[source]¶
Bases:
FileArtifactListA list of log file artifacts.
- class pestifer.core.artifacts.NAMDColvarsConfigArtifact(data: str | None = None, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'NAMD Colvars configuration file', mime_type: str = 'application/json', pytestable: bool = False, nonstate_results: bool = False, keep: bool = False, ext: str = 'in')[source]¶
Bases:
JSONFileArtifactA NAMD Colvars configuration file artifact.
- class pestifer.core.artifacts.NAMDColvarsStateArtifact(data: str | None = None, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'NAMD Colvars state output file', mime_type: str = 'text/plain', pytestable: bool = False, nonstate_results: bool = False, keep: bool = False, ext: str = 'colvars.state')[source]¶
Bases:
LogFileArtifactA NAMD Colvars state output file artifact.
- class pestifer.core.artifacts.NAMDColvarsTrajectoryArtifact(data: str | None = None, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'NAMD Colvars trajectory output file', mime_type: str = 'text/plain', pytestable: bool = False, nonstate_results: bool = False, keep: bool = False, ext: str = 'colvars.traj')[source]¶
Bases:
LogFileArtifactA NAMD Colvars trajectory output file artifact.
- class pestifer.core.artifacts.NAMDConfigFileArtifact(data: str | None = None, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'NAMD configuration file', mime_type: str = 'application/x-tcl', pytestable: bool = False, nonstate_results: bool = False, keep: bool = False, ext: str = 'namd')[source]¶
Bases:
TclScriptArtifactA NAMD configuration file artifact.
- compare(other: NAMDConfigFileArtifact | Path) bool[source]¶
A specific comparison method for NAMD Config files created by Pestifer. Creation time-stamps are ignored.
- class pestifer.core.artifacts.NAMDCoorFileArtifact(data: str | None = None, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'Binary coordinate file', mime_type: str = 'application/octet-stream', pytestable: bool = False, nonstate_results: bool = False, keep: bool = False, ext: str = 'coor')[source]¶
Bases:
NAMDOutputFileArtifactA NAMD binary coordinate file artifact.
- class pestifer.core.artifacts.NAMDCoorFileArtifactList(data: list[FileArtifact] = <factory>, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'List of NAMD binary coordinate files')[source]¶
Bases:
NAMDOutputFileArtifactListA list of NAMD binary coordinate file artifacts.
- class pestifer.core.artifacts.NAMDDcdFileArtifact(data: str | None = None, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'Binary DCD file', mime_type: str = 'application/octet-stream', pytestable: bool = False, nonstate_results: bool = False, keep: bool = False, ext: str = 'dcd')[source]¶
Bases:
NAMDOutputFileArtifactA NAMD binary DCD file artifact.
- class pestifer.core.artifacts.NAMDExtraBondsFileArtifact(data: str | None = None, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'NAMD extraBonds configuration file', mime_type: str = 'text/plain', pytestable: bool = False, nonstate_results: bool = False, keep: bool = False, ext: str = 'extrabonds')[source]¶
Bases:
TXTFileArtifactA NAMD extraBonds configuration file artifact. Plain-text records of the form
bond i j k r0/angle i j k l K theta0/dihedral i j k l K phi0, fed to NAMD viaextraBondsFile. Produced by the VMD ssrestraints plugin or any equivalent generator.
- class pestifer.core.artifacts.NAMDLogFileArtifact(data: str | None = None, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'Log file for NAMD execution', mime_type: str = 'text/plain', pytestable: bool = False, nonstate_results: bool = False, keep: bool = False, ext: str = 'log')[source]¶
Bases:
LogFileArtifactA NAMD log file artifact.
- class pestifer.core.artifacts.NAMDLogFileArtifactList(data: list[FileArtifact] = <factory>, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'List of NAMD log files')[source]¶
Bases:
LogFileArtifactListA list of NAMD log file artifacts.
- class pestifer.core.artifacts.NAMDOutputFileArtifact(data: str | None = None, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'Output file for NAMD execution', mime_type: str = 'application/octet-stream', pytestable: bool = False, nonstate_results: bool = False, keep: bool = False)[source]¶
Bases:
FileArtifactA generic binary NAMD output file artifact.
- class pestifer.core.artifacts.NAMDOutputFileArtifactList(data: list[FileArtifact] = <factory>, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'List of output files for NAMD execution')[source]¶
Bases:
FileArtifactListA list of generic binary NAMD output file artifacts.
- class pestifer.core.artifacts.NAMDVelFileArtifact(data: str | None = None, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'Binary velocity file', mime_type: str = 'application/octet-stream', pytestable: bool = False, nonstate_results: bool = False, keep: bool = False, ext: str = 'vel')[source]¶
Bases:
NAMDOutputFileArtifactA NAMD binary velocity file artifact.
- class pestifer.core.artifacts.NAMDXscFileArtifact(data: str | None = None, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'XSC file', mime_type: str = 'text/plain', pytestable: bool = False, nonstate_results: bool = False, keep: bool = False, ext: str = 'xsc')[source]¶
Bases:
LogFileArtifactA NAMD XSC file artifact.
- class pestifer.core.artifacts.NAMDXstFileArtifact(data: str | None = None, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'XST file', mime_type: str = 'text/plain', pytestable: bool = False, nonstate_results: bool = False, keep: bool = False, ext: str = 'xst')[source]¶
Bases:
LogFileArtifactA NAMD XST file artifact.
- class pestifer.core.artifacts.PDBFileArtifact(data: str | None = None, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'PDB file', mime_type: str = 'text/plain', pytestable: bool = False, nonstate_results: bool = False, keep: bool = False, ext: str = 'pdb')[source]¶
Bases:
TXTFileArtifactA generic PDB file artifact.
- compare(other: PDBFileArtifact | Path)[source]¶
A specific comparison method for pairs of PDB files. Name-by-name congruency of atom list is checked, excluding all waters.
- class pestifer.core.artifacts.PDBFileArtifactList(data: list[FileArtifact] = <factory>, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'List of PDB files')[source]¶
Bases:
FileArtifactListA list of PDB file artifacts.
- class pestifer.core.artifacts.PNGImageFileArtifact(data: str | None = None, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'PNG image file', mime_type: str = 'image/png', pytestable: bool = False, nonstate_results: bool = True, keep: bool = False, ext: str = 'png')[source]¶
Bases:
FileArtifactA PNG image file artifact.
- class pestifer.core.artifacts.PNGImageFileArtifactList(data: list[FileArtifact] = <factory>, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'List of PNG image files')[source]¶
Bases:
FileArtifactListA list of PNG image file artifacts.
- class pestifer.core.artifacts.PQRFileArtifact(data: str | None = None, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'PQR file', mime_type: str = 'text/plain', pytestable: bool = False, nonstate_results: bool = False, keep: bool = False, ext: str = 'pqr')[source]¶
Bases:
TXTFileArtifactA PQR file artifact (output generated by pdb2pqr).
- class pestifer.core.artifacts.PSFFileArtifact(data: str | None = None, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'PSF file', mime_type: str = 'text/plain', pytestable: bool = False, nonstate_results: bool = False, keep: bool = False, ext: str = 'psf')[source]¶
Bases:
TXTFileArtifactA PSF file artifact.
- compare(other: PSFFileArtifact | Path) bool[source]¶
A specific comparison method for pairs of PSF files. Waters are ignored.
- class pestifer.core.artifacts.PSFFileArtifactList(data: list[FileArtifact] = <factory>, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'List of PSF files')[source]¶
Bases:
FileArtifactListA list of PSF file artifacts.
- class pestifer.core.artifacts.PackMolPDBForcedFileArtifact(data: str | None = None, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'Packmol-generated PDB file with forced formatting', mime_type: str = 'text/plain', pytestable: bool = False, nonstate_results: bool = False, keep: bool = False, ext: str = 'pdb_FORCED')[source]¶
Bases:
PDBFileArtifactA Packmol PDB file artifact with forced formatting.
- class pestifer.core.artifacts.PackmolInputScriptArtifact(data: str | None = None, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'Packmol input script', mime_type: str = 'text/plain', pytestable: bool = False, nonstate_results: bool = False, keep: bool = False, ext: str = 'inp')[source]¶
Bases:
TXTFileArtifactA Packmol input script artifact.
- class pestifer.core.artifacts.PackmolLogFileArtifact(data: str | None = None, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'Log file for Packmol execution', mime_type: str = 'text/plain', pytestable: bool = False, nonstate_results: bool = False, keep: bool = False, ext: str = 'log')[source]¶
Bases:
LogFileArtifactA Packmol log file artifact.
- class pestifer.core.artifacts.PsfgenInputScriptArtifact(data: str | None = None, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'PSFgen input script', mime_type: str = 'application/x-tcl', pytestable: bool = False, nonstate_results: bool = False, keep: bool = False, ext: str = 'tcl')[source]¶
Bases:
VMDScriptArtifactA PSFgen input script artifact.
- class pestifer.core.artifacts.PsfgenLogFileArtifact(data: str | None = None, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'Log file for psfgen execution', mime_type: str = 'text/plain', pytestable: bool = False, nonstate_results: bool = False, keep: bool = False, ext: str = 'log')[source]¶
Bases:
VMDLogFileArtifactA psfgen log file artifact.
- class pestifer.core.artifacts.StateArtifacts(data: dict[str, ~pestifer.core.artifacts.FileArtifact]=<factory>, key: str = 'state', produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'Set of congruent topology/coordinate/system files', pdb: str | Path | PDBFileArtifact | None = None, psf: str | Path | PSFFileArtifact | None = None, coor: str | Path | NAMDCoorFileArtifact | None = None, vel: str | Path | NAMDVelFileArtifact | None = None, xsc: str | Path | NAMDXscFileArtifact | None = None, minimal_prm: str | Path | CharmmffParFileArtifact | None = None)[source]¶
Bases:
FileArtifactDictCompound artifact holding congruent PSF/COOR/PDB/VEL files and XSC files corresponding to the same state.
- coor: str | Path | NAMDCoorFileArtifact | None = None¶
The coordinate file name, Path, or NAMDCoorFileArtifact.
- description: str = 'Set of congruent topology/coordinate/system files'¶
A brief description of the state artifacts.
- minimal_prm: str | Path | CharmmffParFileArtifact | None = None¶
The minimal consolidated CHARMM parameter file, Path, or CharmmffParFileArtifact.
- pdb: str | Path | PDBFileArtifact | None = None¶
The PDB file name, Path, or PDBFileArtifact.
- psf: str | Path | PSFFileArtifact | None = None¶
The PSF file name, Path, or PSFFileArtifact.
- stamp(owner: object) StateArtifacts[source]¶
Stamp all artifacts in the dictionary with the owner information.
- Parameters:
owner (object) – The owner of the artifacts, which can be any object that produced these artifacts.
- Returns:
The artifact dictionary with all artifacts stamped with the owner information.
- Return type:
- vel: str | Path | NAMDVelFileArtifact | None = None¶
The velocity file name, Path, or NAMDVelFileArtifact.
- xsc: str | Path | NAMDXscFileArtifact | None = None¶
The XSC file name, Path, or NAMDXscFileArtifact.
- class pestifer.core.artifacts.TXTFileArtifact(data: str | None = None, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'Text file', mime_type: str = 'text/plain', pytestable: bool = False, nonstate_results: bool = False, keep: bool = False, ext: str = 'txt')[source]¶
Bases:
FileArtifactA text file artifact.
- class pestifer.core.artifacts.TclScriptArtifact(data: str | None = None, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'Tcl script file', mime_type: str = 'application/x-tcl', pytestable: bool = False, nonstate_results: bool = False, keep: bool = False, ext: str = 'tcl')[source]¶
Bases:
TXTFileArtifactA Tcl script file artifact.
- class pestifer.core.artifacts.VMDLogFileArtifact(data: str | None = None, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'Log file for VMD execution', mime_type: str = 'text/plain', pytestable: bool = False, nonstate_results: bool = False, keep: bool = False, ext: str = 'log')[source]¶
Bases:
LogFileArtifactA VMD log file artifact.
- class pestifer.core.artifacts.VMDScriptArtifact(data: str | None = None, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'VMD script file', mime_type: str = 'application/x-tcl', pytestable: bool = False, nonstate_results: bool = False, keep: bool = False, ext: str = 'tcl')[source]¶
Bases:
TclScriptArtifactA VMD script file artifact.
- class pestifer.core.artifacts.YAMLFileArtifact(data: str | None = None, key: str | None = None, produced_by: object | None = None, provenance: list[object] = <factory>, description: str = 'YAML file', mime_type: str = 'application/x-yaml', pytestable: bool = False, nonstate_results: bool = False, keep: bool = False, ext: str = 'yaml')[source]¶
Bases:
TXTFileArtifactA YAML file artifact.