Jacob N. Smith
Texas A&M University
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Jacob N. Smith.
generative programming and component engineering | 2007
Jaakko Järvi; Matthew Marcus; Jacob N. Smith
Large scale software is composed of libraries produced by different entities. Non-intrusive and efficient mechanisms for adapting data structures from one library to conform to APIs of another are essential for the success of large software projects. Concepts and concept maps, planned features for the next version of C++, have been designed to support adaptation, promising generic, non-intrusive, efficient, and identity preserving adapters. This paper analyses the use of concept maps for library composition and adaptation, comparing and contrasting concept maps to other common adaptation mechanisms. We report on two cases of data structure adaptation between different libraries, indicating best practices and idioms along the way. First, we adapt GUI controls from several frameworks for use with a generic layout engine, extending the application of concepts to run-time polymorphism. Second, we develop a transparent adaptation layer between an image processing library and a graph algorithm library, enabling the efficient application of graph algorithms to the image processing domain.
IEEE Intelligent Systems | 2005
Tod D. Romo; Kreshna Gopal; Erik McKee; Lalji Kanbi; Reetal Pai; Jacob N. Smith; James C. Sacchettini; T. loerger
TEXTAL is a successfully deployed system for automated model-building in protein X-ray crystallography. It represents a novel solution to an important, complex real-world, problem using various AI and pattern recognition algorithms. TEXTAL takes a model-building approach based on real-space density pattern recognition, similar to how a human crystallographer would work. TEXTAL first tries to predict the coordinates of the alpha-carbon (C/spl alpha/) atoms in the proteins connected backbone using a neural network. It then analyzes the density patterns around each C/spl alpha/ atom and searches a database of previously solved structures for regions with similar patterns. TEXTAL determines the best match, retrieves the coordinates for that region, and fits them to the unknown density. TEXTAL concatenates these local models into a global model and subjects them to various subsequent refinements to produce a complete protein model automatically.
Science of Computer Programming | 2010
Jaakko Järvi; Mat Marcus; Jacob N. Smith
This paper explores the definition, applications, and limitations of concepts and concept maps in C++, with a focus on library composition. We also compare and contrast concepts to adaptation mechanisms in other languages. Efficient, non-intrusive adaptation mechanisms are essential when adapting data structures to a librarys API. Development with reusable components is a widely practiced method of building software. Components vary in form, ranging from source code to non-modifiable binary libraries. The Concepts language features, slated to appear in the next version of C++, have been designed with such compositions in mind, promising an improved ability to create generic, non-intrusive, efficient, and identity-preserving adapters. We report on two cases of data structure adaptation between different libraries, and illustrate best practices and idioms. First, we adapt GUI widgets from several libraries, with differing APIs, for use with a generic layout engine. We further develop this example to describe the run-time concept idiom, extending the applicability of concepts to domains where run-time polymorphism is required. Second, we compose an image processing library and a graph algorithm library, by making use of a transparent adaptation layer, enabling the efficient application of graph algorithms to the image processing domain. We use the adaptation layer to realize a few key algorithms, and report little or no performance degradation.
Bioinformatics | 2007
Kreshna Gopal; Erik McKee; Tod D. Romo; Reetal Pai; Jacob N. Smith; James C. Sacchettini; Thomas R. Ioerger
UNLABELLED X-ray crystallography is the most widely used method to determine the 3D structure of protein molecules. One of the most difficult steps in protein crystallography is model-building, which consists of constructing a backbone and then amino acid side chains into an electron density map. Interpretation of electron density maps represents a major bottleneck in protein structure determination pipelines, and thus, automated techniques to interpret maps can greatly improve the throughput. We have developed WebTex, a simple and yet powerful web interface to TEXTAL, a program that automates this process of fitting atoms into electron density maps. TEXTAL can also be downloaded for local installation. AVAILABILITY Web interface, downloadable binaries and documentation at http://textal.tamu.edu
innovative applications of artificial intelligence | 2006
Kreshna Gopal; Tod D. Romo; Erik McKee; Reetal Pai; Jacob N. Smith; James C. Sacchettini; Thomas R. Ioerger
TEXTAL is a computer program that automatically interprets electron density maps to determine the atomic structures of proteins through X-ray crystallography. Electron density maps are traditionally interpreted by visually fitting atoms into density patterns. This manual process can be time-consuming and error prone, even for expert crystallographers. Noise in the data and limited resolution make map interpretation challenging. To automate the process, TEXTAL employs a variety of AI and pattern-recognition techniques that emulate the decision-making processes of domain experts. In this article, we discuss the various ways AI technology is used in TEXTAL, including neural networks, case-based reasoning, nearest neighbor learning and linear discriminant analysis. The AI and pattern-recognition approaches have proven to be effective for building protein models even with medium resolution data. TEXTAL is a successfully deployed application; it is being used in more than 100 crystallography labs from 20 countries.
international symposium on symbolic and algebraic computation | 2007
Jacob N. Smith; Gabriel Dos Reis; Jaakko Järvi
This paper describes the design and implementation of an algorithmic differentiation framework in the Axiom computer algebra system. Our implementation works by transformations on Spad programs at the level of the typed abstract syntax tree -- Spad is the language for extending Axiom with libraries. The framework illustrates an algebraic theory of algorithmic differentiation, here only for Spad programs, but we suggest that the theory is general. In particular, if it is possible to define a compositional semantics for programs, we define the exact requirements for when a program can be algorithmically differentiated. This leads to a general algorithmic differentiation system, and is not confined to functions which compute with basic data types, such as floating point numbers.
generative programming and component engineering | 2008
Jaakko Järvi; Mat Marcus; Sean Parent; John Freeman; Jacob N. Smith
generative programming and component engineering | 2009
Jaakko Järvi; Mat Marcus; Sean Parent; John Freeman; Jacob N. Smith
Proceedings of SPIE | 2007
James F. Leary; Jacob N. Smith; Peter Szaniszlo; Lisa M. Reece
innovative applications of artificial intelligence | 2005
Kreshna Gopal; Tod D. Romo; Erik McKee; Kevin L. Childs; Lalji Kanbi; Reetal Pai; Jacob N. Smith; James C. Sacchettini; Thomas R. Ioerger