Rosetta and TrRosetta

Message boards : Rosetta@home Science : Rosetta and TrRosetta

To post messages, you must log in.

AuthorMessage
Profile [VENETO] boboviz

Send message
Joined: 1 Dec 05
Posts: 1994
Credit: 9,623,704
RAC: 8,387
Message 100742 - Posted: 15 Mar 2021, 17:26:11 UTC

A #deeplearning approach to protein design: When combined with detailed physical models, AI can capture properties normally only accessible through large-scale simulations.....
We thank Luki Goldschmidt for computational support and also acknowledge the contributions of Rosetta@home volunteers.


Protein sequence design by conformational landscape optimization
ID: 100742 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Jim1348

Send message
Joined: 19 Jan 06
Posts: 881
Credit: 52,257,545
RAC: 0
Message 100743 - Posted: 15 Mar 2021, 18:05:44 UTC - in response to Message 100742.  

Here, we show that by backpropagating gradients through the transform-restrained Rosetta (trRosetta) structure prediction network from the desired structure to the input amino acid sequence, we can directly optimize over all possible amino acid sequences and all possible structures in a single calculation. We find that trRosetta calculations, which consider the full conformational landscape, can be more effective than Rosetta single-point energy estimations in predicting folding and stability of de novo designed proteins. We compare sequence design by conformational landscape optimization with the standard energy-based sequence design methodology in Rosetta and show that the former can result in energy landscapes with fewer alternative energy minima. We show further that more funneled energy landscapes can be designed by combining the strengths of the two approaches: the low-resolution trRosetta model serves to disfavor alternative states, and the high-resolution Rosetta model serves to create a deep energy minimum at the design target structure.

It looks very impressive, and seems to require both Rosetta and trRosetta.
So it looks like more work for us.
ID: 100743 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Falconet

Send message
Joined: 9 Mar 09
Posts: 353
Credit: 1,227,479
RAC: 1,013
Message 100746 - Posted: 15 Mar 2021, 23:48:26 UTC

Looks like the Hybrid TrRosetta/Rosetta approach works best.
Exciting stuff.
ID: 100746 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Profile dcdc

Send message
Joined: 3 Nov 05
Posts: 1831
Credit: 119,627,225
RAC: 10,243
Message 100753 - Posted: 16 Mar 2021, 23:11:41 UTC

Presumably trRosetta is the AI based on the techniques used by Deepmind's Alphafold, which also used Rosetta for fine tuning.

I'd love to hear how this is being our together and what the forecast looks like but I expect everyone is busy writing code and papers at the moment. One thing is interest is: how much of the work is ready to run on a GPU - is that just the classifier that runs initially and so can be done in house, or are there likely to be GPU tasks pushed out in the future? To be clear, my understanding is that the GPU work isn't for calculating the fold energies - it's for calculating the relationships between amino acid sequences based on the sequences known and stored in the available databases. The paper in Nature and Alphafold both mentioned relatively small amounts of GPU classifier work.
ID: 100753 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Profile Breno

Send message
Joined: 8 Apr 20
Posts: 30
Credit: 12,956,862
RAC: 7,384
Message 100754 - Posted: 16 Mar 2021, 23:32:18 UTC - in response to Message 100753.  

Hi there,

