Evaluation of Web Application Frameworks Evaluation of Web Application Frameworks with Regards to Rapid Development

Total Page:16

File Type:pdf, Size:1020Kb

Evaluation of Web Application Frameworks Evaluation of Web Application Frameworks with Regards to Rapid Development Evaluation of web application frameworks Evaluation of web application frameworks with regards to rapid development. Master of Science Thesis in Software Engineering and Technology MARTIN BJÖREMO PREDRAG TRNINIĆ Chalmers University of Technology University of Gothenburg Department of Computer Science and Engineering Göteborg, Sweden, June 2010 The Author grants to Chalmers University of Technology and University of Gothenburg the non-exclusive right to publish the Work electronically and in a non-commercial purpose make it accessible on the Internet. The Author warrants that he/she is the author to the Work, and warrants that the Work does not contain text, pictures or other material that violates copyright law. The Author shall, when transferring the rights of the Work to a third party (for example a publisher or a company), acknowledge the third party about this agreement. If the Author has signed a copyright agreement with a third party regarding the Work, the Author warrants hereby that he/she has obtained any necessary permission from this third party to let Chalmers University of Technology and University of Gothenburg store the Work electronically and make it accessible on the Internet. Evaluation of web application frameworks Evaluation of web applications frameworks with regards to rapid development MARTIN BJÖREMO PREDRAG TRNINIĆ © MARTIN BJÖREMO, June 2010. © PREDRAG TRNINIĆ, June 2010. Examiner: SVEN-ARNE ANDREASSON Chalmers University of Technology University of Gothenburg Department of Computer Science and Engineering SE-412 96 Göteborg Sweden Telephone + 46 (0)31-772 1000 [Cover: Logos of frameworks evaluated in this report, from upper left to right; Ruby on Rails, Wicket, CakePHP, Stripes, Grails, Spring Roo.] Department of Computer Science and Engineering Göteborg, Sweden July 2010 Abstract This report focuses on evaluating several web application frameworks for use in rapid development. As there is a need for the possibility to deploy new applications in a short period of time there is also a need for a framework, which facilitates those demands. Creating an application from scratch would most likely be too time consuming and not very rapid. Thus the report will look closer at some of the application frameworks (CakePHP, Grails, Ruby on Rails, Stripes, Spring Roo and Wicket) to see what they have to offer and how they do it. The frameworks are evaluated based on six criteria (documentation and learning, convention over configuration, integrated development environment, internationalization (localization), user data input validation and testing) and one promising is chosen to be used to implement a web application. The conclusions of this evaluation are that there is no superior framework and one should not learn a new programming language just for using a recommended web framework. And also, one should choose framework wisely based on the size of one’s application and the scope of the application. Sammanfattning Denna rapport fokuserar på utvärdering av ett antal webbramverk för användning i snabb utveckling. Eftersom det finns ett behov av att kunna distribuera nya applikationer på kort tid finns det också ett behov av ramverk som underlättar detta krav. Skapa en webbapplikation från början skulle sannolikt bli alltför tidskrävande och inte särskilt snabb. Således kommer rapporten att se närmare på några av webbramverken som finns (CakePHP, Grails, Ruby on Rails, till Stripes, Spring Roo och Wicket) och se vad de har att erbjuda och hur de löser vissa tidskrävande uppgifter det. Ramverken bedöms utifrån sex kriterier (dokumentation och lärande, konvent över konfigurationen, integrerad utvecklingsmiljö, internationalisering (lokalisering), kontroll och validering av indata från användare) och ett lovande ramverk väljs ut för att användas för att skapa en webbapplikation. Slutsatserna i denna utvärdering är att det inte finns ett överlägset ramverk och man bör inte lära sig ett nytt programmeringsspråk bara för att använda en rekommenderat webbramverk. Dessutom bör man välja webbramverk noga baserat på storleken av ens webbapplikation och omfattningen av webbapplikationen. Acknowledgements This master’s thesis report has been written as the final part of the Master’s program Software Engineering and Technology at Chalmers University of Technology, Sweden 2010. The subject was chosen in cooperation with Logica in Gothenburg, where the thesis also has been performed. The writers of this report would like to thank their supervisor at Logica, Jesper Forslund, and at Chalmers, Sven-Arne Andreasson, for their support during this project. Martin Björemo Predrag Trninić Gothenburg, Sweden June 2010 Table of Contents 1. Introduction ....................................................................................................................... 1 1.2. About Logica ......................................................................................................................... 1 2. Background ........................................................................................................................ 2 2.1. What is a web framework? ................................................................................................... 2 2.2. Framework vs. libraries ......................................................................................................... 3 2.3. Degrees of activeness web frameworks ............................................................................... 4 2.4. Advantages of using a framework ......................................................................................... 4 2.5. Disadvantage of using a framework ...................................................................................... 5 2.6. Who should use a framework? ............................................................................................. 5 2.7. Rapid development ............................................................................................................... 6 3. Problem ............................................................................................................................. 7 3.1. Purpose .................................................................................................................................. 7 3.2. Scope ..................................................................................................................................... 7 4. Method .............................................................................................................................. 8 4.1. Investigation .......................................................................................................................... 8 4.2. Evaluation .............................................................................................................................. 8 4.3. Implementation ..................................................................................................................... 9 5. Evaluation Criteria ............................................................................................................ 10 5.1. Documentation and Learning .............................................................................................. 10 5.2. Convention over Configuration ........................................................................................... 10 5.3. Integrated Development Environment ............................................................................... 11 5.4. Internationalization (Localization) ...................................................................................... 11 5.5. Validation ............................................................................................................................ 11 5.6. Testing ................................................................................................................................. 11 5.7. Additional Criteria ............................................................................................................... 11 6. The Frameworks ............................................................................................................... 13 6.1. CakePHP .............................................................................................................................. 13 6.2. Grails .................................................................................................................................... 13 6.3. Ruby on Rails ....................................................................................................................... 13 6.4. Stripes .................................................................................................................................. 13 6.5. Spring Roo ........................................................................................................................... 13 6.6. Wicket .................................................................................................................................. 14 6.7. Other Frameworks .............................................................................................................. 14 7. Results .............................................................................................................................. 15 7.1. Documentation and Learning .............................................................................................. 15 7.1.1. CakePHP ......................................................................................................................
Recommended publications
  • Pragmatic Guide to Javascript
    www.allitebooks.com What Readers Are Saying About Pragmatic Guide to J a v a S c r i p t I wish I had o w n e d this book when I first started out doing JavaScript! Prag- matic Guide to J a v a S c r i p t will take you a big step ahead in programming real-world JavaScript by showing you what is going on behind the scenes in popular JavaScript libraries and giving you no-nonsense advice and back- ground information on how to do the right thing. W i t h the condensed years of e x p e r i e n c e of one of the best JavaScript developers around, it’s a must- read with great reference to e v e r y d a y JavaScript tasks. Thomas Fuchs Creator of the script.aculo.us framework An impressive collection of v e r y practical tips and tricks for getting the most out of JavaScript in today’s browsers, with topics ranging from fundamen- tals such as form v a l i d a t i o n and JSON handling to application e x a m p l e s such as mashups and geolocation. I highly recommend this book for anyone wanting to be more productive with JavaScript in their web applications. Dylan Schiemann CEO at SitePen, cofounder of the Dojo T o o l k i t There are a number of JavaScript books on the market today, b u t most of them tend to focus on the new or inexperienced JavaScript programmer.
    [Show full text]
  • Jquery: Novice to Ninja
    SECOND Pantone: EDITION CMYK: JQUERYGrey scale PANTONE Orange 021 C PANTONE 2955 C NOVICE TO NCMYK IO, 53, N100, 0 JCMYKA 100, 45, 0, 37 NEW KICKS ANDBlack 50% TRICKSBlack 100% BY EARLE CASTLEDINE & CRAIG SHARKIE SIMPLE, FAST, POWERFUL — JAVASCRIPT THE WAY IT SHOULD BE Summary of Contents Preface . xvii 1. Falling in Love with jQuery . 1 2. Selecting, Decorating, and Enhancing . 19 3. Animating, Scrolling, and Resizing . 53 4. Images and Slideshows . 93 5. Menus, Tabs, Tooltips, and Panels . 139 6. Construction, Ajax, and Interactivity . 187 7. Forms, Controls, and Dialogs . 239 8. Lists, Trees, and Tables . 305 9. Plugins, Themes, and Advanced Topics . 347 A. Reference Material . 409 B. JavaScript Tidbits . 419 C. Plugin Helpers . 425 Index . 431 JQUERY: NOVICE TO NINJA BY EARLE CASTLEDINE & CRAIG SHARKIE wnload from Wow! eBook <www.wowebook.com> o D iv jQuery: Novice to Ninja by Earle Castledine and Craig Sharkie Copyright © 2012 SitePoint Pty. Ltd. Product Manager: Simon Mackie Assistant Technical Editor: Diana MacDonald Technical Editor: Tom Museth Indexer: Michele Combes Expert Reviewer: Jörn Zaefferer Cover Designer: Alex Walker Editor: Kelly Steele Printing History: Latest Update: February 2012 First Edition: February 2010 Second Edition: February 2012 Notice of Rights All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means without the prior written permission of the publisher, except in the case of brief quotations included in critical articles or reviews. Notice of Liability The authors and publisher have made every effort to ensure the accuracy of the information herein.
    [Show full text]
  • The Definitive Guide to Grails
    apress.com Graeme Rocher, Jeff Scott Brown The Definitive Guide to Grails This will be the first and only definitive book on the agile open source lightweight Grails (“Groovy on Rails” analogous to Ruby on Rails) Framework 1.0 release Written by the open source Grails project founder and lead, Graeme Rocher Emerging growth area with support from key open source lightweight projects like Spring, Hibernate, Wicket and more The rise of Ruby on Rails has signified a huge shift in how we build web applications today; it is a fantastic framework with a growing community. There is, however, space for another such framework that integrates seamlessly with Java. Thousands of companies have invested in Java, and these same companies are losing out on the benefits of a Rails–like framework. Enter Grails. Grails is not just a Rails clone. It aims to provide a Rails–like environment that is more familiar to Java developers and employs idioms that Java developers are comfortable 2nd ed., 648 p. using, making the adjustment in mentality to a dynamic framework less of a jump. The concepts within Grails, like interceptors, tag libs, and Groovy Server Pages (GSP), make those in Printed book the Java community feel right at home. Grails' foundation is on solid open source technologies Softcover such as Spring, Hibernate, and SiteMesh, which gives it even more potential in the Java space: 39,99 € | £36.99 | $46.99 Spring provides powerful inversion of control and MVC, Hibernate brings a stable, mature object [1]42,79 € (D) | 43,99 € (A) | CHF relational mapping technology with the ability to integrate with legacy systems, and SiteMesh 53,55 handles flexible layout control and page decoration.
    [Show full text]
  • A Bad Case of Stripes
    A Bad Case of Stripes A Bad Case of Stripes Author: David Shannon Publisher: Scholastic Paperbacks (2004) Binding: Paperback, 32 pages Item Call Number: E SHANN Camilla Cream loves lima beans, but she never eats them. Why? Because the other kids in her school don't like them. And Camilla is very, very worried about what other people think of her. In fact, she’s so worried that she's about to break out in a bad case of stripes! Questions to talk about with your child: Why did Camilla break out in stripes (and other patterns?) What did you notice about the patterns that break out on Camilla? Do they have anything to do with what’s happening around her? Look at each of the pictures. Was there anything about Camilla that stayed the same each time she changed? What made Camilla finally turn back into herself? Did Camilla learn anything from having a bad case of stripes? Look at the last page. Was there anything different about the way Camilla looks? Fun things to do together: David Shannon always hides a picture of his white terrier Fergus somewhere in each of his books. Look for the picture of Fergus in this book. Camilla loves lima beans. Have lima beans for lunch or dinner one day. Draw a picture of yourself with stripes, polka dots or some other pattern. Check out a book about patterns, for example, Pattern Bugs by Trudi Harris or Patterns at the Museum by Tracey Steffora. Recognizing and completing simple patterns is an important kindergarten readiness skill.
    [Show full text]
  • Pragmatic Bookshelf Groovy Recipes.Pdf
    What readers are saying about Groovy Recipes This is the go-to guide for turning Groovy into every Java developer’s perfect utility knife. Whether you need to quickly parse an Atom feed, serve up an Excel spreadsheet from your Grails app, or create a tar- ball on the fly, this book will show you how. In true Groovy style, Scott does away with all unnecessary ceremony and gets right down to business. In almost every section, the very first thing you see is code— the recipe for solving the problem at hand—and if you want to stick around for the clear and informative explanation, well, that’s strictly optional. Jason Rudolph Author, Getting Started with Grails Groovy Recipes is the book that I want to have in reach whenever I work in my Groovy bakery. Nothing gets you faster up to speed than having well-thought-out recipes for your everyday tasks. Dierk König Canoo Engineering AG The format of this book is ideal for rapidly obtaining crucial informa- tion just when you need it. An agile text for agile development! Joe McTee Software Engineer, JEKLsoft Groovy is on my radar as one of the next big things in Java, and this book gets you up to speed quickly with lots of great code examples. David Geary Author, Clarity Training, Inc. Scott does a fantastic job of presenting many little nuggets of “groovi- ness” here in a way that is easy to read and follow. There is plenty here for Groovy newcomers and veterans alike. Thanks, Scott! Jeff Brown Member of the Groovy and Grails Core Development Teams Adding Groovy to Java is like adding rocket fuel to your SUV.
    [Show full text]
  • 2Nd USENIX Conference on Web Application Development (Webapps ’11)
    conference proceedings Proceedings of the 2nd USENIX Conference Application on Web Development 2nd USENIX Conference on Web Application Development (WebApps ’11) Portland, OR, USA Portland, OR, USA June 15–16, 2011 Sponsored by June 15–16, 2011 © 2011 by The USENIX Association All Rights Reserved This volume is published as a collective work. Rights to individual papers remain with the author or the author’s employer. Permission is granted for the noncommercial reproduction of the complete work for educational or research purposes. Permission is granted to print, primarily for one person’s exclusive use, a single copy of these Proceedings. USENIX acknowledges all trademarks herein. ISBN 978-931971-86-7 USENIX Association Proceedings of the 2nd USENIX Conference on Web Application Development June 15–16, 2011 Portland, OR, USA Conference Organizers Program Chair Armando Fox, University of California, Berkeley Program Committee Adam Barth, Google Inc. Abdur Chowdhury, Twitter Jon Howell, Microsoft Research Collin Jackson, Carnegie Mellon University Bobby Johnson, Facebook Emre Kıcıman, Microsoft Research Michael E. Maximilien, IBM Research Owen O’Malley, Yahoo! Research John Ousterhout, Stanford University Swami Sivasubramanian, Amazon Web Services Geoffrey M. Voelker, University of California, San Diego Nickolai Zeldovich, Massachusetts Institute of Technology The USENIX Association Staff WebApps ’11: 2nd USENIX Conference on Web Application Development June 15–16, 2011 Portland, OR, USA Message from the Program Chair . v Wednesday, June 15 10:30–Noon GuardRails: A Data-Centric Web Application Security Framework . 1 Jonathan Burket, Patrick Mutchler, Michael Weaver, Muzzammil Zaveri, and David Evans, University of Virginia PHP Aspis: Using Partial Taint Tracking to Protect Against Injection Attacks .
    [Show full text]
  • Preparing for Banner Powered by Ellucian XE
    Preparing for Banner powered by Ellucian XE Mark Hoye, Services Portfolio Consultant Ellucian September 25, 2015 Introduction • This session is about moving forward with Banner powered by Ellucian XE. • It explains Ellucian XE, how it adds value to your investment in Banner, and how you can take advantage of its power today. © 2015 ELLUCIAN. ALL RIGHTS RSERVED Agenda 1 Ellucian XE 2 Banner powered by Ellucian XE 3 Preparing for Banner powered by Ellucian XE 4 Summary and Questions © 2015 ELLUCIAN. ALL RIGHTS RSERVED Ellucian XE Ellucian: Future-proof Technology Evolutionary approach Extensible ecosystem strategy Global and mobile-first technology strategy Published roadmaps and product plans Investment in our products and our processes protects our customers’ investments © 2015 ELLUCIAN. ALL RIGHTS RSERVED The XE Strategy and Design Principles Mobile Self-Service Admin UI Cloud XE Design Principles Usability Features/Func7on Cloud Readiness/Scalability Configuraon over Customizaon Extensibility APIs/Integraon Single Global Product © 2015 ELLUCIAN. ALL RIGHTS RSERVED Banner powered by Ellucian XE Applications Leveraging XE Strategy Banner Applications Integrated Applications • Catalog & Schedule • Ellucian eTranscripts • Faculty Grade Entry • Ellucian Mobile • Attendance Tracking • Ellucian Elevate • Event Management • Ellucian Pilot (Student Success) • Advising Student Profile • Ellucian Portal for Banner • Student Registration • Intelligent Learning Platform (ILP) • Employee Profile • APIs (Services) • Academic history • Student • Communication Management © 2015 ELLUCIAN. ALL RIGHTS RSERVED ReSTful services and the Higher Education Data Model • Expose “Resources” - important concepts and objects • Each resource is uniquely Resources (Nouns) “addressable” • Provide “representations” of those resources Verbs • Provide a consistent interface (Get, Post, Put, Delete) based upon standard HTTP methods • Interaction with the API is stateless Output (XML, JSON) © 2015 ELLUCIAN.
    [Show full text]
  • Oralcard: Web Information System for Oral Health
    Universidade de Aveiro Departamento de Electrónica, Telecomunicações e 2011 Informática José Manuel OralCard: Sistema de Informação Web para a Saúde Santos Melo Oral OralCard: Web Information System for Oral Health Universidade de Aveiro Departamento de Electrónica, Telecomunicações e 2011 Informática José Manuel OralCard: Web Information System for Oral Health Santos Melo OralCard: Sistema de Informação Web para a Saúde Oral Dissertação apresentada à Universidade de Aveiro para cumprimento dos requisitos necessários à obtenção do grau de Mestre em Engenharia de Computadores e Telemática (M.I.E.C.T.), realizada sob a orientação científica do Professor Doutor José Luís Guimarães Oliveira, Professor Associado do Departamento de Electrónica, Telecomunicações e Informática da Universidade de Aveiro. Dedico este trabalho à minha família. o júri presidente Professor Doutor Armando José Formoso de Pinho Professor Associado com Agregação do Departamento de Electrónica, Telecomunicações e Informática da Universidade de Aveiro vogais Professor Doutor António Manuel de Jesus Pereira Professor Coordenador do Departamento de Engenharia Informática da Escola Superior de Tecnologia e Gestão do Instituto Politécnico de Leiria Professor Doutor José Luís Guimarães Oliveira Professor Associado do Departamento de Electrónica, Telecomunicações e Informática da Universidade de Aveiro agradecimentos Um obrigado especial ao Professor José Luís Oliveira pela minha integração no grupo de trabalho de Bioinformática, no Instituto de Engenharia Electrónica e Telemática de Aveiro (IEETA). Um obrigado especial ao Pedro Lopes e ao Joel P. Arrais, que me ajudaram com grande dedicação no desenvolvimento deste trabalho. Um obrigado ao Nuno Rosa pela ajuda na parte biológica e científica do trabalho. Este projecto não estaria concluído sem reconhecer a ajuda prestada pelos meus pais e irmãs, não só na dissertação como em todo o percurso académico na Universidade de Aveiro.
    [Show full text]
  • The Definitive Guide to Grails
    G. Rocher, J.S. Brown The Definitive Guide to Grails ▶ This will be the first and only definitive book on the agile open source lightweight Grails (“Groovy on Rails” analogous to Ruby on Rails) Framework 1.0 release ▶ Written by the open source Grails project founder and lead, Graeme Rocher ▶ Emerging growth area with support from key open source lightweight projects like Spring, Hibernate, Wicket and more The rise of Ruby on Rails has signified a huge shift in how we build web applications today; it is a fantastic framework with a growing community. There is, however, space for another such framework that integrates seamlessly with Java. Thousands of companies have invested in Java, and these same companies are losing out on the benefits of a Rails– 2nd ed., 648 p. like framework. Enter Grails. A product of Apress Grails is not just a Rails clone. It aims to provide a Rails–like environment that is more familiar to Java developers and employs idioms that Java developers are comfortable Printed book using, making the adjustment in mentality to a dynamic framework less of a jump. The concepts within Grails, like interceptors, tag libs, and Groovy Server Pages (GSP), make Softcover those in the Java community feel right at home. ▶ 39,99 € | £36.99 | $46.99 ▶ *42,79 € (D) | 43,99 € (A) | CHF 53.55 Grails' foundation is on solid open source technologies such as Spring, Hibernate, and SiteMesh, which gives it even more potential in the Java space: Spring provides powerful eBook inversion of control and MVC, Hibernate brings a stable, mature object relational mapping technology with the ability to integrate with legacy systems, and SiteMesh handles Available from your bookstore or flexible layout control and page decoration.
    [Show full text]
  • Learning of Web Application Frameworks Based on Concerns, Micro-Learning and Examples
    Learning of Web Application Frameworks based on Concerns, Micro-Learning and Examples Daniel Correa Botero Universidad Nacional de Colombia Facultad de minas, Departamento de ciencias de la computación y la decisión Medellín, Colombia 2014 Learning of Web Application Frameworks based on Concerns, Micro-Learning and Examples Daniel Correa Botero Submitted in partial fulfillment of the requirements for the degree of: Magister en Ingeniería de sistemas Thesis Director: Ph.D. Fernando Arango Isaza Research Area: Software Framework Understanding Research Group: Grupo de ingeniería de software Universidad Nacional de Colombia Facultad de minas, Departamento de ciencias de la computación y la decisión Medellín, Colombia 2014 …To my mother, Mercedes …To my future wife, Juliana Acknowledgments This master thesis would not have been possible without the support of many people. Many thanks to my thesis director, Ph.D. Fernando Arango Isaza, who spent a lot of time: making revisions, creating ideas and helping me with this project. Many thanks to Ph.D. Carlos Mario Jaramillo Zapata, who gave us excellent support: helping us to translate some papers and giving us ideas and corrections. Many thanks to Ph.D. Gloria Lucia Giraldo, who gave us support and allowed creating some experiments with her students. Thanks to Ph.D. Carlos Jaime Franco, who gave us support during the entire project to present some ideas in other countries. Thanks to Above & Beyond and BT your music is a wonderful source of inspiration. Thanks to Sebastián Gomez my friend who give me support. Thanks to Universidad Nacional de Colombia and Colciencias which provided me with the financial means to complete this project and made possible to present some chapters of this project in some conferences around the world.
    [Show full text]
  • Evaluating Presentation Layer Development Frameworks for EJB Applications in J2EE Architecture
    International Conference on Computer Science and Information Technology (ICCSIT'2011) Pattaya Dec. 2011 Evaluating Presentation Layer Development Frameworks for EJB Applications in J2EE Architecture Ohm Samkoses, Dipl. -Inform. Matthias Vianden, Prof. Dr. rer. nat. Horst Lichter gathering and analysis, multiple rounds of frameworks Abstract—For medium to large organizations, information selection with different criteria, prototype implementations, systems play an important role for information storage and retrieval. and results evaluation. The chosen frameworks for prototype They are used to support business processes such as decision-making. development should fulfill most of the requirement and the In information systems, huge amountof data needs to be manipulated prototypes implementation should reflect the solution for each and visualized. One way to handle this complexity is to use Enterprise JavaBeans (EJB) [1] in a J2EE architecture. Since EJB has requirement clearly, and must be able to work with the not been designed to work in the Presentation Layer, suitable existing system's environment: the back-end is managed by Presentation Layer Development frameworks are introduced to EJB 3.0, and IBM Websphere Application Server 7.0. enhanced thepresentation layer of the information systems. The MeDIC (Metric Definition Integration Calculation) system and XAM II. TASKS / STEPS (eXam Assignment and Management) system [2] are typical representatives of such information system. A. First frameworks selection Nowadays, many frameworks, such as Java Server Faces (JSF), First step was to narrow-down the scope of the focused Wicket, and Tapestry, exist to cover the Presentation Layer. They framework based mainly on framework popularity. Other provide a variety of features and architecture enhancements.
    [Show full text]
  • Automated Classification of RNA 3D Motifs and the RNA 3D Motif Atlas
    Downloaded from rnajournal.cshlp.org on October 8, 2021 - Published by Cold Spring Harbor Laboratory Press BIOINFORMATICS Automated classification of RNA 3D motifs and the RNA 3D Motif Atlas ANTON I. PETROV,1 CRAIG L. ZIRBEL,2 and NEOCLES B. LEONTIS1,3 1Department of Chemistry, 2Department of Mathematics and Statistics, Bowling Green State University, Bowling Green, Ohio 43403, USA ABSTRACT The analysis of atomic-resolution RNA three-dimensional (3D) structures reveals that many internal and hairpin loops are modular, recurrent, and structured by conserved non-Watson–Crick base pairs. Structurally similar loops define RNA 3D motifs that are conserved in homologous RNA molecules, but can also occur at nonhomologous sites in diverse RNAs, and which often vary in sequence. To further our understanding of RNA motif structure and sequence variability and to provide a useful resource for structure modeling and prediction, we present a new method for automated classification of internal and hairpin loop RNA 3D motifs and a new online database called the RNA 3D Motif Atlas. To classify the motif instances, a representative set of internal and hairpin loops is automatically extracted from a nonredundant list of RNA-containing PDB files. Their structures are compared geometrically, all-against-all, using the FR3D program suite. The loops are clustered into motif groups, taking into account geometric similarity and structural annotations and making allowance for a variable number of bulged bases. The automated procedure that we have implemented identifies all hairpin and internal loop motifs previously described in the literature. All motif instances and motif groups are assigned unique and stable identifiers and are made available in the RNA 3D Motif Atlas (http://rna.bgsu.edu/motifs), which is automatically updated every four weeks.
    [Show full text]