Duane Szafron, PhD

Professor Emeritus, Faculty of Science - Computing Science


Professor Emeritus, Faculty of Science - Computing Science




  • B.Sc. Honors, Mathematics and Physics, University of Regina, 1975 
  • M.Sc., Mathematics, University of Regina, 1975
  • Ph.D., Applied Mathematics, University of Waterloo, 1978



Computer Games
Software Systems


Object-Oriented Programming Languages and Systems, Computer Games and Bioinformatics.


Computer Games: Creating realistic artificially-intelligent characters is seen as one of the major challenges of the commercial games industry. Historically, character behavior has been specified using simple finite state machines and, more recently, by AI scripting languages. These languages are relatively "simple", in part because the language has to serve three user communities: game designers, game programmers, and consumers - each with different levels of programming experience. The scripting often becomes unwieldy, given that potentially hundreds (thousands) of characters need to be defined, the characters need non-trivial behaviors, and the characters have to interface with the plot constraints. 

We are currently developing a model for AI scripting called ScriptEase. The model is pattern template based, allowing designers to quickly build complex behaviors without doing explicit programming. ScriptEase generaes scripting code for BioWare?s Neverwinter Nights game. We are currently working on four different kinds of patterns: encounter, behavior, dialog and plot.

Bioinformatics: Modern sequencing technology now permits the sequencing of entire genomes, leading to thousands of new gene sequences in need of detailed annotation Many of these sequences have no homologues in existing databases, making their annotation difficult or impossible. Even for those sequences that have homologues, it is often too time consuming to predict the properties of each protein sequence in a manual fashion and to organize the results by hand. It is necessary to automate the prediction process in such a way that the predictions are well organized and transparent. That is, the rationale for each prediction should be easily examinable by any molecular biologist that wishes to use the prediction. 

Our goal is to develop a robust high performance framework for comparative proteomics. That is, given a whole proteome, we want to provide a single framework that can easily and rapidly infer the functional characteristics of the entire proteome. This includes both individual proteins and clusters that form operons. To aid in this overall goal, we have identified three initiatives for this project: 

  1. Integrate a wide range of different kinds of prediction algorithms into a single web-accessible framework and extend them to support whole proteomes. 
  2. Develop new improved algorithms for genome and proteome-scale comparisons. 
  3. Parallelize genome and proteome-scale comparison algorithms to facilitate their use on standard desktop machines.