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

Revisions №60833

branch: master 「№60833」
Commited by: Vikram K. Mulligan
GitHub commit link: 「6be119e2f9d5f5c3」 「№3946」
Difference from previous tested commit:  code diff
Commit date: 2019-07-24 21:33:12
linux.clang linux.gcc linux.srlz mac.clang
debug
release
unit
linux.PyRosetta.unit linux.gcc.python37.PyRosetta4.unit mac.PyRosetta.unit build.clean.debug cppcheck mysql postgres linux.clang.python36.build.debug linux.zeromq.debug mpi mpi.serialization linux.icc.build.debug OpenCL mac.clang.python36.build.debug build.header build.levels ninja graphics static mac.clang.static.build.release linux.ui mac.ui build.xcode beautification code_quality.clang_analysis serialization integration.addsan integration.mpi integration.release_debug integration.tutorials integration.ubsan integration performance profile ubuntu.clang.python27.release.PyRosetta4.MinSizeRel ubuntu.clang.python36.release.PyRosetta4.MinSizeRel ubuntu.clang.python37.release.PyRosetta4.MinSizeRel ubuntu.clang.python27.release.PyRosetta4.Release ubuntu.clang.python35.release.PyRosetta4.Release ubuntu.clang.python37.release.PyRosetta4.Release release.source scientific.antibody_grafting.debug scientific.antibody_grafting linux.clang.score linux.gcc.score mac.clang.score linux.scripts.pyrosetta scripts.rosetta.parse scripts.rosetta.validate scripts.rosetta.verify unit.addsan linux.clang.unit.release linux.gcc.unit.release unit.ubsan util.apps

Merge pull request #3946 from RosettaCommons/vmullig/rosetta_thread_manager Implement a Rosetta thread manager In Rosetta, we have many different levels at which we might want to launch threads. For example, a job distributor could try to carry out jobs in parallel threads. A mover might parallelize its own work. Low-level functions, like interaction graph setup for the packer, gradient vector calculation for the minimizer, or scorefunction evaluation could also be parallelized over threads. So what happens when modules at many different levels all try to spawn threads? You could end up with a nasty thread explosion. Imagine, for example, that my job distributor launches 16 threads, each of which calls a mover that launches 16 threads, each of which calls another mover that launches 16 threads, each of which calls the packer, which launches 16 threads. You'd end up with 65,536 threads all contending for hardware resources. Another consideration is that the master/slave relationship that tends to work well for MPI communication isn't ideally suited to threads, where you might just have 4 or 8 cores available, all of which should be _doing_ work rather than _managing_ work. So we want something that ensures that many different layers of Rosetta can ask for threads, without stepping on one another's toes, _and_ we want that thing not to hog resources to monitor everything. In addition, thread-based parallelism, unlike process-based parallelism, works best with small, finely-grained parallel tasks that are all accessing similar regions of memory, which means that a certain amount of synchronization makes sense. Asynchronous job-level parallelism might make more sense with MPI calls than with threads -- I'm not sure. I want us to be able to experiment with parallelism on many different levels, but right now, we risk stepping on one another's toes if I'm parallelizing the packer and someone else is parallelizing a mover and someone else is writing a parallel job distributor. I'm proposing the `RosettaThreadManager` as a solution to this. Given N total threads that the user wants to run at any given time (assuming he or she has N cores on his or her system), the global `RosettaThreadManager` spins up and maintains a pool of N-1 threads. When a module wants to do something in parallel (either from the master thread or from a child thread), it bundles the function that it wants to run in threads with its arguments using `boost::bind`, then passes that function to the `RosettaThreadManager` with a request for M threads. The `RosettaThreadManager` launches that process _synchronously_ on available idle threads, including the calling thread, with a firm guarantee that 1 <= number of threads assigned to the function <= min(total threads, number requested). The function is responsible for carrying out its work, with its parallel siblings, in a threadsafe manner. At the end, the requesting thread blocks until all sibling functions terminate, the threads are released to idle status, and other work can run on them. Based on community feedback, I have also added a basic API that accepts a vector of work to be done. The advanced API, which allows an arbitrary thread function to run concurrently, is now access-gated with a key class that has a private constructor, so that only whitelisted friend classes can use the advanced API. This forces developers _either_ to use the basic API, _or_ to justify to the community why their class should be allowed access to the advanced API. ![ThreadManagerDiagram12](https://user-images.githubusercontent.com/4205776/61827368-5b9b1a00-ae32-11e9-89a8-40f63dca17cd.png) ![ThreadExample1](https://user-images.githubusercontent.com/4205776/61838897-6c12bb00-ae59-11e9-9afc-6b004481d892.png) This PR implements the basic infrastructure for this, as well as an application that shows the effects of launching threads at three different levels. In the app, a master thread runs a level 1 function in N threads, and each level 1 function runs M level 2 functions, and each level 2 function runs P level 3 functions. The level 3 functions all work together to calculate a times table (though I could just as easily have only those level 3 functions that were launched by a single level 2 function coorperate on a piece of data). When all levels return, the master thread checks that the times table was calculated correctly, in parallel. TODO: - [x] Write `RosettaThreadAssignmentInfo` class. - [x] Finish `RosettaThreadManager` class. - ~~Wait for, and spin down, all running threads on `RosettaThreadPool` destruction. (Probably not necessary given the model of ensuring that functions are run in both the calling thread and assigned threads, and the calling thread waits for assigned threads to finish before returning, but could prevent fragility in the future if the model changes.)~~ --> I realized that this might cause the app to hang when an exception is thrown, instead of exiting properly... --> Never mind. I did get this to work sensibly. - [x] Means of getting a thread's thread ID. - [x] Test app. - [x] Talk to Sergey about cxx11thread-mode integration tests. - [x] Pull request #3957 adds support for cxx11thread-mode integration tests. That pull request must be merged before this one. (This one has that one merged into it.) - [x] Make this into a unit/integration test. - [x] Add information to the `RosettaThreadAssignmentInfo` class about the level from which a multithreading request comes, in case we want to make decisions about thread assignments based on that in the future. - [x] Enums for app-level, job distributor-level, mover-level, filter-level, taskop-level, resselector-level, simplemetric-level, core compenent level. - [x] Beauty. - [ ] Add developer docs. - [ ] Document what `{?}` means. - [x] Switch from `boost::bind` and `boost::function` to `std::bind` and `std::function`. - [x] Switch to `condition_variable` instead of using a wait in a loop. Additional changes: - [x] Switch enum to enum class (see Sergey's comments). - [x] Switch to crash with nonzero exit code on thread termination failure. For a future pull request: - Parallelize the interaction graph set-up. - Parallelize `GeneralizedKIC`. - Switch the `MultithreadedJobDistributor` to use this infrastructure. - Integration test for the above three things.

