LabelPoseFromResidueSelectorMover and SplitAndMixPoseMover
SplitAndMixPoseMover. By default extracts all the pieces of a pose as selected through a ResidueSelector but it also allows to then mix the order in which the new pose contains the different pieces. Furthermore it allows to merge pieces coming from different chains into one chain. Because it comes from a ResidueSelector the pieces are, logically disconnected. thus, it produces a multi-chain pose or a pose with chain breaks. Rewrites the PDBInfo.
LabelPoseFromResidueSelector. Adds or removes labels on residues selected through a ResidueSelector. Thought to work in combination with ResiduePDBInfoHasLabel.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #2106 from RosettaCommons/vmullig/fix_aib_patching
Fixing NtermProteinFull patch case for AIB (which still said MAL).
This is a pretty small change. No unit or integration test changes expected.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #2083 from RosettaCommons/roccomoretti/no_color_log_file
Add suppression flag to CSI Sequence printing.
Rosetta printing color highlighting of tracer output is nice ... if you're on a terminal which supports it. If you're redirecting to a log file, or on a terminal without support, it can produce rather ugly control code sequences in the display (e.g. '^[[0m') There's some existing autodetection logic to catch when you're redirecting a file, but it's not always foolproof. This pull request reorganizes things and adds a new option `-out:no_color` which suppressed the printing of the CSI sequence codes.
Additionally, the `-out::mpi_tracer_to_file` option also toggles the same CSI suppression setting, to suppress the control code printing in the MPI logs, even when the main output is still directed to the terminal.
As an added benefit, I've removed some now-unused logic from tracer output, which should greatly speed up printing to tracers.
One catch is that, due to the static initialization order fiasco, I needed to convert the utility::CSI_* entries from static objects to functions which return the appropriate objects.
MPI integration tests expected to change, as control codes are now being suppressed.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #2086 from RosettaCommons/jadolfbr/glycan_relax2
Glycan Relax - Version 2
his PR adds a new protocol for modeling glycans, GycanTreeRelax.
This protocol models glycan trees from the root of the glycan trees out to the foliage using virtual residues to model outward. This protocol significantly decreases the energy of final de-novo modeled glycans and fixes many of the pathologies associated with the original version when used on every residue, especially the roots. If you are modeling glycans, this is the protocol you want to use.
@raemisch @JWLabonte @dwkulp
Add integration test for this protocol.
Other integration test changes are cosmetic from increased debugging output with debug tracer for MoverContainer.
Here is the general description:
Brief
===
A protocol for optimizing glycan trees using GlycanRelax from the base of the tree out to the leaves.
Works by making all other residues virtual except the ones it is working on (current Layer).
GENERAL ALGORITHM
==================
We start at the roots, and make all other glycan residues virtual.
We first model towards the leaves and this is considered the forward direction.
GlycanRelax is used for the actual modeling, we only model a layer at a time, until we reach the tips.
If more than one round is set, the protocol will move backwards on the next round, from the leafs to the roots.
A third round will involve relaxation again in the forward direction.
So we go forward, back, forward, etc. for how ever many rounds you set.
QUECHING
=========
By default, we model all glycans simultaneously. First, all glycan roots (the start of the tree), and slowly unvirtualize all glycan residues, while only modeling each layer.
Alternatively, we can choose a particular glycan tree, run the algorithm, and then choose another glycan tree randomly until all glycan trees have been optimized.
Here, we call this quenching.
GLYCAN LAYERS
=============
Draw a tree on a paper. We start with the beginning N residues, and work our way out towards the leaves.
Layers are defined by the glycan residue distance to the rooot. This enables branching residues to be considered the same layer conceptually and computationally, and allows them to be modeled together.
**--LAYER SIZE--**
The distance that make up a layer. If we have a distance of 2,
we first model all glycans that are equal to or less than 2 residue distance to the root.
We then slide this layer up. So we take all residues that have a distance between 3 and 1, and so on.
**--WINDOW SIZE--**
The layers are slid down throught the tree of the glycan. The window size represents the overlap in the layers.
A window size of 1, means that the last residue (or residues of layer 1) from the last modeling effort, will be used again as part of the next layer. A window size of 0, means that no residues will be re-modeled.
Typically, we would want at least a window size of 1.
Rocco Moretti 8 years Looks like the new glycan_tree_relax integration test has issues in release mode.
Jared Adolf-Bryfogle 8 years Yea, looks like it runs too long. I have 3 tests in the command file, so I probably will just need to separate these out into individual integration tests or try to further shorten the runs.
Jared Adolf-Bryfogle 8 years Running too long because something is messed up. Will fix it and open a PR. Thanks for the message .
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #2094 from RosettaCommons/jaumebonet/rmsdfromselector
TrueResidueSelectorCreator is now included in the init.cc and, thus, is accessible through RS with the tag.
Several functions in core/select/residue_selector/util.cc to evaluate ResidueSubsets.
RmsdFromResidueSelectorFilter allows to apply ResidueSelectors to both the pose and the reference_pose (loaded through the SavePoseMover).
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #2088 from RosettaCommons/jaumebonet/constraintutils
Changes in SecondaryStructureSelector and AtomPairConstraint with new non-default behaviour. Added SegmentedAtomPairConstraint and ReleaseConstraintFromResidueMover.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #2084 from RosettaCommons/jadolfbr/gl_virts_glycans
Virtual + Glycan residue updates to the OpenGL viewer
This PR adds an option group for the OpenGL viewer and some options and changes in default behavior (`-viewer:`).
- `-viewer:show_virtual_residues bool` (Default true ). Changing this to false will not show virts. By default, they are shown as white. If there is consensus on NOT showing them by default, I'm totally fine with that too. This just maintains the way usual way.
- `-viewer:single_glycan_color bool` (Default true ). We now show glycans as a single color by default. Like a blue/purple ish with near-white side chains. Uses @rhiju 's way of showing non-protein residues, just changes the colors for them and the side chains. Looks decent and is very easy to see for many glycans on a single protein. Change this to False to see them as rainbow or chain-based. I would have colored them per-tree, but the functions only get residues and not the full pose (for some completely unknown reason actually).
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #2082 from RosettaCommons/jadolfbr/gl_compile
Make compilation of graphics mode work on mac.
Adds a line in basic.settings to warn of the deprecated GLUT on mac os instead of crashing for graphics-mode only builds.
notify author
notify list [rosetta-logs@googlegroups.com]