Software

A listing of original software and code available for download:

Check out my GitHub page to easily access some of the code listed below, or to follow new and updated projects.

Alternatively, links to sourceforge.net are provided for most of the code listed below.

All software was developed at Dartmouth College or the University of Pennsylvania in the lab of Jason H. Moore funded by NIH grants AI59694, LM009012, LM010098, EY022300, LM011360, CA134286, and GM103534.  All Software/Code is available under a GPLv3 license.


Complex Genetic Model and Dataset Generation

  • Name: GAMETES v.2.0 
  • Language: JAVA
  • Posted: February 2014
  • Description: Open Source Software and Users Guide for the simulation of complex genetic models and associated SNP datasets.  New version includes the ability to combine models to generate heterogeneous datasets, as well as a new Custom Model feature, that gives the user the ability to specify their own 2 or 3 locus models, which gives feedback on key model characteristics as the model is changed.
  • Relevant Publications:
  1. GAMETES v2.0: software for simulating complex epistatic models and heterogeneous datasets [submitted]
  2. GAMETES v2.0 User’s Guide
  • Name: Mulitplexer Data Simulator
  • Language: Python
  • Posted: October 2013
  • Description: A short script with methods to allow the user to easily generate n-multiplexer problem data. users can either generate single instances, datasets with a specified number of random instances, or complete datasets of all unique multiplexer instances (memory allowing) to be saved in a .txt file.
  • Relevant Publications: N/A
  • Name: GAMETES v.1.0 
  • Language: JAVA
  • Posted: January 2012
  • Description: Open Source Software and Users Guide for the simulation of complex genetic models and associated SNP datasets.
  • Relevant Publications:


Learning Classifier Systems

  • Name: ExSTraCS v.2.0
  • Language: Python
  • Posted: October 2014
  • Description: ExSTraCS 2.0 incorporates a new rule specificity limit geared towards improving algortihm scalability and ease of use.  Code and a complete users guide is available for download on Sourceforge and GitHub
  • Relevant Publications:
  1. ExSTraCS 2.0: Addressing scalability with a rule specificity limit in a Michigan-style supervised learning classifier system for classification, prediction, and knowledge discovery
  2. ExSTraCS 2.0 user’s guide
 
  • Name: ExSTraCS v.1.0
  • Language: Python
  • Posted: June 2014
  • Description: ExSTraCS combines several successful LCS components and advancements into a single algorithmic platform for application and further development.  Code and complete users guide is available for download on Sourceforge and GitHub.
  • Relevant Publications: 
  1. An extended Michigan-style learning classifier system for flexible supervised learning, classification, and data mining
  2. ExSTraCS 1.0 user’s guide
 
  • Name: eLCS
  • Language: Python
  • Posted: June 2014
  • Description: The Educational Learning Classifier System (eLCS) is a set of code demos that are intended to serve as an educational resources to learn the basics of a Michigan-style learning classifier system (modeled after the XCS and UCS algorithm architectures).  This resource includes 5 separate implementation demos that sequentially add major components of the algorithm in order to highlight how these components function, interact, and are implemented into the algorithm’s code.
  • Relevant Publications:
  1.  Textbook: Introduction to Learning Classifier Systems (in preparation)  – The eLCS code is intended to be paired with this textbook authored by Will Browne and Ryan Urbanowicz.  This book should be available by Spring of 2015.
 
  • Name: EK-AF-UCS v.2.0
  • Language: Python
  • Posted: October 2013
  • Description: Extending EK-AF-UCS v.1.0, EK-AF-UCS v.2.0 adds rule compaction strategies to our LCS algorithm.  Additionally, much of the flexible new code that will make up the architecture of ExSTraCS has been implemented here.
  • Relevant Publications:
 
  • Name: AF-UCS v.2.0 with Multicore Parallelization
  • Language: Python
  • Posted: October 2013
  • Description: Modifying AF-UCS v.1.0, AF-UCS v.2.0 adds multicore parallelization to allow for parallel independent runs of the algorithm to facilitate permutation testing and cross validation for statistical significance testing in data mining and classification problems.
  • Relevant Publications:
 
  • Name: EK-AF-UCS v.1.0
  • Language: Python
  • Posted: October 2013
  • Description: Building off the UCS algorithm, EK-AF-UCS, adds mechanisms which allow the incorporation of expert knowledge to guide learning.  Specifically, expert knowledge is applied to covering and mutation.  Application of expert knowledge to covering in particular was found to be advantageous. This code was also used in our paper exploring bladder cancer susceptibility.
  • Relevant Publications:
  1. Using Expert Knowledge to Guide Covering and Mutation in a Michigan Style Learning Classifier System to Detect Epistasis and Heterogeneity
  2. Role of Genetic Heterogeneity and Epistasis in Bladder Cancer Susceptibility and Outcome: A Learning Classifier System Approach
 
  • Name: AF-UCS v.1.0
  • Language: Python
  • Posted: October 2013
  • Description: Building off the UCS algorithm, AF-UCS, adds attribute tracking, a mechanism akin to memory designed for supervised learning problems.  Additionally AF-UCS includes attribute feedback to the mutation and crossover mechanisms of the genetic algorithm.  These mechanisms improve learning efficiency and aid in the characterization of heterogeneous patterns of association.  This code was also used to run the analysis in our pipeline paper, however the attribute tracking mechanisms were shut off.
  • Relevant Publications:
 
  • Name: GALE
  • Language: Python
  • Posted: June 2010
  • Description: A python implementation of Xavier Llora and Joseph Garrell’s GALE algorithm written/modified to accommodate SNP gene association studies.
  • Relevant Publications:
 
  • Name: GAssist
  • Language: Python
  • Posted: June 2010
  • Description: A python implementation of Jaume Bacardit’s GAssist algorithm written/modified to accommodate SNP gene association studies.
  • Relevant Publications:
  1. The Application of Pittsburgh-Style Learning Classifier Systems to Address Genetic Heterogeneity and Epistasis in Association Studies
  2. Bloat Control and Generalization Pressure Using the Minimum Description Length Principle for a Pittsburgh Approach Learning Classifier System
 
  • Name: XCS
  • Language: Python
  • Posted: April 2010
  • Description: A python implementation of Stewart Wilson’s XCS algorithm written/modified to accommodate SNP gene association studies.
  • Relevant Publications:
 
  • Name: UCS
  • Language: Python
  • Posted: April 2010
  • Description: A python implementation of Bernado-Mansilla’s and Garrell-Guiu’s UCS algorithm written/modified to accommodate SNP gene association studies.
  • Relevant Publications:
 
  • Name: MCS
  • Language: Python
  • Posted: April 2010
  • Description: A python implementation of Larry Bull’s MCS algorithm written/modified to accommodate SNP gene association studies.
  • Relevant Publications: