| Literature DB >> 23717507 |
Sergey Lyskov1, Fang-Chieh Chou, Shane Ó Conchúir, Bryan S Der, Kevin Drew, Daisuke Kuroda, Jianqing Xu, Brian D Weitzner, P Douglas Renfrew, Parin Sripakdeevong, Benjamin Borgo, James J Havranek, Brian Kuhlman, Tanja Kortemme, Richard Bonneau, Jeffrey J Gray, Rhiju Das.
Abstract
The Rosetta molecular modeling software package provides experimentally tested and rapidly evolving tools for the 3D structure prediction and high-resolution design of proteins, nucleic acids, and a growing number of non-natural polymers. Despite its free availability to academic users and improving documentation, use of Rosetta has largely remained confined to developers and their immediate collaborators due to the code's difficulty of use, the requirement for large computational resources, and the unavailability of servers for most of the Rosetta applications. Here, we present a unified web framework for Rosetta applications called ROSIE (Rosetta Online Server that Includes Everyone). ROSIE provides (a) a common user interface for Rosetta protocols, (b) a stable application programming interface for developers to add additional protocols, (c) a flexible back-end to allow leveraging of computer cluster resources shared by RosettaCommons member institutions, and (d) centralized administration by the RosettaCommons to ensure continuous maintenance. This paper describes the ROSIE server infrastructure, a step-by-step 'serverification' protocol for use by Rosetta developers, and the deployment of the first nine ROSIE applications by six separate developer teams: Docking, RNA de novo, ERRASER, Antibody, Sequence Tolerance, Supercharge, Beta peptide design, NCBB design, and VIP redesign. As illustrated by the number and diversity of these applications, ROSIE offers a general and speedy paradigm for serverification of Rosetta applications that incurs negligible cost to developers and lowers barriers to Rosetta use for the broader biological community. ROSIE is available at http://rosie.rosettacommons.org.Entities:
Mesh:
Year: 2013 PMID: 23717507 PMCID: PMC3661552 DOI: 10.1371/journal.pone.0063906
Source DB: PubMed Journal: PLoS One ISSN: 1932-6203 Impact factor: 3.240
Public Rosetta servers available prior to current work, in chronological order of development.
| Application | Server | Year | Jobs | Developer | Status | References |
|
| Robetta.org | 2004 | 34000 |
| 7-day queue |
|
|
| rosettadesign.med.unc.edu | 2006 | 17022 |
| 1 day queue |
|
|
| antibody.graylab.jhu.edu | 2007 | 2437 |
| Offline |
|
|
| rosettadock.graylab.jhu.edu | 2007 | 10000 |
| 3–7 day queue |
|
|
| funhunt.furmanlab.cs.huji.ac.il | 2008 | 173 |
| 1 day queue |
|
|
| flexpepdock.furmanlab.cs.huji.ac.il | 2010 | 5000 |
| 1 day queue |
|
|
| kortemmelab.ucsf.edu/backrub | 2010 | 4,300 |
| 1 day queue |
|
Figure 1Schematic of a typical server for molecular modeling.
Figure 2Schematic of ROSIE (Rosetta Online Server that Includes Everyone), which permits a number of front-ends for job submission by users, a number of servers (stored in a unified database), and a number of backends to allow expansion of computational resources.
Figure 3Examples of re-usable features and widgets shared across ROSIE servers.
(a) Global job queue page, which can be filtered by specific application (e.g., docking). (b) Self-registration (not required). (c) Coordinate file uploader using Protein Databank format, (d) Automatic visualization of uploaded coordinate file, (e) Score vs. root mean squared deviation plotting widget, (f) Automatic rendering of final models, which can be customized by developer for specific applications (in this case, RNA de novo modeling).
Applications made available via the Rosetta Online Server Including Everyone (ROSIE), in chronological order of development.
| ROSIE Application | Date | Jobs | Developer | Status | References |
|
| Mar 2012 | 1069 |
| Public |
|
|
| Mar 2012 | 191 |
| Public |
|
|
| Oct 2012 | 9 |
| Public |
|
|
| Nov 2012 | 5 |
| Public |
|
|
| Nov 2012 | 71 |
| Public |
|
|
| Dec 2012 | 14 |
| Public |
|
|
| Mar 2013 | 78 |
| Public |
|
|
| Mar 2013 | - |
| Public |
|
|
| 2013 | - |
| Testing |
|
|
| 2013 |
| In preparation |
| |
|
| 2013 |
| In preparation |
| |
|
| 2013 |
| In preparation |
| |
|
| 2013 |
| In preparation |
|
Files required for app implementation and their role.
| Path | Role |
| controllers/root.py | Front-end: Main code that handles common tasks for all protocols such as queue and file viewing, user registration, jobs management. |
| rosie.front/rosie/templates/index.html | HTML template for server home page |
| rosie.front/rosie/lib/validators/ | Front-end: Sanitizes and validates user inputs. |
| rosie.front/rosie/websetup/bootstrap.py | Bootstraps the database. |
| rosie.front/rosie/controllers/XXX.py | Front-end: Server-side app logic. |
| rosie.front/rosie/templates/XXX/index.html | HTML template for home page of your protocol |
| rosie.front/rosie/templates/XXX/submit.html | HTML template for submit page of your protocol |
| rosie.front/rosie/templates/XXX/viewjob.html | HTML template for viewjob page of your protocol |
| rosie.back/protocols/XXX/submit.py | Back-end: app script for pre-process steps (if any) and generation of HPC job descriptions. |
| rosie.back/protocols/XXX/analyze.py | Back-end: app script for post-processing steps. Called after HPC jobs complete. Handles any computational heavy post-processing of job results before display to user. |
| rosie.back/rosie-daemon.iniand rosie.back/rosie-daemon.ini.template | Back-end: Configuration script for back-daemon. Specify general daemon settings as well as location of executable and supplemental files for various apps. |