User & Developer Resources
The Rosetta Commons Tech Team has developed and curated a suite of resources to help researchers use and build robust, user-friendly scientific software. If you are looking for resources related to a specific Rosetta Commons tool, see the documentation associated with the tool’s GitHub repository.
Tool Tutorials And Training Videos
The Rosetta Commons YouTube channel contains recordings from previous events, tool tutorials, and conference talks. It’s an excellent resource for protein designers and developers alike.
Experimental and Simulated Molecular Datasets (HuggingFace)
Find a collection of Rosetta related datasets for training and evaluating molecular structure prediction and design methods in our Rosetta Data Bazaar collection and instructions on how to upload a dataset to HuggingFace. Our guide on data standards and curation can be found here, with a publication describing this guide and the current datasets coming soon.
Code Conventions & GitHub Tutorials
GitHub Workflows working with version control
This tutorial introduces the fundamentals of Git and version control, with a focus on how it’s used in Rosetta development.
Coding conventions:
- Python Coding Conventions in Rosetta (written guide)
- C++ Coding Conventions in Rosetta (written guide)
- Object Oriented Programming in C++ and Python (video lecture)
- PEP8 Style Guide for Python Code (written guide)
Software Engineering Best Practices
This resource goes through everything you need in your project to make a maintainable and reliable piece of software.
To aid in the collaboration between different groups creating ML models for protein design, we highly encourage developers to use the AtomWorks and Foundry command line interfaces in their projects. This will allow new tools to easily be added to the models included in Foundry, improving interoperability while making them easier for users to find and developers to contribute to.
Writing Documentation
We have created several resources that will help you write excellent user documentation for your protein design tools:
- Good Documentation Guides
These guides were written specifically with the developers in the Rosetta Commons community in mind. It includes Google Docs templates for the various documentation resources you would like to provide to the users of your protein design tools. - OMSF Documentation Template Repository
This repository has markdown and notebook templates you can use when crafting your documentation, the infrastructure for automatic API documentation in place, and much more. - OMSF Documentation Playbook
Part of the OMSF Playbooks Project, this playbook has information about the various resources that the users of your tool will thank you for including how to write a great README and how to make sure researchers know how to use your tool.
Getting Help: There are several ways to get help with Rosetta Commons:
- All Rosetta Commons-supported tools are on GitHub – so any software-specific questions can be asked by opening a GitHub Discussion in the relevant repository.
- Rosetta Commons members can also use Slack, where most tools have dedicated channels. The #how_do_i_do_x channel is especially useful for general questions.
- Use the Contact Form for general questions about Rosetta Commons, our events, or if you’re not sure where else to go.
Questions or comments? Please reach out to Hope Woods (Technical Product Lead) and Rachel Clune (Documentation Writer).
