-
Notifications
You must be signed in to change notification settings - Fork 155
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
added loop modeling chapter + accompanying files #28
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So - no one really makes a loop foldtree from scratch anymore.
I would preface that section with this info. That we are reviewing how to manually create a loop foldtree to help the user understand fold trees, but generally one would use the foldtree_from_loops
function that takes a loop object, a pose, and an empty foldtree:
protocols::loops::fold_tree_from_loops(pose, *loops, ft);
pose.fold_tree(ft);
protocols::loops::add_cutpoint_variants(pose);
The loops need cutpoint variants - in your notebook, you do this manually, which is fairly error prone. If you create the FT first, and then use the variants function, this is done automatically.
The rest of it looks OK - but fairly out of date. There has been much in the way of GenKIC from @vmullig and Next-Gen kic from the Kortemme lab. I'm not sure how to use them in PyRosetta, but they should at least be mentioned. I believe NGK is a mover, while the general setup of GenKIC is through PyRosetta scripts. There is documentation for these on the doc wiki, and I would add that to the bottom of the page. I would also add the NGK paper reference to the top and if @vmullig has a reference for GenKIC. Other than that, it looks good. I'll be able to go through it line by line after Christmas.
GenKIC should be fully configurable from PyRosetta. I know that @weitzner has done it. The current GenKIC tutorials (https://www.rosettacommons.org/demos/latest/tutorials/GeneralizedKIC/generalized_kinematic_closure_1, https://www.rosettacommons.org/demos/latest/tutorials/GeneralizedKIC/generalized_kinematic_closure_2, https://www.rosettacommons.org/demos/latest/tutorials/GeneralizedKIC/generalized_kinematic_closure_3, https://www.rosettacommons.org/demos/latest/tutorials/GeneralizedKIC/generalized_kinematic_closure_4) are for RosettaScripts, but there's an almost 1:1 correspondence between how you configure GenKIC there and how you configure it in PyRosetta. |
Here is genkic in pyrosetta. I have pythonized GenKic into a class (https://github.com/jwillis0720/PyRosetta_helper/blob/master/pyrosetta_helper/GenKic.py) in my small library called PyRosetta_helper. I'm not sure where to put just pyrosetta code that may be helpful that acts as an independent library so I just have my own libraries. Would it ever be worth integrating those somewhere @jadolfbr ?
Here is a GK demo replicating vikram's tutorial. I'm not sure it would be described as an easy 1:1 mapping but the code base in c++ has a ton of getters and setters so it's not so bad.
https://github.com/jwillis0720/PyRosetta_helper/blob/master/tutorial/GK_Demo.ipynb <https://github.com/jwillis0720/PyRosetta_helper/blob/master/tutorial/GK_Demo.ipynb>
… On Dec 24, 2019, at 11:58 AM, Jared Adolf-Bryfogle ***@***.***> wrote:
@jadolfbr requested changes on this pull request.
So - no one really makes a loop foldtree from scratch anymore.
I would preface that section with this info. That we are reviewing how to manually create a loop foldtree to help the user understand fold trees, but generally one would use the foldtree_from_loops function that takes a loop object, a pose, and an empty foldtree:
protocols::loops::fold_tree_from_loops(pose, *loops, ft);
pose.fold_tree(ft);
protocols::loops::add_cutpoint_variants(pose);
The loops need cutpoint variants - in your notebook, you do this manually, which is fairly error prone. If you create the FT first, and then use the variants function, this is done automatically.
The rest of it looks OK - but fairly out of date. There has been much in the way of GenKIC from @vmullig <https://github.com/vmullig> and Next-Gen kic from the Kortemme lab. I'm not sure how to use them in PyRosetta, but they should at least be mentioned. I believe NGK is a mover, while the general setup of GenKIC is through PyRosetta scripts. There is documentation for these on the doc wiki, and I would add that to the bottom of the page. I would also add the NGK paper reference to the top and if @vmullig <https://github.com/vmullig> has a reference for GenKIC. Other than that, it looks good. I'll be able to go through it line by line after Christmas.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub <#28?email_source=notifications&email_token=AAF5OKJKERIKLM27ELJVLQTQ2JEVVA5CNFSM4J63CKFKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCQFNLXA#pullrequestreview-336254428>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AAF5OKMZH77AFR4CUMK4W3TQ2JEVVANCNFSM4J63CKFA>.
|
Nice! Thanks, Jordan!
On Wed, Dec 25, 2019, 4:09 AM Jordan Willis, <[email protected]>
wrote:
… Here is genkic in pyrosetta
https://github.com/jwillis0720/PyRosetta_helper/blob/master/tutorial/GK_Demo.ipynb
<
https://github.com/jwillis0720/PyRosetta_helper/blob/master/tutorial/GK_Demo.ipynb
>
> On Dec 24, 2019, at 11:58 AM, Jared Adolf-Bryfogle <
***@***.***> wrote:
>
> @jadolfbr requested changes on this pull request.
>
> So - no one really makes a loop foldtree from scratch anymore.
> I would preface that section with this info. That we are reviewing how
to manually create a loop foldtree to help the user understand fold trees,
but generally one would use the foldtree_from_loops function that takes a
loop object, a pose, and an empty foldtree:
>
> protocols::loops::fold_tree_from_loops(pose, *loops, ft);
> pose.fold_tree(ft);
> protocols::loops::add_cutpoint_variants(pose);
>
> The loops need cutpoint variants - in your notebook, you do this
manually, which is fairly error prone. If you create the FT first, and then
use the variants function, this is done automatically.
>
> The rest of it looks OK - but fairly out of date. There has been much in
the way of GenKIC from @vmullig <https://github.com/vmullig> and Next-Gen
kic from the Kortemme lab. I'm not sure how to use them in PyRosetta, but
they should at least be mentioned. I believe NGK is a mover, while the
general setup of GenKIC is through PyRosetta scripts. There is
documentation for these on the doc wiki, and I would add that to the bottom
of the page. I would also add the NGK paper reference to the top and if
@vmullig <https://github.com/vmullig> has a reference for GenKIC. Other
than that, it looks good. I'll be able to go through it line by line after
Christmas.
>
> —
> You are receiving this because you are subscribed to this thread.
> Reply to this email directly, view it on GitHub <
#28?email_source=notifications&email_token=AAF5OKJKERIKLM27ELJVLQTQ2JEVVA5CNFSM4J63CKFKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCQFNLXA#pullrequestreview-336254428>,
or unsubscribe <
https://github.com/notifications/unsubscribe-auth/AAF5OKMZH77AFR4CUMK4W3TQ2JEVVANCNFSM4J63CKFA
>.
>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#28?email_source=notifications&email_token=ABACZUHQQUZ7FMZNEK2WZJDQ2MPKLA5CNFSM4J63CKFKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHUEPWI#issuecomment-568870873>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABACZUHFWFDZW6ETEPGOBCLQ2MPKLANCNFSM4J63CKFA>
.
|
@kathyle9 - are you still wanting to add a section for loop modeling? |
@jadolfbr Hi. I'm sorry-- this fell off my radar recently. Yes, I think we should still have this section. I'll push some changes later today |
@jadolfbr Do you mind taking another look at the most recent version and see if there's anything else I should change? Hopefully the "FoldTree" section is more clear and informative now. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Kathy, in general, this is a great start to a loop modeling chapter! I've left some comments that I think should be addressed before this is ready for prime time. Mostly just more explanation. If you want to talk about any of the individual components or do a video chat, let me know.
-
you assign a pose, but there is no pose created - this makes the rest of the notebook fail. Clone the pose instead. pose = start_pose.clone()
-
Explain what an EDGE is.
-
Add info about the loop fold tree. IE the directionality of the folding. 1 - 13; 20-14 says to fold directionally. This is an important concept that I believe was missing from the original workshops
-
Explain what a leaver-arm effect is. IE - without the fold tree, if you relax a loop, you will propagate the changes downstream.
-
Add a segment that says that we are building this fold tree for loop modeling, but it can be used for relaxation/minimization of the loop in a dihedral context. cartesian does not need this. For more, checkout the regional relax tutorial (6.02)
-
I don't think this is coming through:
Type Markdown and LaTeX: α2
-
When you start talking about the Loop object, we have yet to cover that. We also don't have an overview of loop modeling here. Why is loop modeling difficult? Why do we have separate protocols for it? What can't we just relax a loop?
-
NameError: name 'loops' is not defined - You'll need to import the module before use.
-
You bring CCD into the picture, but have not explained what it is. How it works, or how it is useful.
-
You have outpoint variants, but do not describe what they are, what they do, or why we need them.
-
In the beginning of the loop building section, explain the different types of algorithms at the beginning. Low res vs high res. KIC vs CCD vs NGK. It is hard for a student to understand the difference between all of them, and which one should be used (currently), etc. loop mover CCD has fallen out of flavor as KIC has been more rigorously benchmarked and developed. List each of those papers here.
-
You bring up the chain break term, but do not describe it.
These are really good points! Thanks for the feedback |
sure eveything made sense
Loop modeling chapter is now Chapter 9!
Adding an updated GK with a little more modularized sections.
No description provided.