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

Revisions №60589

branch: master 「№60589」
Commited by: Jared Adolf-Bryfogle
GitHub commit link: 「8442bff4fb7bf2cc」 「№3709」
Difference from previous tested commit:  code diff
Commit date: 2019-01-17 20:09:48
linux.clang linux.gcc linux.srlz mac.clang
debug
release
unit
linux.PyRosetta.unit linux.gcc.python36.PyRosetta4.unit mac.PyRosetta.unit build.clean.debug cppcheck mysql postgres linux.zeromq.debug mpi mpi.serialization linux.icc.build.debug OpenCL build.header build.levels ninja graphics static linux.ui mac.ui build.xcode beautification serialization integration.addsan integration.mpi integration.release_debug integration performance profile release.PyRosetta4.MinSizeRel ubuntu.clang.python27.release.PyRosetta4.Release ubuntu.clang.python35.release.PyRosetta4.Release release.source linux.clang.score linux.gcc.score mac.clang.score linux.scripts.pyrosetta scripts.rosetta.parse scripts.rosetta.validate scripts.rosetta.verify linux.clang.unit.release linux.gcc.unit.release

Merge pull request #3709 from RosettaCommons/jadolfbr/jd3_updates JD3 Simplification/Refactor Code Changes: ===== - Code templates have been added for common JD3 classes. - Transferred `StandardInnerLarvalJob`s use of `prelim_job_node` as` job_node` into the `InnerLarvalJob`. Since the ILJ is passed with the LarvalJob, this makes every function in the SJQ easier to use as you know which job_node you have - and this is not limited to `PreliminaryLarvalJobs`. - - This makes the StandardInnerLarvalJob obsolete as that was the only extra thing about it. It has been removed and classes refactored to call the InnerLarvalJob. - Moved `PreliminaryLarvalJob` to its own file in `jd3/standard`, changed it to a struct as per conventions, as everything was public. - Added the `PreliminaryLarvalJobTracker`, which the SJQ now uses to track the progress of the PJNs. This is a full class, with private data and initialization methods and is in `jd3/standard` - Added the `JobTracker` class. This class tracks completed and assigned jobs in the SJQ. This JobTracker is now updated by the JQ base class - through a wrapper/decorator function that is called by the JD. This means that SJQ developers can be ensured that the `JobTracker` is up to date and they are not responsible for updating it. Protected accessor methods have been added. - The JQ now holds an OP to the `JobDigraph`. This OP is stored during the JQs version of `initial_job_digraph`, which is a wrapper/decorator to derived class functions - ensuring that the SJQ developer is not responsible for setting it, and protected accessor methods have been added. - `JobNode `now has an optional variable, job_label - this is to better delineate how jobs are constructed. We can now ask the `JobDigraph` which job_label a particular job_node is for - IE this is useful for multiple stages, such as if all Prelim jobs undergo some stage 1, and all jobs from global index i -> j undergo job_type "2". This reduces the amount of logging needed so we do not have to track all the global index ranges to simply start a job of some type. - `EnergyJobSummary` is now in its own file, and the **4?** places where it was copied have been removed! - Add a new `StandardPoseJobSummary`, which is a JobSummary that extracts the Energy and SimpleMetricData from a pose. This should cover Most data needed for a summary ;) - `MoverAndPoseJob` has now been changed to `MoverJob`. The `pose` part of the job is inferred - no need to add that to the name. The `MoverJob` has been expanded to use the `StandardPoseJobSummary` and run a set of optional simple metrics on the final pose before returning the `PoseJobResult` and `StandardPoseJobSummary` pair. MoverJob is now aware of a SequenceMover to make it easier to either set a mover or add movers (which is extremely common). - `InputSource` pose_id variable and function are now source_id to go with the more generalized interface. General SJQ Edits ============= - The SJQ header interface is completely re-organized to have typical derived functions at the top, and mainly unused/specialized functions at the bottom. - Move some SJQ function bulk out of the SJQ and into JD3 util files. - **The number of SJQ private variables has been reduced from 50 members to 32 members** !! - All function briefs in the SJQ have been updated to separate briefs from details (almost all of it was details before). The descriptions have been updated/simplified where possible, and instructions for override behavior or gotchas have been added. Tests ==== A full suite of unit tests have been added for the new main classes, the SJQ tests have been updated to fully test the `JobTracker` and the `PreliminaryLarvalJobTracker`.

Vikram K. Mulligan 10 months
The JD3 refactor broke the xcode build. [list]
...
Test: mac.clang.build.xcode

 View log

Loading...

 View log in dialog  View log in log in separate window