Education
Employment History
Principal Software Engineer
Projects:
-
Member of the Computational Biology team responsible for all software and systems. Refactored all computational piplines using Nextflow, a dataflow programming language.
-
Oversaw the development and deployment of an autoscaling computational cluster in AWS using Jenkins, Ansible, Celery, and Slurm.
-
Developed the computational infrastructure for a deep learning project using Tensorflow. Created a system of distributed nearest neighbor search of feature encodings. Managed the data collection, filtering, and formatting of the training data.
-
Developed several distributed, asynchronous HTTP microservices using Python, Flask, and Celery.
-
Wrote a parallelized, high-performance CRISPR target search algorithm in Rust.
Staff Engineer
Projects:
-
Staff Engineer and team lead responsible for Qualcomm's Zeroth Android Apps using deep convolutional neural networks. Apps include a face recognition app that includes online learning, a scene detection that categorizes the scene and what is in the scene, and a handwriting understanding app that decodes handwriting into text. All tasks running on device. Apps demoed at Mobile World Congress 2015. Managing two other developers.
-
Staff Engineer and team lead responsible for the construction of a categorized image database for machine learning researc. Includes the collection and curation of public domain images. Managing two other developers.
-
Staff Engineer responsible for the various data visualization aspects of a web-based IDE for developing neuromorphic computing models. Front-end code written in Javascript and backend code written in C++ and Ruby. Using the Sproutcore development framework with Underscore, D3, and other Javascript libraries. I helped implement a Scrum development model for the team and brought Behavior Driven Development (BDD) to the team in the form of Cucumber Features.
Programmer/Analyst IV - Supervisor
Projects:
- Cytoscape Core Architect. I was responsible for overseeing the development, testing, release, and maintenance of the Cytoscape application. As an open source project my role was as an adviser and resource for other developers rather than as a manager with authority.
-
I wrote, refactored, and designed code for Cytoscape and was responsible for the overall design as well as large portions of the code behind Cytoscape 3.0.
Cytoscape 3.0 was (and still is) an effort to modularize the Cytoscape platform so that it can be used in different computational contexts such as clusters and as a web service backend. We used a combination of OSGi, Spring (Dynamic Modules), and Maven to help achieve this modularity.
-
Team leader and Scrum Master managing four programmers. Responsible for hiring, firing, reviewing, and establishing work schedules. I introduced Scrum for project managment and was extremely successful in increasing our team productivity and customer satisfaction.
-
Managed system administration of 40+ Linux, Windows, Mac OS X, and Solaris computers including workstations, servers, and RAID arrays.
-
Helped write grants and grant renewals for projects in the lab.
-
Managed the release of Cytoscape versions
2.3,
2.4,
2.5,
2.6,
and
2.7.
2.8.
-
Presented Cytoscape at multiple conferences and institutions.
-
Successfully mentored students for the 2007, 2008, and 2010 Google Summer of Code with the GenMAPP project.
Programmer/Analyst III
Projects:
-
Reimplemented PathBLAST using the Network Comparison Toolkit which I wrote for the purpose.
-
Developed new code for the Cytoscape project. Refactored several aspects of the project to improve design and functionality. Re-established and expanded the unit testing framework for the project. Set up a system of nightly builds. Developed a Wiki/DocBook system for project documentation. Automated the release creation process.
Research Assistant
Projects:
-
Implemented several near-optimal alignment generation algorithms in C++.
-
Implemented software to visualize large sets of alternative protein sequence alignments in Java. The software provides animation and zooming facilities to effectively visualize both alignment details and set overviews. The software includes filtering features, customizable highlighting schemes, and mixed-initiative interaction.
-
Performed various analyses comparing sets of near-optimal alignments with
structural alignments. Developed a predictive, probabilistic model for
determining which alignment edges are structurally relevant using logistic
regression.
-
Developed software to visualize various dynamic programming algorithms used in bioinformatics.
Intern
Vice President of Technology
Essential Analysis / Abiskar (Charlottesville, VA) | March 2000-October 2000 |
Co-founded a company that out-sourced data analysis for small businesses to Bangladesh.
Projects:
-
Won the 2000 Darden
Business Concept Competition and gained a spot in the
Batten Institute
Business Incubator.
-
Helped define business plan, perform feasibility analysis, open office in Bangladesh (including hiring Bangladeshi employees, office rental, securing government permits), establish network communications with Bangladesh, design and perform data analysis, and procure venture capital funding.
-
Transitioned from company to pursue graduate studies.
-
The company survived for 3 years before going out of business.
Research Assistant
Projects:
-
Designed and partially implemented a Probabilistic Quantitative Precipitation Forecast (PQPF) verification system in C++ for the National Weather Service.
Software Engineer
Projects:
- Local Number Portability Products:
Responsibilities included maintaining and enhancing Java graphical user interface to products. Implemented all system reports in Oracle Reports and C++
- Predictive Outbound Dialer:
Tasks included code optimization, statistical analysis of predictive algorithm and various bug fixes. Implemented all changes in C++.
- Digital Cellular Base Station/Switch Translation:
Rewrote the test environment such that all test cases could be generated and run together.
- Web Based Order Entry System:
Project implemented in Smalltalk. Responsibilities included configuration management (source control), creating releases, writing and executing the system test plan, tracking defects and tracking requirements with a traceability matrix.
- Predictive Outbound Dialer:
Wrote detailed system test plans, executed extended test periods, tracked system defects, maintained test environment including databases, assisted in requirement/code/design reviews, performed customer installations, assisted in configuration management, assisted in design of switch / VRU (Voice Response Unit) simulator, coordinated three other analysts.
Programmer
Part-time. Developed Perl scripts to interface with
legacy scheduling system.
Intern
Prepared detailed annotated bibliography on the substantive body of literature on the history, evolution and current status of radiosondes.
Mechanic
Summers. Worked primarily with customers. Diagnosed, repaired, and assembled
all manner of bicycles.
Computer Skills
Programming Languages: Python, Nextflow, Java, C++, Rust, Javascript, Ruby, Scala, AspectJ, Perl, PHP, bash, R, HTML, XHTML, XML, CSS, SQL, ksh.
Operating Systems: Unix(Linux,Mac OS X,Android,Solaris,HPUX,AIX), Windows.
Software: MySQL, Postgresql, Oracle, Docker, AWS, SLURM, Ansible, OSGi, Spring, Spring Dynamic Modules, Sproutcore, Sun Grid Engine, Ant, Maven, Make, Felix, PAX, Eclipse, Subversion, CVS, DocBook, LaTeX, Microsoft Office, Framemaker, Minitab, SAS, CMVC, Rational Rose, ModSim3.
Data Modeling and Analysis: deep learning, linear models, decision trees, polynomial networks, neural networks, clustering, optimization and mathematical programming, dynamic programming, decision analysis, stochastic simulation, knowledge based systems, cognitive task analysis, user interface design, systems analysis.
Other: Spoke fluent German as a child.
Publications
- Saito R, Smoot ME, Ono K, Ruscheinski J, Wang PL, Lotia S, Pico AR, Bader GD, Ideker T. "
A travel guide to Cytoscape plugins
". Nature Methods. 2012. 9(11):1069-1076.
- SJ Bark, J Wegrzyn, L Taupenot, M Ziegler, DT O'Connor, Q Ma, M Smoot, T Ideker, V Hook. "
The Protein Architecture of Human Secretory Vesicles Reveals Differential Regulation of Signaling Molecule Secretion by Protein Kinases
". PloS one. 2012. 7(8), e41134.
- R Srivas, G Hannum, J Ruscheinski, K Ono, PL Wang, M Smoot, T Ideker. "
Assembling global maps of cellular function through integrative analysis of physical and genetic networks
". Nature Protocols. 2012. 6(9):1308-1323.
- Smoot ME, Ono K, Ideker T, Maere S. "
PiNGO : a Cytoscape plugin to find candidate genes in biological networks
". Bioinformatics. 2011. 27(7):1030-1.
- Smoot ME, Ono K, Ruscheinski J, Wang PL, Ideker T. "
Cytoscape 2.8: new features for data integration and network visualization
". Bioinformatics. 2010. 27(3):431-2.
- Bandyopadhyay S, Chiang CY, Srivastava J, Gersten M, White S, Bell R, Kurschner C, Martin CH, Smoot M, Sahasrabudhe S, Barber DL, Chanda SK, Ideker T. "
A human MAP kinase interactome
". Nature Methods. 2010. 7(10):801-5.
- Michael L. Sierk, Michael E. Smoot, Ellen J. Bass, William R. Pearson. "
Improving pairwise sequence alignment accuracy using near-optimal protein sequence alignments
". BMC Bioinformatics. 2010. 11(146).
- Robert K. Bradley, Adam Roberts, Michael Smoot, Sudeep Juvekar, Jaeyoung Do, Colin Dewey, Ian Holmes, Lior Pachter. "
Fast Statistical Alignment
". PLoS Computational Biology. 2009. 5(5).
- Natalie Yeung, Melissa S. Cline, Allan Kuchinsky, Michael E. Smoot, Gary D. Bader. "
UNIT 8.13 Exploring Biological Networks with Cytoscape Software
". Current Protocols in Bioinformatics. John Wiley and Sons, Inc.. 2008.
- Kalaev, M., Smoot, M., Ideker, T., Sharan, R. "
NetworkBLAST: comparative analysis of protein networks
". Bioinformatics. 2008. 24(4):594-596.
- Cline MS, Smoot M, Cerami E, Kuchinsky A, Landys N, Workman C, Christmas R, Avila-Campilo I, Creech M, Gross B, Hanspers K, Isserlin R, Kelley R, Killcoyne S, Lotia S, Maere S, Morris J, Ono K, Pavlovic V, Pico AR, Vailaya A, Wang PL, Adler A, Conklin BR, Hood L, Kuiper M, Sander C, Schmulevich I, Schwikowski B, Warner GJ, Ideker T, Bader GD. "
Integration of biological networks and gene expression data using Cytoscape
". Nature Protocols. 2007. 2(10) 2366-82.
- Michael E. Smoot, Ellen J. Bass, Stephanie A. Guerlain, William R. Pearson. "A System for Visualizing and Analyzing Near-optimal Protein Sequence Alignments". Information Visualization. 2005. 4, 224-237.
- Michael E. Smoot. "Analyzing, Exploring, and Visualizing Near-Optimal Protein Sequence Alignments". Dissertation. University of Virginia. 2005.
- Michael E. Smoot, Stephanie A. Guerlain, William R. Pearson. "Visualization of Near Optimal Sequence Alignments". Bioinformatics. 2004. 20(6) 953-958.
- Stefan Kurtz, Adam Phillippy, Arthur L. Delcher, Michael Smoot, Martin Shumway, Corina Antonescu, Steven L. Salzberg. "Versatile and open software for comparing large genomes". Genome Biology. 2004. 5:R12.
- Michael E. Smoot, Stephanie A. Guerlain, William R. Pearson. "
Near Optimal Solutions Navigator
".
2002 IEEE International Conference on Systems, Man and Cybernetics, 6-9 Oct
. 2002. vol.5.
Hobbies
- Bicycling. (
Mountain and Road. I am a co-founder of the
Charlottesville Area Mountain Bike Club,
an organization dedicated to advocacy, trail maintenance, and riding.
While in Charlottesville, I managed all membership duties, was the treasurer,
did loads to trail work, and handled all technical jobs (web site, mailing lists, etc.).
)
- Climbing up mountains. (
Rock climbing, Ice climbing
)
- Sliding down mountains. (
Alpine skiing, Telemark Skiing, Snowboarding
)
- Open Source Software. (Cytoscape [former architect],
noptalign/noptdisplay [primary author],
TCLAP [primary author],
DisplayMUMs [primary author],
Giny [contributor],
JabRef [contributor]
Nextflow [contributor]
)
- Masters Swimming
- Martial Arts
- Yoga
Last modified April 2015.