mx & dbs

774
-1

Published on

For Biodiversity Informatics workshop in Stockholm, Friday September 13. Describing some of the tools in the mx system for mx; a collaborative web-based content management system for evolutionary systematists, particularly those working on descriptive taxonomy.

Yoder, M.J., Dole, K., Seltmann, K., and Deans, A. 2006-Present. Mx, a collaborative web based
content management for biological systematists.

Published in: Technology, Sports
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
774
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Add diagram suggesting how if generalized then must remove restrictions and the expertise in the system decreases. Design for the intended audience is most important factor. ‘Expert systems’ will never be completely simple, thus they must be carefully tailored to the particular expert. One system for all may not be the solution.Suggesting that a bottom up approach, many small individualized initiatives are beneficial. Mx moving away from show pages => workbench => import and export data
  • General MX introduction:93 tablesRequire identifiers on specimens. Specimen information makes data repeatable, thus pushing for images, keys, characters to be attached to specimen information. More specific.Local host here::127
  • Mostly matt responsible, although gaining ground as SF project with others involved. Francois, Fail, Myself, (2 others?)
  • General MX introduction:93 tablesRequire identifiers on specimens. Specimen information makes data repeatable, thus pushing for images, keys, characters to be attached to specimen information. More specific.Local host here::127
  • Come common database activities rails makes easier. Show detail of mx database and explain how it is a product of rails as a programming philosophy
  • Really I only have experience with relational databases, with a bit of experience using xml as a text db. Searching solutions? Problems with Treehopper. Versioning and the scamit solution. Emphasis on experimentation and creativity to solve problems. Not suggesting that these are the ‘right’ answer.
  • Simple newick trees
  • The problem: Need a way to propose changes, track changes from version to version and to roll back if necessaryEach table has a ghost table these start as a perfect mirror of the species table and add rows for any edit proposed to the species table. If an edit is accepted than it moves to the species table.When a version of the species list is made ‘official’ it is exported in html version, pdf and soon XML (soon as we can figure out what format to follow). Easy to do this using Rails.
  • mx & dbs

    1. 1. mx & dbs<br />Katja Seltmann (katja_seltmann@ncsu.edu)<br />mx (http://hymenoptera.tamu.edu/wiki)<br />
    2. 2. Wiki:<br />(http://hymenoptera.tamu.edu/wiki/)<br />Acknowledgments<br />Funding:<br />The following sources of funding have directly or indirectly supported the development of mx, or have used mx to manage data: <br /><ul><li> NSF Advances in Biological Informatics (DBI-0850223)
    3. 3. Morphbank (NSF DBI-0446224)
    4. 4. National Evolutionary Synthesis Center (NESCent) (NSF EF-0423641)
    5. 5. PEET: Monographic research on parasitic Hymenoptera (NSF DEB-0328922)
    6. 6. Nescent DB Hackathon Workshop (Matt Yoder & K. Seltmann participants
    7. 7. NSF TOL grant (Heraty via Sharkey et al.)
    8. 8. NSF TOL grant (MartínRamírez and Jonathon Coddington)
    9. 9. NSF PEET grant (Anthony Cognato)
    10. 10. NSF PEET grant DEB-0328922 (Dr. Bob Wharton)
    11. 11. A Texas A&M Ecology and Evolutionary Biology Graduate Student Travel Grant to Matt Yoder </li></ul>Intellect, enthusiasm & hard work:<br /><ul><li> Matthew J. Yoder (diapriid@gmail.com), Krishna Dole, Andrew Deans (andy_deans@ncsu.edu), John W. Fail (fail@cenotaph.org) and others
    12. 12. Fredrik Ronquist & Greg Riccardi
    13. 13. All the contributors
    14. 14. SCAMIT: Southern California Marine Invertebrate Taxonomists</li></li></ul><li>
    15. 15.
    16. 16. Design for audience :: is the most important factor<br />*Greater the diversity of user-groups the <br />less specific the data requirements. <br />*Suggest that lack of specificity in primary <br />data collection may reduce quality of data. <br />extension<br />curators<br />taxonomists<br />
    17. 17. specific expert system<br />
    18. 18. mx history and players:<br />(http://hymenoptera.tamu.edu/wiki/)<br />mx is coded by Matt Yoder, Krishna Dole (retired), Katja Seltmann and with help from <br />Andy Deans. Johan Lijleblad has provided documentation and much useful feedback. <br />Many others, in particular the Wharton (TAMU), Cognato (MSU), and Heraty (UCR) labs <br />have provided feedback. We are very open to having others join us. <br />There is no formal means of citing mx, you might use something like this: <br />Yoder, M.J., Dole, K., Seltmann, K., and Deans, A. 2006-Present. Mx, a collaborative web based content management for biological systematists. <br />Various previous projects influenced the development of mx, in particular: <br />The table structure for specimens and collecting event related data is loosely based<br />on the TAMUIC insect collection&apos;s database programmed by Yoder and Oswald. That <br />database was in turn loosely based on a very early draft (pre 1998) of the Specify table <br />structure. <br />Some of the tables containing matrix related data are based on Yoder&apos;s early MS Access <br />database mtrx, which was greatly simplified from GregorHagedorn&apos;s software Delta Access (apparently no longer available on-line). <br />. <br />
    19. 19. <ul><li> focus moving to data import => export
    20. 20. workbench for revisionary taxonomy and systematics
    21. 21. looking for creative solutions based on experience
    22. 22. power in relational dbs
    23. 23. specific expert system
    24. 24. rapid development
    25. 25. agile
    26. 26. open source</li></li></ul><li>Rails solutions that help make development more agile (web 2.0):<br /><ul><li> Many small tables, object database model in the sense introduces the ideas of </li></ul> polymorphism and encapsulation into the database. Tables in rails correspond to a model <br /> and are strictly named.<br /><ul><li>MySQL but its hidden (can use other dbs)
    27. 27. Restful CRUD (create, read, update, delete)
    28. 28. Easy upload transactions in rake tasks
    29. 29. test driven development
    30. 30. creator & updater on and id
    31. 31. encryption & security
    32. 32. UTF8
    33. 33. Model View Controller (MVC)
    34. 34. migrations (easy to update a db and propagate those updates from development to</li></ul> production environment<br /><ul><li> little tough to deploy in comparison, but Passenger gem works; Dreamhost for US non-profits</li></ul> Browser <br />Controller View<br />Model Database<br />
    35. 35. Databases in general:<br />Definition: “A database is an integrated collection of logically related records or files which consolidates records into a common pool of data records that provides data for many applications. A database is a collection of information that is organized so that it can easily be accessed, managed, and updated.”<br />- www. wikipedia.org<br />Three models: relational, hierarchical and network<br />Relational: The purpose of the relational model is to provide a declarative method for specifying data and queries<br />Hierarchical: tree like structure (one to one; one to many relationships)<br />Network: each record can have multiple relationships<br />object-relational mapping (ORM)<br />Relational database, text file, xml potentially all databases or data sources<br />Experience with MySQL<br />Diacritic marks (ontology?)<br />Versioning<br />
    36. 36. Object-Relational Mapping (ORM) libraries map database tables to classes. If a database has a table called orders, our program will have a class named Order. Rows in this table correspond to objects of the class—a particular order is represented as an object of class Order. Within that object, attributes are used to get and set the individual columns. Our Order object has methods to get and set the amount, the sales tax, and so on. <br /> -Thomas & Hannson. Agile Web Development with Rails<br />
    37. 37.
    38. 38.
    39. 39. security model: <br />private until made public<br />groups<br />trust in groups<br />
    40. 40. OTU is the key<br />
    41. 41. wiki help:<br />
    42. 42. image management:<br />
    43. 43. figuring:<br />
    44. 44. There are a various open source plugins and widgets used in mx:<br />Input draw<br />Phylowidget<br />RelationBrowser<br />The GoogleMaps API<br />Attachment fu<br />BetterNestedSet<br />
    45. 45. Versioning solution in MySQL/RoR (John Will Fail : fail@cenotaph.org)<br />
    46. 46. Species Table<br />Starts as a perfect mirror of the <br />species table<br />Adds version number when <br />version is released<br />Version released at anytime: <br />export as pdf, html, XML<br />Ghost of Species Table<br />accepted<br />Columns not seen publically<br />id<br />date_created<br />date_modified<br />
    47. 47. matrices vssubmatrices:<br />clone and share<br />display of large matrices<br />one click coding<br />export (nexml)<br />import<br />
    48. 48. annotations: tags and confidences<br />
    49. 49. public pages::Electronic key publication standards:<br />Data publication and dissemination of interactive keys under the open access model<br />-ZooKeys (in prep)<br />Stand alone publication<br />Data files necessary to recreate the key<br />DOI and kept with publisher<br />
    50. 50. public pages:<br />
    51. 51. public pages:<br />
    52. 52. public pages:<br />
    53. 53. public pages:<br />
    54. 54.
    55. 55. http://www.opendatacommons.org<br />
    56. 56.
    57. 57. Katja Seltmann<br />katja_seltmann@ncsu.edu<br />Wiki:<br />(http://hymenoptera.tamu.edu/wiki/)<br />Acknowledgments<br />Funding:<br />The following sources of funding have directly or indirectly supported the development of mx, or have used mx to manage data: <br /><ul><li> NSF Advances in Biological Informatics (DBI-0850223)
    58. 58. Morphbank (NSF DBI-0446224)
    59. 59. National Evolutionary Synthesis Center (NESCent) (NSF EF-0423641)
    60. 60. PEET: Monographic research on parasitic Hymenoptera (NSF DEB-0328922)
    61. 61. Nescent DB Hackathon Workshop (Matt Yoder & K. Seltmann participants
    62. 62. NSF TOL grant (Heraty via Sharkey et al.)
    63. 63. NSF TOL grant (MartínRamírez and Jonathon Coddington)
    64. 64. NSF PEET grant (Anthony Cognato)
    65. 65. NSF PEET grant DEB-0328922 (Dr. Bob Wharton)
    66. 66. A Texas A&M Ecology and Evolutionary Biology Graduate Student Travel Grant to Matt Yoder </li></ul>Intellect, enthusiasm & hard work:<br /><ul><li> Matthew J. Yoder (diapriid@gmail.com), Krishna Dole, Andrew Deans (andy_deans@ncsu.edu), John W. Fail (fail@cenotaph.org) and other mx hackers
    67. 67. Fredrik Ronquist & Greg Riccardi
    68. 68. All the contributors
    69. 69. SCAMIT: Southern California Marine Invertebrate Taxonomists</li>
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×