Posts

October update from Future-of-Rosetta task force

Hello Rosetta community and friends of Rosetta,   We wanted to give you a brief monthly update about the things that are going on in the Rosetta community, especially with respect to the committees but also other things that are happening. If you'd like to join any of the committees, please get in touch with the respective chair. If you'd like to post anything to the November newsletter, please email Julia ( Julia.koehler.leman@gmail.com ).   Best, FoR   NSF POSE Award Phase I awarded The Future of Rosetta task force is pleased to report that we have been awarded an NSF Phase I Pathways to Enable Open-Source Ecosystems (POSE) award (PI: King, Co-PIs: Gray and Siegel)! There are two phases for POSE awards. Phase I provides $300,000 for 1 year to evaluate the feasibility of and develop a plan for migrating existing scientific software projects to open source. This aligns perfectly with the scoping and planning discussions we are having as a community right now. Phase II awards

Proposal for the Future of Rosetta

Dear friends, colleagues, and supporters of Rosetta: I’m sure you are all aware of the rapid changes in our field of biomolecular structure prediction and design. Our Rosetta community has grown tremendously; our impact is rapidly extending into industry, materials, and the clinic; and deep learning is supercharging progress into the future.  I’m thrilled to share with you today a Proposal for the Future of Rosetta and to invite you to discuss it at our upcoming Town Hall : Thurs. June 30 Noon EDT = 9 AM PDT = 6 PM Europe = Midnight China Zoom link is on the wiki Here’s the history : Over the last several virtual RosettaCons, we have discussed the transformations in our field in “Future of Rosetta” breakout discussions. Then this past fall, a group of Rosetta scientists suggested that we should seriously consider shifting to a “free and open-source software (FOSS)” model to better position Rosetta as the standard platform for biomolecular modeling for all time. The Developer TeleCon

Repacking the Community

 ~ Contributed by the JEDI Committee Summer RosettaCon JEDI Session: Repacking the community At Summer RosettaCon 2021, we did not host an invited talk on Justice, Equity, Diversity, and Inclusion as we’ve done in previous meetings. Instead we facilitated a community-centered conversation entitled: Repacking the Community: defining what a Just, Equitable, Diverse and Inclusive Rosetta community looks like and proposing how to get there . Our call to action encouraged all Rosetta Commons members to join us for a discussion structured for productivity to arrive at a shared vision . Herein we report on the outcomes of this session, and discuss the top community requests and how we’ve subsequently actioned around these calls with a new set of task forces within the JEDI group.  What we did First off, a brief description of the session to paint a picture that explains how we arrived at our conclusions. The session was an hour, we met over Zoom, no surprises there. Ashley presented sli

Streamlining the RosettaScripts Interface: RosettaScripts Type-hinting in VS Code

~  contributed by  Dr. Vikram Mulligan RosettaScripts Type-hinting in VS Code By Dr. Vikram Mulligan, Research Scientist, Flatiron Institute The RosettaScripts scripting language began as a loose XML-like language with informal syntax, with each Rosetta module defining its own XML interface.  This made it difficult to ensure that Rosetta could handle bad inputs correctly: often, typos or nonsensical inputs were simply ignored, and users were not alerted about problems in their scripts.  This was solved by formalizing the XML interface with an XML Schema Definition (XSD), a project led by Dr. Andrew Leaver-Fay a few years back.  We now require any Rosetta module with an XML interface to provide a machine-readable description of the XML interface, permitting automated checking of syntax, unused inputs, etc., and allowing informative error messages. Rosetta now automatically interrogates all of its own modules on startup and constructs a unified XSD for the entire RosettaScripts language.

Streamlining the RosettaScripts Interface: SimpleMetrics in protocols

~  contributed by Dr. Rocco Moretti SimpleMetrics in protocols By Dr. Rocco Moretti, Associate Professor, Meiler Lab, Vanderbilt SimpleMetrics are a flexible way to perform analysis on your structures. They are a much cleaner way of performing such an analysis when compared to the previous approach of commandeering the reporting functionality of RosettaScripts Filters. However, the initial implementation required that any SimpleMetric be accessed through the RunSimpleMetrics mover. This meant that using SimpleMetrics was sometimes more laborious than using an equivalent Filter, due to Filters being accessible directly from the PROTOCOLS section of the RosettaScripts XML. To make SimpleMetrics easier to use, a `metrics` attribute was added to the `Add` tags in the PROTOCOLS section. This way, adding a SimpleMetric report as a stage in the protocol is as easy as adding an additional Mover or Filter. One consideration in this implementation is how to determine the name under which the r

Streamlining the RosettaScripts Interface: Integrated Logic Selection and LogicSelector

~  contributed by Dr. Jared Adolf-Bryfogle and Frances Chu Integrated Logic Selection  By  Dr. Jared Adolf-Bryfogle, Principal Scientist, Protein Design Lab, Institute for Protein  Innovation RosettaScripts has progressed to become one of the main interfaces to the Rosetta Software Suite.  Within RosettaScripts, there are a number of different sections that enable customized protocols.  Two of the newest components are ResidueSelectors and SimpleMetrics .  ResidueSelectors allow one to select a group of residues based on some criteria, while SimpleMetrics allow one to output a variety of metrics for each molecule under consideration, with many of them being per-residue metrics. I introduced SimpleMetrics to make benchmarking and analysis tasks easier.  For simple tasks, a single ResidueSelector is usually sufficient, but for more real-world applications, one usually would need to define large logic strings to get at the residues of interest.  This would be accomplished by individual s