commit f7f8c32219c5f7f26f78f01eab5f64e0fb89a106 Merge: e0e4b6d a1c899c Date: Thu Jul 30 11:06:30 2015 -0500 Merge pull request #666 from RosettaCommons/havranek/amoeba Adding Amoeba-style polarizable multipole electrostatics. Includes some commit e0e4b6dbe9dc2bc92e9549734ab0f9e488f73c23 Merge: bf69036 95bbdc3 Date: Wed Jul 29 07:14:30 2015 -0700 Merge pull request #667 from RosettaCommons/rfalford12/membrane_transform2 Rfalford12/membrane transform2 Fixed TransformIntoMembraneMover interface & unit test. Mostly work from Julia (@jkleman) - just fixing some smaller things here. commit bf69036096e3e11063acbedb760c1dfbabf8004d Merge: e23876c 8fa13e4 Date: Tue Jul 28 13:50:25 2015 -0700 Merge pull request #622 from RosettaCommons/everyday847/covalent_hbs Fun and games with LINK records for covalent HBS sampling and more, now compatible with all tests. Integration tests are all cosmetic (or alterations to the tests themselves) commit e23876c87f301abfd456af7aba89620c5068f028 Merge: d2131b8 2622735 Date: Tue Jul 28 09:42:30 2015 -0700 Merge pull request #548 from RosettaCommons/tlinsky/foldability FoldabilityFilter now supports refolding multiple segments commit d2131b89e48a1df4a59cddeb507f10066fa4952d Merge: 5cf00ba 073d740 Date: Mon Jul 27 17:49:49 2015 -0700 Merge pull request #663 from RosettaCommons/rhiju/fix_typo_sampling_to_enumerate Rhiju/fix typo sampling to enumerate commit 5cf00bab924e94c6e54a79b71bcc7643657678ca Merge: ed6ecdd cbd5feb Date: Mon Jul 27 15:10:46 2015 -0700 Merge pull request #662 from RosettaCommons/rhiju/restore_graphics_compile fix to graphics mode compiles commit ed6ecdd8eb9f2f797a6892ee7618270e3065e9ff Merge: 0ac2094 2864dac Date: Mon Jul 27 08:06:58 2015 -0700 Merge pull request #660 from RosettaCommons/tlinsky/tomponents Cleanup excess StructureData/Connection tracer messages commit 0ac2094a92713fd5bb190bca8522a548963d1cea Merge: 1b9a511 5f85d9e Date: Mon Jul 27 07:51:11 2015 -0700 Merge pull request #661 from RosettaCommons/rhiju/Oes_to_Oet Rhiju/oes to oet integration test changes are cosmetic. commit 1b9a51182cf688e37f7ae4966eb6bc28efb1a7b2 Date: Sun Jul 26 14:37:52 2015 -0700 A bunch of small changes to build on my mac commit 07cd1e88cdbe079432793b74209ddae09bad25af Date: Sun Jul 26 14:36:34 2015 -0700 Removing unused -beta parameters (that were out of sync anyway). commit c414546c5a518ce1efeabf84110caa50e1c09e08 Date: Sun Jul 26 14:35:41 2015 -0700 Add -beta_july15 flag (replace old -beta flag) commit cc58122ec50d0ee75860c0297e166f61c9ac89b3 Date: Fri Jul 24 15:38:56 2015 -0400 Update SetPyRosettaEnvironment.sh According to Sergey, removing the $PYROSETTA/rosetta directory from the LD_LIBRARY_PATH will break the namespace build so I have restored this to the LD_LIBRARY_PATH (while maintaining the $PYROSETTA in that environment variable). commit c1565aa15d380b71b91d70f5f411ec8381c660f5 Date: Fri Jul 24 15:02:03 2015 -0400 Update SetPyRosettaEnvironment.sh Fixing LD_LIBRARY_PATH from $PYROSETTA/rosetta to $PYROSETTA because as far as I can tell the file libboost_python.so.1.55.0 lives in $PYROSETTA and gives an import error with the previous LD_LIBRARY_PATH. commit af389d856434f6276f190249f6fe34e094713329 Merge: a85ad46 edac153 Date: Thu Jul 23 22:34:14 2015 -0700 Merge pull request #654 from RosettaCommons/vmullig/aa_composition_energy Add an energy term for penalizing deviations from a desired residue type composition This is a wholebody energy, which has the disadvantage of being ignored by the packer in its current implementation, but the advantage of permitting nonlinear penalties as the deviation from desired composition increases. Tasks: - Add AACompositionEnergy.cc - Add AACompositionEnergy.hh - Add AACompositionEnergy.fwd.hh - Add AACompositionEnergyCreator.hh - Register with init.cc, core.3.src.settings - Register scoretype in ScoreType.hh, ScoreTypeManager.cc. - Rename energy term from aa_composition_energy to aa_composition. - Write finalize_total_energy() function. - Write calculate_aa_composition_energy() function. - Permit penalties for deviation from desired composition by residue type. - Permit penalties for deviation from desired composition by residue properties (e.g. 40% hydrophobic, 10% aromatic). - Add PropertiesSet class to allow the above. - Create a helper class for storing data associated with this energy function. - Move the data access and data storage functions into this class. - Permit initialization (desired amino acid composition, penalty function) from a file. - Option for filename. - File read from database. - Parse properties setup, too. X Add default files to the database. --> Put off to a future pull request. Requires validation. (There are some sample files in the database now, mostly as user templates and for unit tests.) - Permit desired levels to be set by percentage (e.g. 7% valine) or by absolute number (e.g. I want exactly 1 tryptophan). - Unit test with initialization file that only penalizes a subset of properties, based on fraction (e.g. just AROMATIC). - Unit test with initialization file that only penalizes a subset of properties, based on absolute number of residues (e.g. just AROMATIC). - Unit test with initialization file that only penalizes a subset of residue types, based on absolute number of residues (e.g. just ALA and GLY). - Unit test with initialization file that only penalizes a subset of residue types, based on fraction (e.g. just ALA and GLY). - Unit test with noncanonicals. - Integration test for design. (This should currently do nothing during design, since it's a multibody energy. With Alex's changes, though, it should be very useful for controlling the packer's behaviour.) - Documentation commit a85ad46f2083e97a8fa457941b1cb2ae0fa5bf7f Date: Thu Jul 23 16:54:38 2015 -0700 add site.settings for vax cluster. Nothing other than that. commit acd00369d8a31008a74eae37d798614ab6dd22e0 Merge: 981ca1a 7c11e96 Date: Thu Jul 23 14:59:29 2015 -0400 Adding execute function which allow to run external process and return it exit_code and output commit 981ca1ab37cf1092da719de54cee4cfd8a73867e Merge: d56231c 2855074 Date: Thu Jul 23 09:40:21 2015 -0400 Merge pull request #656 from RosettaCommons/aleaverfay/fix_subversive_place_stub_mover_behavior Changing the behavior of the PlaceStubMover so that it no longer changes constraints after they have been placed in a Pose. Cosmetic integration test changes only -- the hotspot_graft trajectory is unchanged. commit d56231cdf0b9e94b1d629773f560c56f7532459b Merge: d87cece e81ba63 Date: Wed Jul 22 21:35:32 2015 -0700 Merge pull request #655 from RosettaCommons/tlinsky/prepro_filter Update preproline filter to allow E commit d87cece545fd8f6ba43306fd593c0c833de17877 Merge: 676ada3 98ec627 Date: Tue Jul 21 15:27:30 2015 -0700 Merge pull request #650 from RosettaCommons/vmullig/repeat_energy Create an energy term that penalizes repeat stretches (e.g. poly-Q sequences) Yes, I know this is inherently non-pairwise decomposable. It won't work with the packer in its present form, but can be used for post-hoc scoring. Tasks: - Create forward declarations. - Create creator. - Create .cc and .hh files. - Register these. - Add energy type to the scoretype enum. - Write compute function. - With hooks for rapid computation given a vector of ResidueCOPs. - Flag for config file (with default version in database) that determines how the penalty is applied. - Default config file in database. - Unit tests. - Documentation. commit 676ada34cf47af3b29eb5ab107d632de6a7c43d5 Merge: b8f7b13 8bb2f5f Date: Tue Jul 21 15:11:41 2015 -0700 Merge pull request #640 from RosettaCommons/kalekundert/link_residues Fix a bug that was causing LinkResidues to segfault. commit b8f7b137a26c5e752bfd1afda0a15b30fc77eeed Merge: a319102 575e55d Date: Tue Jul 21 14:12:29 2015 -0700 Merge pull request #643 from RosettaCommons/BobbyLangan/sasa_bug_fix_pdbinfo Fixes pdb_info issue in SelectBySASA operation Added a pointer check before trying to fetch pdb_info in SASA operation commit a319102c4c266decb190a85ce8af52183cd7f589 Merge: ddae231 7b18678 Date: Tue Jul 21 01:06:40 2015 -0700 Merge pull request #649 from RosettaCommons/vmullig/mpi_c_bool_issue Switching all instances of MPI_C_BOOL to MPI_CHAR Switching all instances of MPI_C_BOOL to MPI_CHAR to fix compilation issues on certain systems. I'm using MPI_CHAR for my dummy/acknowledgement signal because a char is the one datatype that's guaranteed to be one byte wide in the C++ standard, and I don't want to waste time sending more than one byte for an acknowledgement signal. (Unfortunately, the C standard did NOT originally have a boolean data type, so MPI_C_BOOL is not always defined in all flavours of MPI, apparently. Still, a C++ bool is 8 bits wide rather than 1 bit, since the smallest memory space that one can address is a byte, and a bool* wouldn't make sense if bools were 1 bit. This means that I'm not really losing anything by switchng this to a char.) No test changes expected. commit ddae2316a55dd9d495cf47fc93c5707630e1f9fc Merge: abb8415 53a9d03 Date: Mon Jul 20 21:58:44 2015 -0700 Merge pull request #635 from RosettaCommons/vmullig/new_ncaas Adding a few more beta- and gamma-amino acids to the database Mostly cyclics (e.g. trans-ACPC). ...And in the process I caught a bug in the helical bundle code. Fixed. This causes the multirepeat integration tests to fail. commit abb84159635311038391c186f56de7ff25a97f57 Merge: 112d636 82bce7c Date: Sat Jul 18 22:23:16 2015 -0700 Merge pull request #644 from RosettaCommons/tlinsky/prepro_filter Initial commit of pre-proline filter commit 112d6365f8e0f73cd66a4205e0ceba80739e9e5f Merge: 7f5d9be 12e96a6 Date: Fri Jul 17 23:22:07 2015 -0700 Merge pull request #642 from RosettaCommons/vmullig/zibo_bundlegridfilter Create a filter for reporting helical bundle parameters. This creates a new filter, the BundleReporterFilter. The main purpose of this filter is to look at a parametric pose and dump out (a) the bundle parameters, and (b) the Rosetta energy, given a scorefunction. By default, the filter always returns true, though it can be set to return false always, or to filter based on the energy (much like the ScoreType filter). Tasks: Create the filter files (-.cc, -.hh, -.fwd.hh, -Creator.hh) Register them with the appropriate init files. Get the filter to write out parameters. Handle the case of the filter receiving a non-parametric pose. Get the filter to score and write out the score. Get the filter to filter on score, if the user so wishes. Integration test. Documentation. Also: Fixed problems with the ScoreType filter (uninitialized variables). commit 7f5d9be29aafa47c106fcbef7c20b9f42ea36235 Date: Thu Jul 16 20:10:34 2015 -0400 And naturally a modified patches.txt made it in. Sorry for the scare, friends. commit 1861ce18b4dc97892f9f8264509755edf3bdecdf Merge: 8c7ce5d e5fd4a4 Date: Thu Jul 16 17:28:50 2015 -0400 Fixing a stupid hbs_dock_design bug (somehow I wasn't initializing the Mover; I'm not sure how this ever worked--maybe because I mostly invoke it using NcbbDockDesignProtocol now) and adding an AtomType found in the HBS linker to the split_unfolded default energies commit 8c7ce5dca08191193d1e0d5c96e5bb2d5a31861b Date: Thu Jul 16 17:22:06 2015 -0400 I noticed a minor issue where the hbs_dock_design mover wasn't actually being initialized, leading to stupid segfaults. This also adds the mm atom type for one of the HBS atoms to the default split unfolded energies (it had been computed but wasn't part of the default database file). commit 15c787cbd69576cfff97118bb70346018a9816d2 Merge: c7a4d5e 23f19ee Date: Fri Jun 26 09:25:59 2015 -0700 Merge pull request #584 from RosettaCommons/rhiju/residue_type_set_remove_nonconst Rhiju/residue type set remove nonconst Step along the way to more elaborate pull request (https://github.com/RosettaCommons/main/pull/591). commit c7a4d5e480a2c2eb780edff782365d45cc550cc8 Merge: d1f3eea 63a603c Date: Fri Jun 26 08:18:47 2015 -0700 Merge pull request #580 from RosettaCommons/tlinsky/ssprediction_to_protocols Move SSPrediction filter to protocols, since it is widely used and stable commit d1f3eeaf508cdb8c48c3a9f496e89656dc5fa355 Merge: 9c238a1 658cec7 Date: Thu Jun 25 15:04:22 2015 -0700 Merge pull request #566 from RosettaCommons/vmullig/reference_pose Creates a means of tracking changes to residue indices as residues are added or deleted The goal of this pull request is to create a means of tracking changes to residue indices as residues in a pose are added or deleted. The usage case is as follows: a user wants to write a protocol (e.g. in RosettaScripts) in which he or she calls a mover that appends or inserts residues in a pose, and then wants to call a mover that operates on inserted residues or downstream residues. Unfortunately, the first mover could insert a variable number of residues, making it impossible to pass exact indices to the second mover at scripting time. The solution is to implement something that can take a snapshot of a pose, then track where residues are added or removed, associating the residue indices of the modified pose with residue indices of an initial pose. This implements the following: -- Adds ReferencePoseSet class (a container for multiple named ReferencePose objects, with hooks for retrieving them by name). -- Poses now store an owning pointer to a ReferencePoseSet. This adds almost no memory overhead if reference poses are not used in a protocol. -- Adds a ReferencePose class (a class for storing the association between residues currently in a pose and residues that were in a pose at a point in the past). -- Adds unit tests for the above. -- Adds the StorePoseSnapshot mover, which creates a ReferencePose based on the current state of the pose and adds an owning pointer to it to the pose's ReferencePoseSet. -- Modifies MutateResidue to use reference pose indices should the user indicate that this should be the case (this will serve as a demo for how to modify movers to permit users to use ReferencePoses). -- Modifies the add and delete operations in the Pose class so that any mover adding or deleting residues automatically updates any ReferencePose objects that are present. -- Modifies the PDB numbering parse logic so that any Rosetta mover that takes residue numbers and parses them using the PDB numbering logic can also parse residue numbers based on a reference pose. (That is, a user could specify, "17", "5B", or "16_refpose1" to refer to residue 5 of chain B, the 17th residue of the pose, which corresponds to the 16th residue of some reference pose). -- Adds an integration test for a RosettaScript involving a StorePoseSnapshot mover, a mover that modifies pose length, and a mover that refers to a residue in the ReferencePose. -- Documents these changes, for users. -- Documents these changes, for developers. X Modify GeneralizedKIC to use reference poses. -- Put off to a future pull request. commit 9c238a1851a0f7dbb0807adce92c340462301746 Merge: d1549c0 96e9abe Date: Thu Jun 25 13:49:45 2015 -0700 Merge pull request #590 from RosettaCommons/vmullig/layerdesign_ligand Adding support for ligands to LayerDesign in use_sidechain_neighbours mode This allows ligands in use_sidechain_neighbours mode. Instead of the CA atom, it uses the nbr_atom for ligands. commit d1549c0866f04619dbfacb9f89c51291b62bf20b Date: Thu Jun 25 15:41:18 2015 -0400 Two small bugfixes for density commit 4ad765f9b2116798b4e6eac266b3c1b77cb6c593 Merge: 2a681ff 044b841 Date: Thu Jun 25 11:00:15 2015 -0700 Merge pull request #585 from RosettaCommons/rhiju/resleveltask_in_separate_file Rhiju/resleveltask in separate file This may cause headaches to folks doing future merges to/from master who have changed the class ResidueLevelTask_ . Unfortunately, while git does track movement of functions within files, it generally fails to check movement across files. If you run into an issue with a conflict in your branch involving PackerLevelTask_.cc when trying to merge master, the best thing to do is: git diff core/pack/task/PackerTask_.cc Record changes that you made in the ResidueLevelTask_ class functions. Then make sure they go into the new ResidueLevelTask_.cc file, and remove your conflicting code block in PackerLevelTask_.cc. commit 2a681ffdc18b0f50d93702996e3900bbd9d5a450 Merge: cc83855 73e9974 Date: Wed Jun 24 20:22:39 2015 -0400 Merge pull request #588 from RosettaCommons/JWLabonte/PyMOL_Mover PyMOL_Mover/PyMOLMover: Squashing rare class definition bugs This merge removes a class definition notation in the PyMOLPyRosettaServer that some versions of Python and/or versions of PyMOL cannot seem to handle. PyRosetta unit tests passed. commit cc83855511e8ca374f5050ba0ca46782b05f648d Merge: f1989ce 03ad481 Date: Wed Jun 24 17:54:33 2015 -0500 Merge pull request #84 from RosettaCommons/roccomoretti/rotamer_refactor Rotamer Generation Refactor This is a project I've been working on to clean up the way rotamer libraries get generated. Currently, there's an ad-hoc system based on various bits of data in the ResidueType, along with various if/else statements in RotamerLibrary as well as RotamerSet. This pull request implements a scheme to replace that with a more unified and extendable system. * The various loose bits of rotamer specification data in the ResidueType are replaced with a single OP to a RotamerLibrarySpecification object. (in src/core/chemical/rotamers/) Generally, each various type of SingleResidueRotamerLibrary will have it's own RotamerLibrarySpecification subtype, each with it's own set of data. * RotamerLibrarySpecification objects are created either based on the current rotamer lines in .params files, or with a new ROTAMERS line, which has the format ROTAMERS where is a string which specifies which RotamerSpecification class to instantiate and is in a class-specific, newline terminated format. * To facilitate adding new rotamer library types, RotamerLibrarySpecifications have a (RosettaScripts-like) factory system. This not only allows "easy" addition of new rotamer types, but also allows you to place the implementation anywhere in the library hierarchy. * SingleResidueRotamerLibraries are now instantiated based on the type of RotamerLibrarySpecification that's in the ResidueType. * This is also a factory based system, based off of the same tag from the RotamerLibrarySpecification class - each RotamerLibrarySpecification class has a corresponding SingleResidueRotamerLibrary, more or less. It's flexible enough that you can do one to many or many to one if you want to. * The SingleResidueRotamerLibrary factory functionality has been excised from the RotamerLibrary class into a new SingleResidueRotamerLibraryFactory class. This makes core::pack::dunbrack::RotamerLibrary strictly a class for handling the Dunbrack rotamer libraries. * This also entailed splitting off the CenRot library functionality - the upshot of which is that it is no longer necessary to have a separate flag to enable CenRot rotamers - it will do auto lazy loading. * Functionality in core/pack/dunbrack/ was also split between core/pack/dunbrack/ and core/pack/rotamers/ - core/pack/dunbrack should contain the functionality which is specific for handling Dunbrack-based rotamer libraries, and core/pack/rotamers/ hold code which is more generic and not necessarily related to the Dunbrack rotamer libraries. * The previous SingleResidueRotamerLibrary caching scheme used has been replaced by a new write-once/software transactional memory inspired one which should be more threadsafe than the previous one. * The way SingleLigandRotamerLibrary's data are stored has changed. Previously the library was read and stored as Residue objects. This introduces an implicit cross dependency between the RotamerLibraries and ResiudeTypes/ResidueTypeSets, which breaks down if the underlying ResidueType is deleted, or if there are multiple ResidueTypeSets with different ResidueTypes with the same name. Now, instead of storing Residues the SingleLigandRotamer now represents the input pdb as an atom name/coordinate map, and the vector of Rotamer objects is recreated each time it's needed, just as it is for the Dunbrack libraries. As a benefit, this simplifies the enzdes/metal ion covalent residue patching code a bit. I (started to) remove the implicit dependence of Rotamer library on the AA enum. Instead, canonical amino acids now have an explicit ROTAMER_AA line which specifies the Dunbrack rotamer library to use. This removes the "magic" that previously happened based on the ResidueTypeSet identity, so that AA LYS in fa_standard magically got Dunbrack rotamers, but AA LYS in centroid didn't. Now AA LYS in fa_standard gets Dunbrack rotamers because the params file says that it should, and AA LYS in centroid doesn't because the params file says that it doesn't. Certain types (RNA, DNA, etc.) still base rotamers off of AA type in an ugly if/else clause in RotamerSet - changing this is a TODO future goal. (Preferably one which lands on someone else's plate) Cosmetic tracer changes expected on the following 25 integration tests: Enzrevert_xml coupled_moves cstfile_to_theozyme_pdb enzdes extract_atomtree_diffs hybridization inverse_rotamer_remodel kinemage_grid_output ligand_database_io ligand_dock_7cpa ligand_dock_grid ligand_dock_script ligand_motif_design ligand_water_docking match_1n9l mp_relax_w_ligand orbitals relax_w_allatom_cst residue_data_resource sdf_reader startfrom_file validate_database write_mol_file -- fiber_diffraction_fad fold_and_dock The last two look worse than they are due to extra debugging output. I'm also seeing a ~10% slowdown on the fa_dun* scoreterm performance tests, though not really on the full-scale scoring/minimization tests. It's slightly concerning, but I don't think it's worth putting off the merge for. commit f1989ceec95114218ec161b8e88f912650c8be43 Merge: ba16926 ba910b9 Date: Tue Jun 23 10:10:34 2015 -0500 Merge pull request #577 from RosettaCommons/roccomoretti/tilt_mover Add an option to tilt (nutate) the docking partners in DockingInitialPerturbation, in addition to the spin possibility. By default the tilt will happen perpendicular to the axis connecting the center of masses of the two binding partners. The center and the magnitude of the random tilt can be varied. This is code that I'm committing on behalf of Joerg Schaarschmidt. (Though bugs have a good possibility to be from my code cleanup efforts.) commit ba169267c9de33e6c9dc99221d7c71959b13c72b Merge: 874e069 9fbe419 Date: Mon Jun 22 15:17:55 2015 -0400 Merge pull request #563 from RosettaCommons/everyday847/make_rot_lib_with_tripeptide MakeRotLIb now can use acetylated, N-methylamidated poses with three residues (-make_rot_lib: use_terminal_residues) and can use k-medoids instead of k-means clustering (-make_rot_lib:k_medoids). commit 874e069a7c915a5319ebb2dd70256626751d3a0e Merge: 591fad7 631496f Date: Sat Jun 20 11:43:26 2015 -0400 Merge pull request #578 from RosettaCommons/everyday847/awatkins_pilot_apps2 Some of my pilot apps that might be useful for general consumption commit 591fad7c530e506eb3205075fefe9d9c849faef1 Date: Sat Jun 20 07:13:34 2015 -0400 Update split_unfolded_one_body_mm_std I believe these missing peptoid parameters are the remaining source of the instability of ncaa_fixbb. (Really just adding 001 and 601 ought to fix it.) commit f03d526873f7156ea4b41fd1d663c30b62a87dd3 Merge: 64b9162 db6091e Date: Fri Jun 19 22:52:37 2015 -0700 Merge pull request #579 from RosettaCommons/vmullig/mpitests2 Tweaking MPI-mode integration tests to try to improve stability I'm temporarily dropping one test down to 3 processes instead of 4, to see whether this improves stability. Ultimately, I need to find the source of the instability, though. Expect changes to MPI-mode integration tests. Merging without testing. commit 64b9162a18afdc04bda310306d66c9be0af3e8ec Merge: b09ff92 ab7c788 Date: Fri Jun 19 23:39:41 2015 -0400 Merge pull request #530 from RosettaCommons/everyday847/disulfide_atom_tree_solution No hard coded atom names in disulfide code commit b09ff9225f4f7ad3378d95f50dcf5e8521623a7b Date: Fri Jun 19 15:49:43 2015 -0400 Fixing benchmark release.py script indentation commit 157e1b8be2c134e84181901b972f1e88c86057b8 Merge: 876e2a9 ca88dc2 Date: Fri Jun 19 15:21:30 2015 -0400 Merge pull request #575 from RosettaCommons/kimdn/sw_unit_fix [minor modification] Initialize 2 uninitialized variables since http://benchmark.graylab.jhu.edu/sub_test/17264163 http://benchmark.graylab.jhu.edu/sub_test/17264479