...
Test: ubuntu.gcc.integration.addsan

Failed sub-tests (click for more details):
rna_design
Test: linux.clang.integration.release_debug_no_symbols

Failed sub-tests (click for more details):
AddConstraintsToCurrentConformationMover AnchorFinder AnchoredDesign AnchoredPDBCreator BuildPeptide DARC_electrostatics DARC_make_ray_files DARC_sampling_on_the_fly DARC_shapeonly DumpTrajectoryEnergy Enzrevert_xml FilterReportAsPoseExtraScoresMover FloppyTail InterfaceAnalyzer InterfaceAnalyzer_allscores InterfaceAnalyzer_bothpack InterfaceAnalyzer_ligand InterfaceAnalyzer_prepack InterfaceAnalyzer_resfile InterfaceAnalyzer_tracer InterfaceDdG KIC_refine KIC_vicinity KIC_with_fragments LoopAnalyzer LoopLengthChange ModifyVariantTypeMover PDB_diagnostic ProQ RBOut RescorePDDF ResidueDisorder SID_rescore SSElementSelector SnugDock ThreadingInputter UBQ_E2_thioester UBQ_E2_thioester_extra_bodies UBQ_E2_thioester_two_ubiquitins UBQ_Gp_CYD-CYD UBQ_Gp_LYX-Cterm abinitio add_helix_sequence_constraints add_helix_sequence_constraints_advanced_setup add_job_pair_data angle_recovery_stats antibody_H3 antibody_H3_camelid antibody_designer antibody_designer_camelid antibody_graft antibody_numbering_converter assemble_domains_jd2 autosetup_metals_centroid backrub backrub_interface_ddG backrub_pilot batch_relax beta_strand_homodimer binselector binselector_probins broker broker_membrane burial_measure_centroid buried_unsat_kinemage buried_unsat_voids_hbnet_design buried_unsat_voids_hbnet_design_symm c-term_conjugation calculate_sasa cart_min_glycans cartesianddg ccd_ends_graft_mover_rs central_class_modification centroid_disulfide_scores centroid_from_fullatom classic_relax_1a19 cleanAlignment cluster cluster_alns cluster_filter code_template_tests_src combine_silent constel contactMap coupled_moves create_clash-based_repack_shell create_sequence_motif crossaln crosslinkermover_octahedral crosslinkermover_octahedral_s2_symm crosslinkermover_square_planar crosslinkermover_square_planar_d2_symm crosslinkermover_square_pyramidal crosslinkermover_tetrahedral_metal crosslinkermover_tetrahedral_metal_asp crosslinkermover_tetrahedral_metal_c2_symmetry crosslinkermover_tetrahedral_metal_d2_symmetry crosslinkermover_tma crosslinkermover_tma_symm crosslinkermover_trigonal_planar crosslinkermover_trigonal_planar_c3_symm crosslinkermover_trigonal_pyramidal crosslinkermover_trigonal_pyramidal_c3_symm cs_rosetta_rna cst_info cstfile_to_theozyme_pdb custom_basetype_packer_palette cyclization cycpep_design_pipeline cycpep_symmetry_filter d_workflow database_jd2_compact_io database_jd2_io database_session_resource ddG_ensemble ddG_of_mutation ddG_scan density_denovo density_refine density_refine_symm density_tools design_glycans design_w_custom_palette-CAAs design_w_custom_palette-NCAAs design_w_custom_palette-RNA distances disulfidize_beta_cys dock_with_hotspot_place_simultaneously docking_distance_constraints docking_ensemble docking_ensemble_prepack docking_full_protocol docking_local_refine docking_local_refine_min docking_low_res docking_prepack docking_site_constraints doug_dock_design_min_mod2_cal_cal drrafter_error_estimation drrafter_run energy_based_clustering_alpha_aa energy_based_clustering_alpha_aa_bin_analysis energy_based_clustering_alpha_aa_dihedral entropy_correction enumerative_sampling enzdes enzscore_filter_dimetal enzscore_filter_dimetal_sym enzscore_filter_ligand enzscore_filter_metal enzscore_filter_metal_sym erraser_minimize evolution extract_atomtree_diffs extract_pdbs farfar_mrna farnesyl fast_relax favor_native_residue features features_database_schema features_parallel features_pdb fiber_diffraction fiber_diffraction_fad fit_helixparams fit_helixparams_a3b fit_helixparams_rms fix_alignment_to_match_pdb fixbb flexpepdock flexpepdock_abinitio fold_and_dock fold_cst_new fold_from_loops fragment_picker fragmentpicker_integration_demo fuzzy ga_ligand_dock gen_lig_grids generate_6Dloopclose genkic_bin_perturbing genkic_lowmemory_mode genkic_rama_filter genkic_ramaprepro_sampling genkic_sugars geometric_solvation glycan_anomers glycan_clash_check glycan_refinment glycan_relax glycan_sequon_scanner glycan_tree_relax glycan_tree_relax_build_single glycan_tree_relax_quench grid_scores_features hbnet_use_input_rot hbonds hbonds_sp2 hbs_design helix_from_sequence hierarchical_clustering homodimer_fnd_ref2015_memb hotspot_graft hotspot_hashing hotspot_stub_constraints hshash_utils hts_io hybridization hydrate hydrate_relax identify_cdr_clusters ig_dump interaction_graph_summary_metric interface_energy inv_kin_lig_loop_design jd2test_PDBIO jd2test_PDBin_mmCIFout jd2test_PDBin_mmCIFout_extra_data_separate jd2test_mmCIFIO jd2test_mmCIFin_PDBout jrelax jscore kinemage_grid_output kinematic_looprelax ld_converter ligand_database_io ligand_dock_7cpa ligand_dock_ensemble ligand_dock_grid ligand_dock_script ligand_motif_design ligand_water_docking loop_creation loop_hash loop_modeling make_exemplar make_mainchain_potential make_mainchain_potential_symm make_mainchain_potential_symm_preproline make_rot_lib make_symmdef_file match_1c2t match_1n9l match_6cpa match_xml measure_lcaa_radii membrane_abinitio metal_setup metalloprotein_abrelax metalloprotein_broker metropolis_hastings mf_fixbb_des mf_fixbb_sc mf_flexbb_sc mg_modeler mg_modeler_lores mhc_epitope mhc_epitope_nmer_preload min_pack_min minimize_6Dloopclose minimize_with_elec_dens mirror_symm mm_params mmtfIO_score_test motif_dna_packer_design motif_extraction motif_score_filter mp_dock mp_dock_prepack mp_dock_setup mp_domain_assembly mp_domain_assembly_FtsQ mp_find_interface mp_interface_statistics mp_loadtime mp_mutate_relax mp_mutate_repack mp_quick_relax_ref2015_memb mp_range_relax mp_relax mp_score_jd2 mp_span_ang_ref2015_memb mp_span_from_pdb mp_symdock mp_symmetry_load mp_transform mp_transform_optimize mp_vis_emb mpi_multistate_design mpil_find_pore_ahelical mpil_find_pore_bbarrel mpil_load_implicit_lipids mr_protocols multistage_rosetta_scripts multistage_rosetta_scripts_clustering mutate ncaa_fixbb ncbb_packer_palette netcharge_design netcharge_design_symm next_generation_KIC noe_assignment non-canonical_connectivities nonideal_rtmin nucleobase_sample_around number_of_residuetypes oligourea_design oligourea_predict oop_create oop_design oop_dock_design orbitals pH_mode pepspec_anchor_dock peptiderive per_residue_energies per_residue_sc_sasa per_residue_solvent_exposure pertmin phiselector phosphonate place_simultaneously pna pna_base_pairs pocket_measure pocket_relax pocket_suggest_targets polyaramid_test_trivial posttranslationalmod_io ppi_v3_suiteA ppi_v3_suiteB ppi_v3_suiteC ppi_v3_suiteD ppi_v3_suiteE ppi_v3_suiteF ppi_v3_suiteG ppk protocol_metric pwsho pymol_cif r_pdb2top r_rmsf ralford_dump_rotamers range_relax_w_cst rb_recces read_polymeric_components readin_dna_rna_protein real_virt_mover recces_turner recon_design relax_w_allatom_cst remodel_disulfides_rosettascripts remodel_helical_repeat repack_with_elec_dens report_hbonds_for_plugin res_lipo_ref2015_memb residue_energy_breakdown resource_database_locator restype_converter rna_add_WC_stats rna_assemble rna_assemble_legacy rna_cluster rna_denovo rna_denovo_RNP_low_res rna_denovo_RNP_refine_native rna_denovo_base_pair_constraints rna_denovo_base_pair_setup rna_denovo_base_pair_setup_legacy rna_denovo_bps rna_denovo_bps_fixed_ends rna_denovo_bps_helix_ends rna_denovo_bps_helix_ends_legacy rna_denovo_bps_legacy rna_denovo_dna_bridge rna_denovo_fragment_homology_exclusion rna_denovo_grid_vdw rna_denovo_grid_vdw_legacy rna_denovo_lariat rna_denovo_legacy rna_denovo_new_FT_2in_dens rna_denovo_new_FT_5P_j12_leadzyme rna_denovo_new_FT_RNP_2prot_dens rna_denovo_new_FT_rna_two_chains rna_denovo_new_libs rna_denovo_symm_hack rna_design rna_farfar_block_stack rna_farfar_noncanonical_hairpin rna_farfar_syn_chi_res rna_helix rna_minimize rna_minimize_6D_loop_close rna_motif rna_predict_chem_map rna_puzzle11_H2H3H4_run3_connectU40 rna_puzzle12_P5P6P7_DMS rna_puzzle5_P15P3P8_noP4P6_4RB_G208phosphate_ligation rna_puzzle5_p2_GAAA_mini rna_puzzle6_U75G76A77_on_thread1 rna_puzzle6_j67_into_p6p7rigidbody_thread1 rna_ribosome_tether rna_score rna_screen_phosphates rnp_ddg_calc_mut rnp_ddg_calc_wt rnp_ddg_relax_command_1 rnp_ddg_relax_command_2 rollmover rosetta_scripts_hbond_options rosetta_scripts_include rosetta_scripts_info rosetta_scripts_jd3 rosetta_scripts_loops rosetta_scripts_setup rosie_ligand_docking rotamer_probability rotamer_recovery rotamer_recovery_compare_two_structures rs_flexbbmoves rs_loophash score12_docking score_aln score_jd2 score_only_silence sdf_reader secondary_structure_output seed_ensemble_JD2_JI select_best_unique_ligand_poses selected_residue_count_metric sequence_recovery sequence_tolerance set_torsion shobuns silent2frag simple_cycpep_predict simple_cycpep_predict_angle simple_cycpep_predict_anglelength simple_cycpep_predict_cartesian simple_cycpep_predict_cispro simple_cycpep_predict_cterm_isopeptide_lariat simple_cycpep_predict_cterm_isopeptide_lariat_tailless simple_cycpep_predict_design simple_cycpep_predict_nmethyl simple_cycpep_predict_nterm_isopeptide_lariat simple_cycpep_predict_nterm_isopeptide_lariat_tailless simple_cycpep_predict_octahedral_metal simple_cycpep_predict_peptoid simple_cycpep_predict_setting simple_cycpep_predict_sidechain_isopeptide simple_cycpep_predict_sidechain_isopeptide_reverse simple_cycpep_predict_square_planar_metal simple_cycpep_predict_square_pyramidal_metal simple_cycpep_predict_symm_gly simple_cycpep_predict_tbmb simple_cycpep_predict_terminal_disulfide simple_cycpep_predict_terminal_disulfide_internal_permutations simple_cycpep_predict_terminal_disulfide_tails simple_cycpep_predict_tetrahedral_metal simple_cycpep_predict_tetrahedral_metal_asp simple_cycpep_predict_tma simple_cycpep_predict_trigonal_planar_metal simple_cycpep_predict_trigonal_pyramidal_metal simple_glycosylation simple_grafting_movers simple_metric_cache simple_metric_features simple_metric_filter simple_metrics simple_metrics_per_residue site_constraint small_molecule_lattice_dock splice_in_4loops_longer splice_in_4loops_shorter splice_out_H1_H2_longer splice_out_H1_H2_same splice_out_H1_H2_shorter splice_out_H3_longer splice_out_H3_same splice_out_H3_shorter splice_out_L1_L2_longer splice_out_L1_L2_same splice_out_L1_L2_shorter splice_out_L3_longer splice_out_L3_same splice_out_L3_shorter startfrom_file stepwise_lores stored_residue_subset struc_set_fragment_picker super_aln supercharge swa_protein_CCDclose swa_protein_build_at_Cterminus swa_protein_build_at_Nterminus swa_protein_cluster swa_protein_combine_loops swa_protein_loop_sampler swa_protein_prepack swa_rna_erraser swa_rna_gagu_01_append swa_rna_gagu_02_prepend swa_rna_gagu_03_append_to_silent swa_rna_gagu_04_clustering swa_rna_gagu_05_prepend_to_5primeterminus swa_rna_gagu_06_append_to_3primeterminus swa_rna_gagu_07_prepend_dinucleotide swa_rna_gagu_08_append_dinucleotide swa_rna_gagu_09_sample_virtual_ribose swa_rna_gagu_10_prepend_and_ccd_close swa_rna_gagu_11_append_and_ccd_close swa_rna_gagu_12_helix_addition swa_rna_gagu_13_chunk_combination_and_closure swa_rna_gagu_14_combine_long_loop_filtering swa_rna_gagu_15_combine_long_loop_sampling swa_rna_gagu_16_prepend_dinucleotide_on_dinucleotide swa_rna_gagu_17_append_floating_base swa_rna_gagu_18_rebuild_bulge swa_rna_gagu_19_prepend_floating_base_by_jump swa_rna_gagu_20_append_floating_base_by_jump swa_rna_gagu_21_prepend_dinucleotide_on_dinucleotide_by_jump swa_rna_gagu_22_prepend_and_kic_close swa_rna_gagu_23_append_and_kic_close swa_rna_loop_clusterer swa_rna_loop_sampler sweep_respair_energies swm_add_rosettascripts swm_beta_peptide_loop swm_build_full_model swm_dna_bridge swm_dna_loop swm_l_rna swm_protein_CCDmove swm_protein_from_scratch swm_protein_loop_sampler swm_protein_move_inside_coiledcoil_by_bond swm_protein_move_inside_helix_by_bond swm_protein_preminimize swm_rna_base_pair_constraints swm_rna_fourwayjunction swm_rna_loop_design swm_rna_move_align_dock swm_rna_move_inside_helix_by_bond swm_rna_move_inside_helix_by_jump swm_rna_move_two_strands swm_rna_nickedhelix swm_rna_protonated_adenosine swm_rna_singleloop swm_rna_srl_triplet symm_disulfidize symm_rotamer_boltzmann symmetric_docking symmetry_data_resource symmetry_multicomponent tcrmodel template_features test1_benchmark test_computed_saxs_spectrum test_d_l_readin test_energy_method_options test_rosetta_thread_manager_advanced_API test_rosetta_thread_manager_basic_API thermal_sampler threefold_symm_peptide_design threefoldlinkermover_tbmb threefoldlinkermover_tbmb_symmetric tna_base_pairs torsion_restricted_sampling validate_database vancomycin vip voids_penalty_energy_design voids_penalty_energy_design_symmetry write_mol_file zinc_heterodimer zinc_homodimer_design zinc_homodimer_setup
Test: ubuntu.gcc.integration.ubsan