I suggested that Rosetta implemented GPU support for a next version in late 2020.
The answer I got (which I can't find right now) was that in order to grant GPU support, they would need to rebuild many things from scratch, which would pretty much consume the same amount of time as to create a new project.
Honestly, I really think it would be great for this project if they granted GPU support for next versions.
But, since manpower and research time are not as abundant as we think, they prioritize more pressing issues.
Until they develop this new feature, let's stay crunching strong!
ID: 100754 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
mikey
Avatar

Send message
Joined: 5 Jan 06
Posts: 1895
Credit: 9,169,305
RAC: 3,400
Message 100758 - Posted: 17 Mar 2021, 10:50:55 UTC - in response to Message 100754.  

Hi there,

I suggested that Rosetta implemented GPU support for a next version in late 2020.
The answer I got (which I can't find right now) was that in order to grant GPU support, they would need to rebuild many things from scratch, which would pretty much consume the same amount of time as to create a new project.
Honestly, I really think it would be great for this project if they granted GPU support for next versions.
But, since manpower and research time are not as abundant as we think, they prioritize more pressing issues.
Until they develop this new feature, let's stay crunching strong!


The problem isn't designing a gpu app it's in making it fast enough to make it worthwhile and right now the way Rosetta handles the data for each task won't work for how gpu memory works
ID: 100758 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Profile [VENETO] boboviz

Send message
Joined: 1 Dec 05
Posts: 1994
Credit: 9,623,704
RAC: 8,387
Message 100760 - Posted: 17 Mar 2021, 13:53:11 UTC - in response to Message 100753.  

To be clear, my understanding is that the GPU work isn't for calculating the fold energies - it's for calculating the relationships between amino acid sequences based on the sequences known and stored in the available databases. The paper in Nature and Alphafold both mentioned relatively small amounts of GPU classifier work.

Are you speaking of this?
From what i understand TrRosetta already runs on gpu...
ID: 100760 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Profile [VENETO] boboviz

Send message
Joined: 1 Dec 05
Posts: 1994
Credit: 9,623,704
RAC: 8,387
Message 100761 - Posted: 17 Mar 2021, 13:56:50 UTC - in response to Message 100754.  

The answer I got (which I can't find right now) was that in order to grant GPU support, they would need to rebuild many things from scratch, which would pretty much consume the same amount of time as to create a new project.
Honestly, I really think it would be great for this project if they granted GPU support for next versions.
But, since manpower and research time are not as abundant as we think, they prioritize more pressing issues.

The "couple" Rosetta-Gpu it's a looooong story. And i'm not so optimist.
Maybe cpu optimizations are easier to implement..


Until they develop this new feature, let's stay crunching strong!

For sure!
ID: 100761 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Profile dcdc

Send message
Joined: 3 Nov 05
Posts: 1831
Credit: 119,627,225
RAC: 10,243
Message 100780 - Posted: 20 Mar 2021, 20:03:36 UTC

trRosetta training does run on a GPU - it's what Alphafold did and it says so in the papers that the bakerlab have released, e.g. https://www.pnas.org/content/117/3/1496

In my previous post I meant I wasn't sure whether that training would be something that would be worth putting out on BOINC or whether it's easy to do once and then send out as a database or some kind of complied file.
ID: 100780 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Profile [VENETO] boboviz

Send message
Joined: 1 Dec 05
Posts: 1994
Credit: 9,623,704
RAC: 8,387
Message 100815 - Posted: 23 Mar 2021, 21:10:50 UTC
Last modified: 23 Mar 2021, 21:11:03 UTC

From rosetta dev (pushed revisions):
Allow the hb_cen_soft option to be set from code without relying on the global options system. This is a prerequisite for getting trRosetta into Rosetta (e.g. for use by Foldit).

ID: 100815 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Profile [VENETO] boboviz

Send message
Joined: 1 Dec 05
Posts: 1994
Credit: 9,623,704
RAC: 8,387
Message 100848 - Posted: 27 Mar 2021, 19:57:52 UTC

Revision 61601
Incremental merge 1 for trRosetta integration into Rosetta

This PR attempts to pull the basic trRosetta calculator functionality (the `trRosettaProtocolBase` and `trRosettaProtocol_v1` classes) into their own pull request, along with all the test files for this base functionality, while leaving the mover and constraint generator (and all of their tests) for a later pull request. It is intended to be merged before pull requests #5119 and #5309.

As a guide, the infrastructure in basic in this image is already in master. This PR adds the stuff in protocols.2. Subsequent PRs will add the stuff that's higher up.

![image](https://user-images.githubusercontent.com/4205776/112569688-08256000-8dbb-11eb-8cfc-2eb28fe9d3dc.png)

ID: 100848 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Profile [VENETO] boboviz

Send message
Joined: 1 Dec 05
Posts: 1994
Credit: 9,623,704
RAC: 8,387
Message 100855 - Posted: 28 Mar 2021, 18:04:33 UTC - in response to Message 100848.  

Revision 61604

Incremental merge 2 for putting trRosetta into Rosetta

This merge adds the trRosettaConstraintGenerator and all its associated test files. It must be merged prior to pull request #5119.

- [x] Pull request #5308 must be merged before this one.
- [x] Need to fix a few test failures.
- [x] Andy caught a bug: a3m files that contain a comment line that starts with an octothorp cause NaN errors. (And HHBlits produces a3m files with an initial comment line starting with an octothorp.)

As a guide, once PR #5308 is merged, the stuff in this diagram that's in protocols.2 or basic will be in master already. This PR adds the trRosettaConstraintGenerator. The trRosettaProtocolMover, the trRosetta application, and the modifications to the AbinitioRelax application will be in a subsequent PR.

ID: 100855 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Profile [VENETO] boboviz

Send message
Joined: 1 Dec 05
Posts: 1994
Credit: 9,623,704
RAC: 8,387
Message 100901 - Posted: 30 Mar 2021, 19:46:56 UTC - in response to Message 100855.  
Last modified: 30 Mar 2021, 19:47:43 UTC

61609
This is the third in a series of incremental merges to put trRosetta into Rosetta, to allow protocol development on top. This PR adds the trRosettaProtocolMover, a RosettaScripts and PyRosetta-scriptable mover that takes an MSA as input and produces a predicted structure pose as output (using the trRosettaConstraintGenerator and trRosettaProtocol, already merged into master, under the hood). The image below serves as a guide: everything below the trRosettaProtocolMover is already in master, this PR adds the trRosettaProtocolMover, and everything above it remains to be merged.

Although this PR changes 48 files, most of those are unit test files that were added. Note that for Tensorflow modules, the unit tests are implemented as part of our integration test suite (though they are pass-fail tests), since we have no unit test suite for the Tensorflow build.
[image](https://user-images.githubusercontent.com/4205776/112569688-08256000-8dbb-11eb-8cfc-2eb28fe9d3dc.png)


Can we have these protocols in Rosetta@Home? It will be great!!
ID: 100901 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Profile [VENETO] boboviz

Send message
Joined: 1 Dec 05
Posts: 1994
Credit: 9,623,704
RAC: 8,387
Message 100958 - Posted: 1 Apr 2021, 9:14:19 UTC - in response to Message 100901.  

Revision 61617

Put trRosetta into Rosetta to allow protocol development on top, and to provide access to Foldit

*Note: since incremental merges 1-3 are now merged (pull requests #5308, #5309, and #5314), this PR only adds the trRosetta application and puts an option in for the AbinitioRelax application to use trRosetta. Most of the files changed are unit test files (though they're in the integration test suite since we lack a dedicated unit test suite for the Tensorflow build.)*

This is something that we talked about a while back; apologies for only getting to it now. This PR aims to:

- [x] Add trRosetta to the Rosetta database. (Note: since the model is 91 MB, this has been added as a submodule that gets pulled automatically only if the `extras=tensorflow` or `extras=tensorflow_gpu` options are used). The trRosetta licence is the MIT licence, which is compatible with the Rosetta licence, and I've talked to Sergey, Ivan, and Jianyi to get their blessing for this.
- [x] Add hooks to the protocols layer for passing in the trRosetta inputs (sequences) and receiving back outputs (distance and angle constraints) as objects compatible with downstream Rosetta manipulation, tied in to the `RosettaTensorflowManager`.
- [x] Add a standard way of adding the constraints to a pose (a constraints generator).
- [x] CitationManager functions for constraints generator.
- [x] Add distance constraints.
- [x] Add phi constraints.
- [x] Add theta constraints.
- [x] Add omega constraints.
- [x] Options for adding each of these independently.
- [x] Options for controlling the probability cutoffs for distance, omega, phi, and theta constraints.
- [x] Documentation for options making it clear that "phi", "omega", etc. don't have their usual meanings, here.
- [x] Convert the Python minimization protocol to a Rosetta mover.
- [x] `parse_my_tag()` function.
- [x] `provide_xml_schema()` function.
- [x] `provide_citation_info()` function.
- [x] `apply()` function.
- [x] Fullatom refinement steps.
- [x] Compute RMSD to native.
- [x] Options for controlling the probability cutoffs for distance, omega, phi, and theta constraints.
- [x] Add settings for scorefunctions for the various stages:
- [x] Initialize from options system.
- [x] Initialize from XML.
- ~~Handle gapped FASTAs:~~ --> Put off to future PR, where I'll add residue selector support.
- ~~Check that the FASTA width _with_ gaps matches the MSA width.~~
- ~~Map constraints from MSA numbering to _ungapped_ FASTA numbering. (Need to set up a map for this.)~~
- [x] Add option of using trRosetta constraints in classic _ab initio_.
- [x] In fullatom phase as well.
- [x] Citations.
- [x] Documentation.
- [x] Add an app for running the trRosetta minimization protocol.
- [x] Suitable error if not compiled with `extras=tensorflow` or `extras=tensorflow_gpu`, with instructions for compilation. (Put code for writing the instructions in `basic::tensorflow_manager`.)
- [x] Fix compilation when `extras=tensorflow` is not used.
- [x] Check `tensorflow_gpu` performance. --> A quick test on my laptop shows about a fourfold speedup on the laptop GPU compared to the CPU.
- [x] Unit tests (pass/fail tests in `integration.tensorflow` suite).
- [x] Constraints generator.
- [x] Distance constraints.
- [x] Check error in distance constraints. It still seems higher than it should be. --> Little mistake fixed.
- [x] Phi constraints.
- [x] Theta constraints.
- [x] Omega constraints.
- [x] Integration tests:
- [x] RosettaScripts.
- [x] trRosettaProtocol mover.
- [x] Check why this does not output RMSD values. --> Fixed in pull request #5301.
- [x] Constraints generator.
- [x] trRosetta app.
- [x] With Ramachandran initialization.
- [x] With initialization by bins.
- [x] Classic ab initio app.
- [x] Make `hb_cen_soft` into an option that can be set from code/RosettaScripts.
- [x] Documentation --> RosettaCommons/documentation#44 adds documentation for the C++ trRosetta.
- [x] Beauty.

As a guide, here's what will ultimately be in master. The stuff in basic is already there. PR #5308 adds the stuff in protocols.2. PR #5309 adds the trRosettaConstraintGenerator. Once those are merged, the trRosettaProtocolMover, the trRosetta app, and the changes to AbinitioRelax are what remain.

![image](https://user-images.githubusercontent.com/4205776/112569688-08256000-8dbb-11eb-8cfc-2eb28fe9d3dc.png)

Before merging this:
- [x] Revert change to `.vscode/c_cpp_properties.json`.
- [x] Pull request #4606 must be merged.
- [x] Pull request #4855 must be merged.
- [x] Pull request #5224 must be merged.
- [x] Pull request #5225 must be merged.
- [x] Pull request #5301 must be merged.
- [x] Pull request #5236 must be merged.
- [x] Pull request #5308 must be merged. This is an incremental merge that cherry-picks the `trRosettaProtocolBase` and `trRosettaProtocol_v1` classes from this one, along with their associated tests.
- [x] Pull request #5309 must be merged. This is an incremental merge that cherry-picks the `trRosettaConstriantGenerator` class from this one, along with its associated tests.
- [x] Pull request #5314 must be merged. This is an incremental merge that cherry-picks the `trRosettaProtocolMover` from this PR, along with its tests.

Note:
- Pull request #5235 is an efficiency tweak that will benefit the stuff implemented in this PR, but it does not have to be merged before this PR.

![image](https://user-images.githubusercontent.com/4205776/101086651-2e5e9000-357f-11eb-880f-0f780f8f70b3.png)

ID: 100958 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Sid Celery

Send message
Joined: 11 Feb 08
Posts: 2125
Credit: 41,228,659
RAC: 9,701
Message 100973 - Posted: 1 Apr 2021, 12:54:41 UTC - in response to Message 100958.  

Thanks for these recent posts - very interesting.

But did you look at the last image? I've made it clickable

https://user-images.githubusercontent.com/4205776/101086651-2e5e9000-357f-11eb-880f-0f780f8f70b3.png

ID: 100973 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Falconet

Send message
Joined: 9 Mar 09
Posts: 353
Credit: 1,227,479
RAC: 1,013
Message 100974 - Posted: 1 Apr 2021, 12:56:09 UTC - in response to Message 100973.  

lol I had not seen that
ID: 100974 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Profile [VENETO] boboviz

Send message
Joined: 1 Dec 05
Posts: 1994
Credit: 9,623,704
RAC: 8,387
Message 100982 - Posted: 1 Apr 2021, 14:16:39 UTC - in response to Message 100973.  

But did you look at the last image? I've made it clickable
https://user-images.githubusercontent.com/4205776/101086651-2e5e9000-357f-11eb-880f-0f780f8f70b3.png


LOL!! :-))
Fantastic!

(BTW, the other images are much more serious!!)
ID: 100982 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Sid Celery

Send message
Joined: 11 Feb 08
Posts: 2125
Credit: 41,228,659
RAC: 9,701
Message 101046 - Posted: 4 Apr 2021, 0:54:16 UTC - in response to Message 100982.  

But did you look at the last image? I've made it clickable
https://user-images.githubusercontent.com/4205776/101086651-2e5e9000-357f-11eb-880f-0f780f8f70b3.png


LOL!! :-))
Fantastic!

(BTW, the other images are much more serious!!)

I looked at the other image too, but it's way over my head.
I trust that if they were happy, then I was happy.

The last one was much more my level. Now I'm happy too.
ID: 101046 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Profile [VENETO] boboviz

Send message
Joined: 1 Dec 05
Posts: 1994
Credit: 9,623,704
RAC: 8,387
Message 101926 - Posted: 26 May 2021, 9:01:18 UTC - in response to Message 101046.  

Seems that jobs on TrRosetta and Rosetta integration continue.
Let's hope to see these features, before or later, in R@Home!!
ID: 101926 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote

Message boards : Rosetta@home Science : Rosetta and TrRosetta



©2024 University of Washington
https://www.bakerlab.org