Merge pull request #5392 from RosettaCommons/roccomoretti/fwdize_ResidueConformation
Convert ResidueType/Residue/Conformation/Pose usage in headers to fwd.hh
This is a mainly mechanical replacement of ResidueType.hh/Residue.hh/Conformation.hh/Pose.hh usage in header files to the corresponding fwd.hh headers. (And the downstream addition of the needed header files to the cc files.)
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #5235 from RosettaCommons/vmullig/fix_initialize_by_bin_disk_reads
Ensure that bin transition data are read from disk once and only once.
This PR aims to create a manager for bin transition data, so that they are loaded lazily, in a threadsafe manner, and only once. (This is to avoid repeated disk reads when using the trRosetta mover that pull request #5119 introduces.) Bin transition data are data stored in `database/protocol_data/generalizedKIC/bin_params/`. They are stats mined from the PDB of an amino acid of a given type an position i being found in a particular backbone bin B, and another amino acid of another given type at position i+1 being found in another backbone bin B'. This can be used for sampling -- for example, to set up a random conformation of a backbone with torsion distributions reflecting real proteins.
PR #5119 does not depend on this PR, but this will increase efficiency once merged. The status quo is that anything that uses a `BinTransitionCalculator` triggers a read from disk whenever the `BinTransitionCalculator` is instantiated and initialized, repeatedly reading the same binfiles, but after this PR, each unique binfile will only be read once.
Note: previously the `simple_cycpep_predict` application's director node read bin definitions once in MPI mode and broadcast those to all manager and worker nodes to avoid repeated reads by many nodes. Since the workers will now be reading the bin definitions once each, it's no longer necessary to do this.
Tasks:
- [x] Create a `BinTransitionCalculatorManager` class that fields requests for `BinTransitionCalculators`.
- [x] Make the `BinTransitionCalculator` constructor private, and the `BinTransitionCalculatorManager` a `friend`, so that anything that wants a calculator must go through the calculator manager.
- [x] Make the `BinTransitionCalculator` take a bin transitions file on initialization. Delete the default constructor and only allow the copy and initialization constructors.
- [x] Have the `BinTransitionCalculatorManager` create a `BinTransitionCalculatorManager` for each bin transition file the first time that each file is requested, in a lazy, threadsafe way. Store this object, and hand out clones to the stored copy whenever a request is fielded.
- [x] Update all classes that request a `BinTransitionCalculator` to go through the `BinTransitionCalculatorManager`.
- [x] Fix serialization error.
- [x] Check unit and integration tests.
- [x] Add citations to the `InitializeByBins` and `PerturbByBins` movers while I'm at it.
- [x] Beauty.
- [x] Fix the timeout in the `simple_cycep_predict_design` integration test.
- [x] Check that the `simple_cycep_predict_design` MPI integration test still produces at least one output structure.
notify author
notify list [rosetta-logs@googlegroups.com]
Add GlycanDockProtocol and its app to Rosetta
Merge PR #5287
Adds protocols/glycan_dock/GlycanDockProtocol (and its util files)
Adds pose_from_saccharide_sequence executable app
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #5389 from RosettaCommons/roccomoretti/fix_master
Fix broken master
Fix some of the breakage in master from my recent commits.
* Missing header in MPI
* Clang tidy issues
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #5371 from RosettaCommons/roccomoretti/speed_up_conformation_hh
Attempt to speed up compilation of Conformation.hh
The compilation of Conformation.hh is rather slow, so I poked around a bit to figure out how to potentially speed it up.
* Remove the ParametersSet header from Conformation.hh
* Don't include utility/string_util.hh in xyzVector.hh (use std::to_string() instead. -- also clean up string_util.hh use in headers generally)
* Remove numeric/trig.functions.hh from xyzVector.hh (move related functions to utility file.)
* Push the hash function for xyzVector to the one place it's used, which allows us to remove the (heavyweight) boost/functional/hash.hpp header.
* Reduce need for various io-related headers from xyzVector.hh
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #5370 from RosettaCommons/roccomoretti/pose_util_compile
Clean up basic/Tracer.hh and core/pose/util.hh header usage.
Try to improve compile times via header cleanup
* Remove some circular header includes
* Remove use of basic/Tracer.hh in headers
* Split out core/pose/util.tmpl.hh usage (now renamed core/pose/init_id_map.hh) from core/pose.util.hh.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #5384 from RosettaCommons/vmullig/improve_mover_registration_error
Improve the error message when a mover has not been registered with the MoverFactory.
Addresses issue #5381, raised by @smlewis.
This also updates the error message for unregistered filters, task operations, packer palettes, data loaders, and a bunch of others.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #5379 from RosettaCommons/vmullig/add_ndm1_citation
Add citation for recent NDM1 paper
This PR adds a citation for doi: `10.1073/pnas.2012800118` to the Rosetta database. It also adds citations to previously-unpublished modules (`net_charge` energy, `voids_penalty` energy, `buried_unsatisfied_penalty` energy, `hbnet` energy, `SetupMetalsMover`, `PeptideInternalHbondsMetric`) described in the supplement of that paper, and updates the citations for the simple_cycpep_predict application.
This PR also corrects a minor CitationManager issue: an extra period was being added after the article title in the citation output. I've updated the `add_citation_by_pubmed_id.py` script to avoid adding a period to the end of the article title in the records in the database, and corrected the existing records, but this change does result in a number of minor cosmetic changes to the integration tests.
notify author
notify list [rosetta-logs@googlegroups.com]
add begin/end getters for StrandPairing (#5374)
The StrandPairing code was missing some getters for its private variables. This code adds them.
also performs some clean up on its private variable names.
notify author
notify list [rosetta-logs@googlegroups.com]
Remove bad copy constructor & =operator in AlignPDBInfoToSequences (#5375)
The copy constructor and =operator were improperly implemented. This pr removes them so that the default is used
notify author
notify list [rosetta-logs@googlegroups.com]