「view this page in B3 βῆτα server」

Revisions №59202

branch: master 「№59202」
Commited by: Andrew Leaver-Fay
GitHub commit link: 「d4ec3249095cc6b9」 「№1923」
Difference from previous tested commit:  code diff
Commit date: 2017-01-04 08:23:08

Merge pull request #1923 from RosettaCommons/aleaverfay/jd3_silent_file_io aleaverfay/jd3_silent_file_io This pull request addresses three significant shortcomings of JD3: - a lack of silent file support, - the StandardJobQueen caches stored Poses if they were read from PDBs, - the StandardJobQueen had no way to deallocate Poses once they were done with This PR addresses these all at once. The JobDistributor now allows the JobQueen to send inter-process "deallocation messages," which it will deliver to the JobQueens on remote nodes. These messages will be used by the StandardJobQueen, for instance, to deallocate Poses that are no longer being used. In the near future, the SJQ will also use these messages to deallocate no-longer-needed Resources being held by the ResourceManager. The JobQueens are now obliged to assign PoseIDs to each of their poses so that they can then use the PoseDeallocationMessage as a way to signal to remote nodes that a Pose is no longer needed. The SJQ does this. Thus she will now deallocate Poses that were read in from either a PDB or a SilentFile. One drawback, however, is that if a Pose is read in multiple times in separate <Job>...</Job> blocks within a job-definition file, then it will be read from disk multiple times. However, it will only be read from disk a single time per process if it appears only once in a job-def file, or if it is input using the command line (e.g. in -in:file:s, or -in:file:silent), regardless of the "nstruct" count. There is now a SilentFilePoseInputter that delivers Poses to the JQ. Before this PR is closed, there will be a SilentFilePoseOutputter, too. To allow different Pose input options for different jobs within a single job definition file, the structure of silent file reading had to be altered so that the global options system could be wholly avoided if desired. To that end, a new class SilentFileOptions, now can be initialized with a default constructor (to read from the global options system) or from a (possibly-non-global) OptionCollection object. It also has a "parse-my-tag"-like function to read from a TagCOP. AFTER SILENT FILE OPTION CONSTRUCTION, NO PART OF SILENT FILE IO READS DIRECTLY FROM THE OPTIONS SYSTEM.

...