Merge pull request #2484 from RosettaCommons/everyday847/quick_fixes
Quick fixes revealed by clang.analysis and addsan
Rocco Moretti 7 years This commit broke the beautification test on FoldTree.cc
Andy Watkins 7 years I can see why: a change I had intended to make in a totally separate branch made it in here (it adds some debugging tracer output). Dreadful sorry! Next time I merge to master, I'll take it out.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #2338 from RosettaCommons/ch.norn@gmail.com/evolution_enable_bb_drift
Update to the RosettaEvolve machinery
Rocco Moretti 7 years It looks like you have uninitialized variable issues in AlignmentAAFinderFilter.cc - http://benchmark.graylab.jhu.edu/sub_test/73310981
Christoffer Norn 7 years Right. I've a branch (http://benchmark.graylab.jhu.edu/revision?id=6897&branch=) attempting to fix it. Running valgrind test now to make sure before I merge with master...
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #2478 from RosettaCommons/sjbertolani/jupyter-output-in-cell
Get Rosetta TR output in Jupyter cells - This sets up the rosetta tracer output to be dumped into the current executing cell in a jupyter notebokk. You can turn this off by adding set_logging_handler=False to the init() function.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #2467 from RosettaCommons/vmullig/shush_more_tests
Ensure that a few more unit tests are using tracers instead of std::cout
When unit tests are run with --mute all, they should be muted.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #2469 from RosettaCommons/vmullig/multithreaded_peppredict_bg
Get multi-threaded peptide structure prediction working on the "Mira" Blue Gene/Q supercomputer
Tasks:
- [x] Tweak BG/Q build settings.
- [x] Fix a misuse of `delete` in `protocols/noesy_assign/PeakAssignmentParameters.cc`. Note that this was also preventing compilation on Mac/clang.
- [x] Beauty.
- [x] Test compilation on "Mira" Blue Gene/Q supercomputer.
- [x] Benchmark on "Mira". -- Yes, this does allow 2- to 3-fold more sampling than was possible before. This still falls short of the 8-fold improvement that would be the theoretical maximum, though. There's still efficiency work to be done to reduce thread concurrency issues.
Note that this pull request was branched off of vmullig/multithreaded_peppredict, and must therefore be merged _after_ pull request #2430.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #2473 from RosettaCommons/jadolfbr/ab_design_public
Make RosettaAntibodyDesign application a public app.
Documentation is about 85% complete: https://www.rosettacommons.org/docs/wiki/application_documentation/antibody/RosettaAntibodyDesign
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #2471 from RosettaCommons/JWLabonte/sugars/database
Carbohydrates: Adding arabanose .params needed for CAPRI round 41
This merge will add the first aldopentofuranose to the Rosetta database.
Labonte 7 years Anyone understand the srlz test failures? All I did for this commit was add to the database, and the next merge to master doesn't show the same failure.
Sergey Lyskov 7 years My guess that this might be due to recent changes in master. I think we need to raise this discussion in Slack
notify author
notify list [rosetta-logs@googlegroups.com]
Fixed PyRosetta build error
When compiling PyRosetta you could sometimes fail due to this error:
/suppscr/dimaio/danpf/git/Rosetta/master/source/src/protocols/floppy_tail/FloppyTailMover.cc:371:32: error: default initialization of an object of const type 'const std::set<core::Size>' (aka 'const set<unsigned long>') without a user-provided default constructor
std::set < core::Size > const empty; //easier to add empty sets to the vector than construct-then-add
This commit fixes that.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #2465 from RosettaCommons/sergey/binder
Refactoring Rosetta exceptions classes so they use std::exception as base class. This should fix situation when Rosetta C++ exception displayed in PyRosetta as "RuntimeError: Caught an unknown exception!" without means to determine its origin
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #2430 from RosettaCommons/vmullig/multithreaded_peppredict
Add multithreading support to the simple_cycpep_predict application
The simple_cycpep_predict application is used to predict peptide structures. We currently run it on the Baker lab cluster ("the Digs"), the University of Washington "Hyak" cluster, the Argonne "Mira" Blue Gene/Q system, and the Amazon Web Services (AWS) cloud computing platform (plus through the Berkely Open Infrastructure for Network Computing, BOINC). In many of these cases, the number of parallel prediction jobs that we can run is limited by node memory rather than CPUs. With MPI-based parallelism, each process must load a separate copy of the Rosetta database and store it in node memory, resulting in gigabytes of duplicated information taking up space in node memory.
This pull request aims to add multithreading support to the existing hierarchical MPI-based job distribution scheme used by simple_cycpep_predict. Note that this app does not use JD2 or JD3. Its job distributor, although much less general than JD2 or JD3, was intended to test some of the features that we hoped to implement in JD3. The immediate practical benefit is that this will allow us to use our available computing resources much more efficiently -- particularly the Digs, Mira, and AWS. This means that we can attempt more jobs, or larger jobs. (It's also a chance for me to discover mistakes to be avoided in the JD3 multithreaded/MPI hierarchical job distributor that will one day exist.)
Tasks:
- [x] Add suitable blocks bracketed by `#ifdef MULTI_THREADED`.
- [x] Add input controls for multithreading (option for number of threads per slave process). Note: for now, the emperor and master-layer processes will not launch worker threads.
- [x] Add final layer of thread-based job distribution. (Ensure that only one thread per process makes MPI calls).
- [x] Ensure that each thread has a unique random generator initialized with a unique seed that's properly incremented based on thread index, MPI rank, and job index.
- [x] Fix problem with stopping after nstruct.
- [x] Fix duplicated pose output bug. (Was caused by improperly setting index of jobs on slave nodes; not a thread-safety bug after all.)
- [x] Fix issue #2442 (multithreaded efficiency of rotamer library access), since this really does seem to be hindering efficiency here, based on benchmarks on the DIGs.
- [x] Make initialization of HbondTypeManager threadsafe.
- [x] Beauty.
- [x] Ensure that standard MPI-based, non-threaded job distribution is not broken in non-threaded builds.
- [x] Documentation.
TODO:
- Test c++11thread compilation on Blue Gene/Q.
- Test and benchmark on the DIGs.
- Test and benchmark on Cetus. Can we get up to 64 threads per node? (See also pull request #2469).
- Test and benchmark on Mira. (See also pull request #2469).
- Think about how to cover this with an integration test...
- Find other issues that are still hampering efficiency.
Note: this pull request is branched off of vmullig/threadsafe_tracers. Pull requests #2420 and #2416 must be merged before this one. (DONE.)
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #2433 from RosettaCommons/guffysl/fix_metal_constraint_generator
Guffysl/fix metal constraint generator
This branch adds modifications to SetupMetalsMover and MetalContactsConstraintGenerator. MetalContactsConstraintGenerator now has the option to, when multiple ideal angles/dihedrals are specified, constrain to the one value closest to the current value of that measurement instead of creating an AmbiguousConstraint to all provided values. SetupMetalsMover now allows users to specify a residue selector restricting the contacts to be set up and provides a command-line flag to skip adding constraints entirely instead of doing so by setting all the corresponding weight options to zero.
Rocco Moretti 7 years It looks like there's an uninitialized variable (bool) in the LigandMetalContactSelector: http://benchmark.graylab.jhu.edu/test/293587
notify author
notify list [rosetta-logs@googlegroups.com]