field based data validation: a very real experience in wrangling data, taxonomic names, and photos

22
Field Based Data Validation: a very real experience in wrangling data, taxonomic names, and photos Moorea Biocode Project, supported by the Gordon and Betty Moore Foundation Presentation by John Deck, University of California at Berkeley

Upload: sileas

Post on 21-Jan-2016

39 views

Category:

Documents


0 download

DESCRIPTION

Field Based Data Validation: a very real experience in wrangling data, taxonomic names, and photos. Moorea Biocode Project, supported by the Gordon and Betty Moore Foundation Presentation by John Deck, University of California at Berkeley. Outline. Part 1: Background on Moorea Biocode Project - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Field Based Data Validation: a very real experience in wrangling data, taxonomic names, and photos

Field Based Data Validation: a very real experience in wrangling data, taxonomic

names, and photos

Moorea Biocode Project, supported by the Gordon and Betty Moore Foundation

Presentation by John Deck, University of California at Berkeley

Page 2: Field Based Data Validation: a very real experience in wrangling data, taxonomic names, and photos

Outline

• Part 1: Background on Moorea Biocode Project

• Part 2: bioValidator: field based data validation

• Part 3: A case study in handling taxonomic names in a field based client application

Page 3: Field Based Data Validation: a very real experience in wrangling data, taxonomic names, and photos

Part 1: Background on Moorea Biocode Project

Page 4: Field Based Data Validation: a very real experience in wrangling data, taxonomic names, and photos

Moorea Biocode: The Collecting

Page 5: Field Based Data Validation: a very real experience in wrangling data, taxonomic names, and photos

The Sorting

Moorea Biocode: Sorting Specimens

Page 6: Field Based Data Validation: a very real experience in wrangling data, taxonomic names, and photos

Moorea Biocode: Tissue Sampling

Page 7: Field Based Data Validation: a very real experience in wrangling data, taxonomic names, and photos

Moorea Biocode LIMS: Binning, Trimming, & Assembly of Sequence Data

Page 8: Field Based Data Validation: a very real experience in wrangling data, taxonomic names, and photos

Challenges Facing the Moorea Biocode Project IT Team

• Multiple taxa & a different team for each group. Various cultures and workflow for each team.

• Everyone in a hurry, non-technical biologists entering data• Specimens (& metadata) ultimately owned by multiple host

institutions.• Multiple labs processing genetic data (w/ different equipment,

processes, and workflows).• Final taxonomic determination made using Lab and/or Host

Institution (Often much later than collecting event)• No internet or bad internet in field.• *Need to associate photos/standardized higher taxonomy in the

field (before accession into any db)

Page 9: Field Based Data Validation: a very real experience in wrangling data, taxonomic names, and photos

Field Based System Requirements

• Spreadsheets for data entry• Extensible validation rules (each project or sub-

project has its own requirements)• Match specimen data to Photos• Tag photos and load to external system (e.g.

Flickr)• Query multiple taxonomic authorities (each

TaxonTeam selects its own authority)• Updates online database periodically.

Page 10: Field Based Data Validation: a very real experience in wrangling data, taxonomic names, and photos

Part 2: bioValidator: a Field based Data Validation Tool

• Validate data using extensible validation rules• Search multiple taxonomies built in Lucene• Specimen to photo matching• Upload to Flickr using machine tags• No internet required• Java based

Page 11: Field Based Data Validation: a very real experience in wrangling data, taxonomic names, and photos
Page 12: Field Based Data Validation: a very real experience in wrangling data, taxonomic names, and photos
Page 13: Field Based Data Validation: a very real experience in wrangling data, taxonomic names, and photos
Page 14: Field Based Data Validation: a very real experience in wrangling data, taxonomic names, and photos
Page 15: Field Based Data Validation: a very real experience in wrangling data, taxonomic names, and photos

Part 3: A case study in handling taxonomic names in a field based client application

Page 16: Field Based Data Validation: a very real experience in wrangling data, taxonomic names, and photos

Why Lucene?

• Java-based, cross platform• Indexes can be delivered to client apps (can

run offline)• Ability to build a standardized interface to

multiple taxonomies.

Page 17: Field Based Data Validation: a very real experience in wrangling data, taxonomic names, and photos

Higher Taxonomic Name Handling in the Field

• Initial Spreadsheet: Just assign the lowest taxon name and lowest taxon level.

• bioValidator: Suggest a higher taxonomy based off name and level provided.

• Revised Spreadsheet: update with suggested higher taxonomic hierarchy.

Page 18: Field Based Data Validation: a very real experience in wrangling data, taxonomic names, and photos

Lucene Indexer Implementation for Taxonomy

Taxonomic Concept Lucene Class

Unit Document

Rank Field

Taxonomic Database IndexWriter

String sql = "SELECT tsn from taxonomic_units”;… obtain resultset …while (resultset.next()) {

Document doc = new Document();// itisUnit is class that abstracts ITIS Schema

itisRanks ir = new itisRanks(resultset.getString("tsn”)); while (ir.next()) {

doc.add(new Field(ir.rank, ir.name)); }

}IndexWriter.addDocument(doc);

Example of Lucene Index built on ITIS

Page 19: Field Based Data Validation: a very real experience in wrangling data, taxonomic names, and photos

Lucene Search Implementation for Taxonomy

public static Hashtable searchIndex(String taxonLevel, String taxonName) {// Construct queryQuery query = new QueryParser(taxonLevel, taxonName);

// Possible multiple matches TopFieldDocs hits = new IndexSearcher().search(query);// Loop through each taxonomic Unit

for (int taxonUnit = 0; i < hits.totalHits; taxonUnit++) { Document doc = searcher.doc(hits.scoreDocs[taxonUnit].doc); // Loop each rank to assign to map

for (int rank = 0; rank < taxonLevels.getNumLevels(); rank++) { Object value = doc.get(taxonLevels.getLevel(rank));

// Populate a simple table with taxon ranks & values map.put(level, value); } } return map; }

Example of (a simplified!) Lucene Search:

Page 20: Field Based Data Validation: a very real experience in wrangling data, taxonomic names, and photos
Page 21: Field Based Data Validation: a very real experience in wrangling data, taxonomic names, and photos

Further Work

• Standardization in validation protocols (expand on CRIA work). As we push the envelop in field-based data collection this will become more of an issue.

• Network of Lucene indexes for taxonomies?• GUID implementation in spreadsheets?• How to track and update data as it changes in

dependent systems (LIMS Systems, Genbank, BOLD, CalPhotos). See BiSciCol Grant (NSF)

Page 22: Field Based Data Validation: a very real experience in wrangling data, taxonomic names, and photos

More Information

• John Deck ([email protected])• Moorea Biocode Project– http://mooreabiocode.org/

• bioValidator – http://biovalidator.sourceforge.net/

• bioTaxonomy (Lucene index/search)– http://biotaxonomy.sourceforge.net/