From Jstacs
Jump to navigationJump to search

by Jens Keilwagen, Jan Grau, Stefan Posch, Marc Strickert, and Ivo Grosse.



The recognition of functional binding sites in genomic DNA remains one of the fundamental challenges of genome research. During the last decades, a plethora of different and well-adapted models has been developed, but only little attention has be payed to the development of different and similarly well-adapted learning principles. Only recently it was noticed that discriminative learning principles can be superior over generative ones in diverse bioinformatics applications, too.


Here, we propose a generalization of generative and discriminative learning principles containing the maximum likelihood, maximum a-posteriori, maximum conditional likelihood, maximum supervised posterior, generative-discriminative trade-off, and penalized generative-discriminative trade-off learning principles as special cases, and we illustrate its efficacy for the recognition of vertebrate transcription factor binding sites.


We find that the proposed learning principle helps to improve the recognition of transcription factor binding sites and enables better computational approaches for extracting as much information as possible from valuable wet-lab data. We make all implementations available in the open-source library Jstacs so that this learning principle can be easily applied to other classification problems in the field of genome and epigenome analysis.


The paper Unifying generative and discriminative learning principles has been published in BMC Bioinformatics.


  • GenDisMix binary
  • Sources of the binary
  • Requirements: Java v. 5 or later, Jstacs 1.3 or later
  • Put jstacs-1.3.jar (contained in Jstacs 1.3 binary) into the same directory as or GenDisMixApp.class, respectively
  • Compile by calling javac -cp jstacs-1.3.jar
  • Run by calling java -cp .:jstacs-1.3.jar GenDisMixApp (Unix,Linux) or java -cp .;jstacs-1.3.jar GenDisMixApp (Windows)
  • Arguments:
home	... home directory (the path to the data directory, default = ./)	= ./
fg	... foreground file (the file name of the foreground data file in FastA-format)	= null
bg	... background file (the file name of the background data file in FastA-format)	= null
gen	... generative weight (the weight of the generative component, valid range = [0.0, 1.0])	= null
dis	... discriminative weight (the weight of the discriminative component, valid range = [0.0, 1.0])	= null
eps	... epsilon (numerical optimization is stopped if gain less than epsilon, default = 1.0E-6)	= 1.0E-6
threads	... threads (the number of threads used for the computation, default = 1)	= 1
essFG	... essFG (the equivalent sample size used for the foreground class, default = 4.0)	= 4.0
essBG	... essFG (the equivalent sample size used for the background class, default = 4.0)	= 4.0
outfile	... outfile (the name of the file where to store the classifier in XML-format, default = gendismix.xml)	= gendismix.xml
uk	... unkown file (the file name of the data in FastA-format that shall be classified, OPTIONAL)	= null
  • Example: java -cp .:jstacs-1.3.jar GenDisMixApp fg=fgfile.fasta bg=bgfile.fasta gen=0.4 dis=0.4 essBG=8 eps=1E-6 threads=2 outfile=classifier.xml

References in Jstacs