Pull Request №684 RosettaCommons/rosetta/main ← lyskov-ai/rosetta/refactor/metric-value-default-members
Merge: b8e64ecdc0338b77c231760f7f9bdcd4d500a240←e91f32a5c7a39c47bdcdb878354f61481e280532
Default MetricValue special members
----------------
Merge commit message:
Fix -Werror=unused-parameter on defaulted MetricValue copy constructor
CI build (gcc with -Werror=unused-parameter) flagged the named parameter
on the defaulted copy constructor as unused. Drop the name; the defaulted
body still copies the source.
Pull Request №691 RosettaCommons/rosetta/main ← lyskov-ai/rosetta/refactor/key-containers-rule-of-zero
Merge: b8e64ecdc0338b77c231760f7f9bdcd4d500a240←9ee8c4c268c7bf060c2b014c3c94d2fca90685c5
Apply Rule of Zero to utility/keys container family
----------------
Merge commit message:
Apply Rule of Zero to utility/keys container family
ClassKeyMap, ClassKeyVector, KeyVector, SmallKeyMap, and SmallKeyVector each
held standard-container value-type members only (Vector, IndexMap, plus a
scalar Index in the Small variants). Their user-declared destructors
(empty body or = default), copy constructors, and copy-assignment operators
were all byte-for-byte equivalent to the implicit defaults that the compiler
would synthesize, so they were redundant.
Removing them lets the implicitly defaulted special-member-functions take
over and, as a side effect, restores the implicit move constructor and move
assignment that were previously suppressed by the user-declared copy
operations. The explicit default constructors on SmallKeyMap and
SmallKeyVector are kept because they value-initialize the scalar Index u_,
which an implicit default would leave indeterminate.
Pull Request №690 RosettaCommons/rosetta/main ← lyskov-ai/rosetta/refactor/bitset-bitvector-rule-of-zero
Merge: b8e64ecdc0338b77c231760f7f9bdcd4d500a240←7f670472fa0942db38fbaf9eb58d619b79187a4d
Apply Rule of Zero to BitSet and BitVector
----------------
Merge commit message:
Apply Rule of Zero to BitSet and BitVector
Both class templates have a single value-type member (std::set / std::vector)
and no user-declared copy/move/assignment operators, so the explicit empty
destructors did nothing the compiler-generated ones wouldn't. They were also
suppressing the implicit move constructor and move assignment.
Remove the empty `~BitSet() {}` and `~BitVector() {}` declarations so the
classes follow the Rule of Zero and gain implicit move support.
Pull Request №689 RosettaCommons/rosetta/main ← lyskov-ai/rosetta/refactor/disulfide-energy-iterators-rule-of-zero
Merge: b8e64ecdc0338b77c231760f7f9bdcd4d500a240←2da5ceb881f6c2016ec94af5cd47955000095865
Apply Rule of Zero to disulfide energy neighbor iterators
----------------
Merge commit message:
Apply Rule of Zero to disulfide energy neighbor iterators
The disulfide neighbor iterator classes in core/scoring/disulfides/
each had a user-declared destructor (defaulted in the .cc) and an
old-style private undefined copy assignment. The destructor did
nothing the compiler-generated virtual destructor wouldn't do, so
remove both the declaration and the empty `= default` definition.
Modernize the C++03-style copy-assignment prevention to public
`= delete`. The intent is preserved: assignment must go through the
polymorphic operator=(BaseType const &) override, which downcasts and
copies all members; the implicit derived-derived operator= would
bypass that path. A short comment captures this why.
Touched: CentroidDisulfideNeighborIterator/ConstIterator,
DisulfideMatchingNeighborIterator/ConstIterator,
DisulfResNeighbIterator/ConstIterator.
Pull Request №681 RosettaCommons/rosetta/main ← everyday847/rosetta/differentiable-parametric
Merge: cf532f89b6bbb7e67fd75031f3cc2aa95fb5ce19←21d90cb52d1abe277b363e833609842144201b21
Add differentiable parametric backbone minimization
----------------
Merge commit message:
Fix sidechain rebuild: use set_phi/psi/omega to sync atom tree
The previous approach (calling private/protected AtomTree methods)
didn't compile. Use public Pose::set_phi/set_psi/set_omega instead:
reading each backbone torsion from the new XYZ and writing it back
via set_torsion updates the atom tree's internal coordinates, which
triggers a coordinate rebuild that repositions all downstream atoms
including sidechains.
Rosetta Benchmark 6 days Tests for this revision was automatically canceled because newer set of tests for pull-request №681 was submitted!
Pull Request №681 RosettaCommons/rosetta/main ← everyday847/rosetta/differentiable-parametric
Merge: cf532f89b6bbb7e67fd75031f3cc2aa95fb5ce19←66ea3c3c82c9b9a8645bd6966946f26478975b02
Add differentiable parametric backbone minimization
----------------
Merge commit message:
Fix sidechain drift during parametric minimization, add trajectory dump
Sidechain fix: after setting backbone XYZ from Crick equations,
sync the atom tree's internal coordinates by reading phi/psi/omega
back from the new Cartesian positions and writing them as torsions.
Without this, the atom tree retains the old backbone frame and
sidechains don't follow the backbone when it moves.
Trajectory visualization: ParametricAtomTreeMultifunc can now dump
a PDB at each function evaluation via set_trajectory_dump(). Enabled
automatically when the AtomTreeMinimizer tracer is at Debug level
(-out:levels core.optimization.AtomTreeMinimizer:debug).
Rosetta Benchmark 6 days Tests for this revision was automatically canceled because newer set of tests for pull-request №681 was submitted!
Pull Request №688 RosettaCommons/rosetta/main ← lyskov-ai/rosetta/refactor/core-signal-events-rule-of-zero
Merge: b8e64ecdc0338b77c231760f7f9bdcd4d500a240←532a3428f85793cb075127b7e01dea59ebbedbf8
Apply Rule of Zero to core signal event hierarchies
----------------
Merge commit message:
Apply Rule of Zero to core signal event hierarchies
The signal event classes in core/conformation/signals/ and core/pose/signals/
each had hand-written copy constructor, copy assignment, and empty destructor
that did nothing the compiler-generated versions wouldn't do. Remove the
boilerplate and let the compiler generate the copy operations; keep the
destructor declared (defaulted) where the class is a polymorphic base.
Touched: GeneralEvent, ConnectionEvent, IdentityEvent, XYZEvent (conformation);
GeneralEvent, DestructionEvent, ConformationEvent, EnergyEvent (pose).
LengthEvent is intentionally left alone -- its copy constructor and copy
assignment invoke check_consistency() in debug builds, so they have semantic
content beyond member-wise copy.
Pull Request №681 RosettaCommons/rosetta/main ← everyday847/rosetta/differentiable-parametric
Merge: cf532f89b6bbb7e67fd75031f3cc2aa95fb5ce19←f971f5794aa3de2152dc17bc8f81f45c7bbd2fc5
Add differentiable parametric backbone minimization
----------------
Merge commit message:
Add parametric DOF support to MoveMap/MoveMapFactory XML schema
The <Parametric enable="true"/> sub-element was not recognized by
the MoveMap XSD. Instead, add parametric as a top-level attribute
(like bb, chi, jump) on both MoveMapFactory and the legacy MoveMap:
<MinMover ... bb="false" chi="true" parametric="true"/>
or in MoveMapFactory style:
<MoveMap bb="false" chi="true" parametric="true"/>
Changes:
- MoveMapFactory: add all_parametric(bool), data members, parse
in parse_my_tag(), apply in edit_movemap_given_pose()
- MoveMapFactory XSD: add "parametric" attribute
- Legacy MoveMap schema (rosetta_scripts/util.cc): add "parametric"
attribute and parse in parse_movemap_tag()
- Integration test XMLs: use attribute form
Rosetta Benchmark 6 days Tests for this revision was automatically canceled because newer set of tests for pull-request №681 was submitted!
Pull Request №681 RosettaCommons/rosetta/main ← everyday847/rosetta/differentiable-parametric
Merge: cf532f89b6bbb7e67fd75031f3cc2aa95fb5ce19←ae639ae8cc56a638e2783f4f1ca61d9c4f2d0f05
Add differentiable parametric backbone minimization
----------------
Merge commit message:
Fix library layer violation and compilation error in parametric minimization
- Remove protocols/helical_bundle/util.hh include from core-level
parametric_minimize_util.cc — core cannot depend on protocols
- Rewrite rebuild_parametric_backbone() to call
numeric::crick_equations::XYZ_BUNDLE() directly and set atom
coordinates via pose.set_xyz(), using only core/numeric dependencies
- Fix dofs scoping in AtomTreeMinimizer::run() (variable declared
inside if/else branches but used after)
- All modified files pass g++ -fsyntax-only with no errors
Rosetta Benchmark 1 week Tests for this revision was automatically canceled because newer set of tests for pull-request №681 was submitted!
Pull Request №685 RosettaCommons/rosetta/main ← lyskov-ai/rosetta/refactor/core-factory-copy-prevention
Merge: b8e64ecdc0338b77c231760f7f9bdcd4d500a240←c84621a02ce0a6cce0beb378ea0463316a2d1ade
Modernize copy prevention in core factory singletons and non-copyable classes
----------------
Merge commit message:
Modernize copy prevention in core factory singletons and non-copyable classes
SilentStructFactory, ConstraintFactory, and SequenceFactory all inherit from
SingletonBase, which already = delete's copy construction and copy assignment.
Remove the now-redundant private unimplemented declarations from each derived
class.
OrbitalsStatistics and AtomTreeDiff had private-but-undefined copy constructors
(pre-C++11 idiom); replace with explicit = delete on both copy constructor and
copy assignment.
Pull Request №684 RosettaCommons/rosetta/main ← lyskov-ai/rosetta/refactor/metric-value-default-members
Merge: cf532f89b6bbb7e67fd75031f3cc2aa95fb5ce19←32851eb34495109eb51cb7da88258d6bbc5554e7
Default MetricValue special members
----------------
Merge commit message:
Default MetricValue special members