Failed sub-tests (click for more details):
rna_design
Test: mac.clang.integration

Failed sub-tests (click for more details):
AddConstraintsToCurrentConformationMover AnchorFinder AnchoredDesign AnchoredPDBCreator BuildPeptide DARC_electrostatics DARC_make_ray_files DARC_sampling_on_the_fly DARC_shapeonly DumpTrajectoryEnergy Enzrevert_xml FilterReportAsPoseExtraScoresMover FloppyTail InterfaceAnalyzer InterfaceAnalyzer_allscores InterfaceAnalyzer_bothpack InterfaceAnalyzer_ligand InterfaceAnalyzer_prepack InterfaceAnalyzer_resfile InterfaceAnalyzer_tracer InterfaceDdG KIC_refine KIC_vicinity KIC_with_fragments LoopAnalyzer LoopLengthChange ModifyVariantTypeMover PDB_diagnostic ProQ RBOut RescorePDDF ResidueDisorder SID_rescore SSElementSelector SnugDock ThreadingInputter UBQ_E2_thioester UBQ_E2_thioester_extra_bodies UBQ_E2_thioester_two_ubiquitins UBQ_Gp_CYD-CYD UBQ_Gp_LYX-Cterm abinitio add_helix_sequence_constraints add_helix_sequence_constraints_advanced_setup add_job_pair_data angle_recovery_stats antibody_H3 antibody_H3_camelid antibody_designer antibody_designer_camelid antibody_graft antibody_numbering_converter assemble_domains_jd2 autosetup_metals_centroid backrub backrub_interface_ddG backrub_pilot batch_relax beta_strand_homodimer binselector binselector_probins broker broker_membrane burial_measure_centroid buried_unsat_kinemage buried_unsat_voids_hbnet_design buried_unsat_voids_hbnet_design_symm c-term_conjugation calculate_sasa cart_min_glycans cartesianddg ccd_ends_graft_mover_rs central_class_modification centroid_disulfide_scores centroid_from_fullatom classic_relax_1a19 cleanAlignment cluster cluster_alns cluster_filter code_template_tests_src combine_silent constel contactMap continuous_sewing_hasher coupled_moves create_clash-based_repack_shell create_sequence_motif crossaln crosslinkermover_octahedral crosslinkermover_octahedral_s2_symm crosslinkermover_square_planar crosslinkermover_square_planar_d2_symm crosslinkermover_square_pyramidal crosslinkermover_tetrahedral_metal crosslinkermover_tetrahedral_metal_asp crosslinkermover_tetrahedral_metal_c2_symmetry crosslinkermover_tetrahedral_metal_d2_symmetry crosslinkermover_tma crosslinkermover_tma_symm crosslinkermover_trigonal_planar crosslinkermover_trigonal_planar_c3_symm crosslinkermover_trigonal_pyramidal crosslinkermover_trigonal_pyramidal_c3_symm cs_rosetta_rna cst_info cstfile_to_theozyme_pdb custom_basetype_packer_palette cyclization cycpep_design_pipeline cycpep_symmetry_filter d_workflow database_jd2_compact_io database_jd2_io database_session_resource ddG_ensemble ddG_of_mutation ddG_scan density_denovo density_refine density_refine_symm density_tools design_glycans design_w_custom_palette-CAAs design_w_custom_palette-NCAAs design_w_custom_palette-RNA discontinuous_sewing_hasher distances disulfidize_beta_cys dock_with_hotspot_place_simultaneously docking_distance_constraints docking_ensemble docking_ensemble_prepack docking_full_protocol docking_local_refine docking_local_refine_min docking_low_res docking_prepack docking_site_constraints doug_dock_design_min_mod2_cal_cal drrafter_error_estimation drrafter_run energy_based_clustering_alpha_aa energy_based_clustering_alpha_aa_bin_analysis energy_based_clustering_alpha_aa_dihedral entropy_correction enumerative_sampling enzdes enzscore_filter_dimetal enzscore_filter_dimetal_sym enzscore_filter_ligand enzscore_filter_metal enzscore_filter_metal_sym erraser_minimize evolution extract_atomtree_diffs extract_pdbs farfar_mrna farnesyl fast_relax favor_native_residue features features_database_schema features_parallel features_pdb fiber_diffraction fiber_diffraction_fad fit_helixparams fit_helixparams_a3b fit_helixparams_rms fix_alignment_to_match_pdb fixbb flexpepdock flexpepdock_abinitio fold_and_dock fold_cst_new fold_from_loops fragment_picker fragmentpicker_integration_demo fuzzy ga_ligand_dock gen_lig_grids generate_6Dloopclose genkic_bin_perturbing genkic_lowmemory_mode genkic_rama_filter genkic_ramaprepro_sampling genkic_sugars geometric_solvation glycan_anomers glycan_clash_check glycan_refinment glycan_relax glycan_sequon_scanner glycan_tree_relax glycan_tree_relax_build_single glycan_tree_relax_quench grid_scores_features hbnet_use_input_rot hbonds hbonds_sp2 hbs_design helix_from_sequence hierarchical_clustering homodimer_fnd_ref2015_memb hotspot_graft hotspot_hashing hotspot_stub_constraints hshash_utils hts_io hybridization hydrate hydrate_relax identify_cdr_clusters ig_dump interaction_graph_summary_metric interface_energy inv_kin_lig_loop_design inverse_rotamer_remodel jd2test_PDBIO jd2test_PDBin_mmCIFout jd2test_PDBin_mmCIFout_extra_data_separate jd2test_mmCIFIO jd2test_mmCIFin_PDBout jrelax jscore kinemage_grid_output kinematic_looprelax ld_converter ligand_database_io ligand_dock_7cpa ligand_dock_ensemble ligand_dock_grid ligand_dock_script ligand_motif_design ligand_water_docking loop_creation loop_hash loop_modeling make_exemplar make_mainchain_potential make_mainchain_potential_symm make_mainchain_potential_symm_preproline make_rot_lib make_symmdef_file match_1c2t match_1n9l match_6cpa match_xml measure_lcaa_radii membrane_abinitio membrane_relax membrane_relax_hbond metal_setup metalloprotein_abrelax metalloprotein_broker metropolis_hastings mf_fixbb_des mf_fixbb_sc mf_flexbb_sc mg_modeler mg_modeler_lores mhc_epitope mhc_epitope_nmer_preload min_pack_min minimize_6Dloopclose minimize_with_elec_dens mirror_symm mm_params mmtfIO_score_test motif_dna_packer_design motif_extraction motif_score_filter mp_dock mp_dock_prepack mp_dock_setup mp_domain_assembly mp_domain_assembly_FtsQ mp_find_interface mp_interface_statistics mp_loadtime mp_mutate_relax mp_mutate_repack mp_quick_relax_ref2015_memb mp_range_relax mp_relax mp_relax_w_ligand mp_score_jd2 mp_span_ang_ref2015_memb mp_span_from_pdb mp_symdock mp_symmetry_load mp_transform mp_transform_optimize mp_vis_emb mpi_multistate_design mpil_find_pore_ahelical mpil_find_pore_bbarrel mpil_load_implicit_lipids mr_protocols multistage_rosetta_scripts multistage_rosetta_scripts_clustering mutate ncaa_fixbb ncbb_packer_palette netcharge_design netcharge_design_symm next_generation_KIC noe_assignment non-canonical_connectivities nonideal_rtmin nucleobase_sample_around number_of_residuetypes oligourea_design oligourea_predict oop_create oop_design oop_dock_design orbitals pH_mode pepspec pepspec_anchor_dock peptiderive per_residue_energies per_residue_sc_sasa per_residue_solvent_exposure pertmin phiselector phosphonate place_simultaneously pna pna_base_pairs pocket_measure pocket_relax pocket_suggest_targets polyaramid_test_trivial posttranslationalmod_io ppi_v3_suiteA ppi_v3_suiteB ppi_v3_suiteC ppi_v3_suiteD ppi_v3_suiteE ppi_v3_suiteF ppi_v3_suiteG ppk protocol_metric pwsho pymol_cif r_pdb2top r_rmsf ralford_dump_rotamers range_relax_w_cst rb_recces read_polymeric_components readin_dna_rna_protein real_virt_mover recces_turner recon_design relax_w_allatom_cst remodel remodel_disulfides remodel_disulfides_rosettascripts remodel_helical_repeat repack_with_elec_dens report_hbonds_for_plugin res_lipo_ref2015_memb residue_energy_breakdown resource_database_locator restype_converter rna_add_WC_stats rna_assemble rna_assemble_legacy rna_cluster rna_denovo rna_denovo_RNP_low_res rna_denovo_RNP_refine_native rna_denovo_base_pair_constraints rna_denovo_base_pair_setup rna_denovo_base_pair_setup_legacy rna_denovo_bps rna_denovo_bps_fixed_ends rna_denovo_bps_helix_ends rna_denovo_bps_helix_ends_legacy rna_denovo_bps_legacy rna_denovo_dna_bridge rna_denovo_fragment_homology_exclusion rna_denovo_grid_vdw rna_denovo_grid_vdw_legacy rna_denovo_lariat rna_denovo_legacy rna_denovo_new_FT_2in_dens rna_denovo_new_FT_5P_j12_leadzyme rna_denovo_new_FT_RNP_2prot_dens rna_denovo_new_FT_rna_two_chains rna_denovo_new_libs rna_denovo_symm_hack rna_design rna_farfar_block_stack rna_farfar_noncanonical_hairpin rna_farfar_syn_chi_res rna_helix rna_minimize rna_minimize_6D_loop_close rna_motif rna_predict_chem_map rna_puzzle11_H2H3H4_run3_connectU40 rna_puzzle12_P5P6P7_DMS rna_puzzle5_P15P3P8_noP4P6_4RB_G208phosphate_ligation rna_puzzle5_p2_GAAA_mini rna_puzzle6_U75G76A77_on_thread1 rna_puzzle6_j67_into_p6p7rigidbody_thread1 rna_ribosome_tether rna_score rna_screen_phosphates rnp_ddg_calc_mut rnp_ddg_calc_setup rnp_ddg_calc_wt rnp_ddg_finalize rnp_ddg_relax_command_1 rnp_ddg_relax_command_2 rnp_ddg_relax_finalize rnp_ddg_relax_setup rollmover rosetta_scripts_hbond_options rosetta_scripts_include rosetta_scripts_info rosetta_scripts_jd3 rosetta_scripts_loops rosetta_scripts_setup rosie_ligand_docking rotamer_probability rotamer_recovery rotamer_recovery_compare_two_structures rs_flexbbmoves rs_loophash score12_docking score_aln score_jd2 score_only_silence sdf_reader secondary_structure_output seed_ensemble_JD2_JI select_best_unique_ligand_poses selected_residue_count_metric sequence_recovery sequence_tolerance set_torsion shobuns silent2frag simple_cycpep_predict simple_cycpep_predict_angle simple_cycpep_predict_anglelength simple_cycpep_predict_cartesian simple_cycpep_predict_cispro simple_cycpep_predict_cterm_isopeptide_lariat simple_cycpep_predict_cterm_isopeptide_lariat_tailless simple_cycpep_predict_design simple_cycpep_predict_nmethyl simple_cycpep_predict_nterm_isopeptide_lariat simple_cycpep_predict_nterm_isopeptide_lariat_tailless simple_cycpep_predict_octahedral_metal simple_cycpep_predict_peptoid simple_cycpep_predict_setting simple_cycpep_predict_sidechain_isopeptide simple_cycpep_predict_sidechain_isopeptide_reverse simple_cycpep_predict_square_planar_metal simple_cycpep_predict_square_pyramidal_metal simple_cycpep_predict_symm_gly simple_cycpep_predict_tbmb simple_cycpep_predict_terminal_disulfide simple_cycpep_predict_terminal_disulfide_internal_permutations simple_cycpep_predict_terminal_disulfide_tails simple_cycpep_predict_tetrahedral_metal simple_cycpep_predict_tetrahedral_metal_asp simple_cycpep_predict_tma simple_cycpep_predict_trigonal_planar_metal simple_cycpep_predict_trigonal_pyramidal_metal simple_glycosylation simple_grafting_movers simple_metric_cache simple_metric_features simple_metric_filter simple_metrics simple_metrics_per_residue site_constraint small_molecule_lattice_dock splice_in_4loops_longer splice_in_4loops_shorter splice_out_H1_H2_longer splice_out_H1_H2_same splice_out_H1_H2_shorter splice_out_H3_longer splice_out_H3_same splice_out_H3_shorter splice_out_L1_L2_longer splice_out_L1_L2_same splice_out_L1_L2_shorter splice_out_L3_longer splice_out_L3_same splice_out_L3_shorter startfrom_file stepwise_lores stored_residue_subset struc_set_fragment_picker super_aln supercharge swa_protein_CCDclose swa_protein_build_at_Cterminus swa_protein_build_at_Nterminus swa_protein_cluster swa_protein_combine_loops swa_protein_loop_sampler swa_protein_prepack swa_rna_erraser swa_rna_gagu_01_append swa_rna_gagu_02_prepend swa_rna_gagu_03_append_to_silent swa_rna_gagu_04_clustering swa_rna_gagu_05_prepend_to_5primeterminus swa_rna_gagu_06_append_to_3primeterminus swa_rna_gagu_07_prepend_dinucleotide swa_rna_gagu_08_append_dinucleotide swa_rna_gagu_09_sample_virtual_ribose swa_rna_gagu_10_prepend_and_ccd_close swa_rna_gagu_11_append_and_ccd_close swa_rna_gagu_12_helix_addition swa_rna_gagu_13_chunk_combination_and_closure swa_rna_gagu_14_combine_long_loop_filtering swa_rna_gagu_15_combine_long_loop_sampling swa_rna_gagu_16_prepend_dinucleotide_on_dinucleotide swa_rna_gagu_17_append_floating_base swa_rna_gagu_18_rebuild_bulge swa_rna_gagu_19_prepend_floating_base_by_jump swa_rna_gagu_20_append_floating_base_by_jump swa_rna_gagu_21_prepend_dinucleotide_on_dinucleotide_by_jump swa_rna_gagu_22_prepend_and_kic_close swa_rna_gagu_23_append_and_kic_close swa_rna_loop_clusterer swa_rna_loop_sampler sweep_respair_energies swm_add_rosettascripts swm_beta_peptide_loop swm_build_full_model swm_dna_bridge swm_dna_loop swm_l_rna swm_protein_CCDmove swm_protein_from_scratch swm_protein_loop_sampler swm_protein_move_inside_coiledcoil_by_bond swm_protein_move_inside_helix_by_bond swm_protein_preminimize swm_rna_base_pair_constraints swm_rna_fourwayjunction swm_rna_loop_design swm_rna_move_align_dock swm_rna_move_inside_helix_by_bond swm_rna_move_inside_helix_by_jump swm_rna_move_two_strands swm_rna_nickedhelix swm_rna_protonated_adenosine swm_rna_singleloop swm_rna_srl_triplet symm_disulfidize symm_rotamer_boltzmann symmetric_docking symmetry_data_resource symmetry_multicomponent tcrmodel template_features test1_benchmark test_computed_saxs_spectrum test_d_l_readin test_energy_method_options test_rosetta_thread_manager_advanced_API test_rosetta_thread_manager_basic_API thermal_sampler threefold_symm_peptide_design threefoldlinkermover_tbmb threefoldlinkermover_tbmb_symmetric tna_base_pairs torsion_restricted_sampling validate_database vancomycin vip voids_penalty_energy_design voids_penalty_energy_design_symmetry write_mol_file zinc_heterodimer zinc_homodimer_design zinc_homodimer_setup
Test: linux.clang.performance

Failed sub-tests (click for more details):
protocols_ligand_docking_LigandDockProtocol