Bryan E. Smith
502 N. State St. Apt. 1
Ann Arbor, MI 48104
bryanesmith at gmail.com
education
Eastern Michigan University
Ypsilanti, MI
Second Bachelor of Science in Computer Science with Mathematics minor
January 2005 through December 2007
College of William & Mary
Williamsburg, VA
First Bachelor of Science, Psychology concentration
September 1998 through May 2002
skills
- Programming:
- Primary language: Java
- Significant experience with: C, Perl, PHP, JSP
- Limited experience: C++, Ruby, Soar Cognitive Architecture
- SQL, database modeling and design, database-driven web design
- Web design with (X)HTML, CSS, and Javascript
- Significant Linux/Unix experience, shell scripting
- Usability engineering and information architecture training
research experience
Soar
Soar is a "general cognitive architecture for developing systems that exhibit intelligent behavior" (source), with features such as reinforcement learning, semantic memory, and episodic memory.
My work has exclusively focused on semantic memory, which is the storage and retrieval of facts about the world and their meaning. I have designed tools to use ontologies such as SUMO, and have designed test agents to demonstrate the respective semantic memory knowledge base. Additionally, I have worked on performance tests to prepare for the use of very large knowledge bases.
My short term goals include completing a comprehensive performance profile of the semantic memory module as well as porting the OpenCyc ontology and WordNet lexical database. My long term goal is to find suitable methods for performing reasoning tasks with the semantic memory knowledge bases.
De novo sequencing
To identify unknown proteins, tandem mass spectrometry-based proteomics uses instruments to fragment proteins into shorter peptides, which are they fragmented into series of smaller molecules (which are subsequently ionized so they can be measured). From these ion series, the instrument produces spectra with masses (molecular mass over charge) and the associated intensities of the recorded signals. The problem is that these spectra are often noisy; furthermore, though a great deal of fragmentation research has produced useful heuristics and models of how spectra should be produced, software applications have not been particularly successful in reliably producing appropriate sequences.
My first attempt to produce de novo sequences used genetic algorithms. Though this approach generally worked for smaller peptides of fairly good quality, the results were less predictable for longer sequences, and the run times were not appropriate for high throughput data processing.
My second approach produced the set of all candidate sequences described as a Cartesian product of all potential sub-sequences. (This approach relies on the problem exhibiting optimal substructure, which is does if the ions can be correctly classified by their series.) Combined with some optimizations that were guided by fragmentation research (limited to tryptic digests) as well as some dynamic parameters to increase effeciency, I was able to sequence longer peptides in more reasonable times, measured in minutes instead of hours. However, for longer proteins, this approach produced increasingly larger sets of high scoring, tightly clustered candidates, making it unsuitable for fully automated batch processing.
One potential application would be to produce a plugin for a spectra visualization tool (such as Expedite) to identify candidate solutions, which experts could then review, potentially reducing the time spent identifying peptides. One benefit of using this tool is that the results are justified (i.e., labeled ion peaks and information about support for ion series classifications), and with a little more development, could produce meta information such as the quality of the spectra and the confidence of the tool. Alternative chemistries could also be supported, but would greatly increase the search space for each identification.
Though I worked independently, I received feedback from several research scientists in the field, and collaborated closely with a researcher who produced the Expedite visualization tool.
work and volunteer experience
View my portfolio [http://www.bryanesmith.com/portfolio/] for examples of my contract work and personal projects
ProteomeCommons.org, Dept. of Biological Chemistry, University of Michigan
Java developer employed to work as a core developer on the open source Tranche project, which is a secure, P2P distributed file system. We are working to build new tools and integrate existing tools to build a scientific pipeline for analyzing and sharing Proteomics data.
As of January 2008, I was promoted to the position of Intermediate Application Developer.
Washtenaw Community College
Taught four courses — INP 150 (Web Coding I), INP 153 (Designing for the User Experience), INP 160 (Internet Technology), and INP 170 (Web Coding II).
Designing for the User Experience was primarily an information architecture course, though we briefly covered other topics like accessibility, usability engineering and SEO.
Internet Technology was a cursory overview to the technologies that make the Internet work.
Web Coding I & II explored web page design with XHTML 1.0 Strict/CSS with modularity and ease of maintenance in mind, along with a little XML/XSL, WML and SGML.
Shapiro Undergraduate Library, University of Michigan
(734) 764-4481
Redesigned the undergraduate website, as well as updated subsites [e.g., Searchpath], as well as some information architecture and graphic design [for website, fliers and posters]. I also conducted user testing for the new website I created.
Knowledge Navigation Center, Hatcher Graduate Library, University of Michigan
(734) 647-5836
Assisted patrons with general technology issues such as web design, basic javascript coding, graphic arts applications like Illustrator and Photoshop, and other issues related to web and electronic-document creation.
WCC Reading Clinic
Tutored adult students who were learning basic reading and pronunciation skills.
academic awards and scholarships
- Outstanding Senior Award in Computer Science: (2006-2007) Normally presented with a $600 prize to a single senior for their academic, research and participatory achievements. For the first time, the award was split between myself and another recipient, with $300 awarded to both of us.
- Meritorious Award in Computer Science: (2005-2006) Professor-nominated and judged award based on academic achievement and general participation in the Computer Science department at Eastern Michigan University.
- James Monroe Scholarship: (1998) A $2,000 scholarship for independent research at the College of William & Mary based on academic achivements prior to entering an undergraduate degree.
publications and conferences
View My Documents and Downloads [http://bryanesmith.com/documents/] for a more complete list of publications, presentations, tutorials, media references, and software.
Publications
- Bryan Smith, James Hill, Mark Gjukich, Philip Andrews. Tranche Distributed Repository and ProteomeCommons.org. Chapter from Data Mining in Proteomics: Methods in Molecular Biology. Humana Press, 2010.
Conferences
- Recent and Upcoming Developments in the Tranche Distributed Data Repository: Human Proteome Organization (HUPO) Toronto conference 2009 poster presentation. PDF, 1.4MB (2009)s
- ProteomeCommons.org Annotations and Project Management Resource: Human Proteome Organization (HUPO) Toronto conference 2009 poster presentation. PDF, 3.0MB (2009)
- Babel Fish: Conversion of MS File Formats and Standards : American Society for Mass Spectrometry (ASMS) Philadelphia conference 2009 poster presentation. PDF, 795KB (2009)
- Annotation and Project Management Resource Integrated with the ProteomeCommons.org Tranche Repository : American Society for Mass Spectrometry (ASMS) Philadelphia conference 2009 poster presentation. PDF, 2.0MB (2009)