A Java framework for statistical analysis and classification of biological sequences
Sequence analysis is one of the major subjects of bioinformatics. Several existing libraries combine the representation of biological sequences with exact and approximate pattern matching as well as alignment algorithms. We present Jstacs, an open source Java library, which focuses on the statistical analysis of biological sequences instead. Jstacs comprises an efficient representation of sequence data and provides implementations of many statistical models with generative and discriminative approaches for parameter learning. Using Jstacs, classifiers can be assessed and compared on test datasets or by cross-validation experiments evaluating several performance measures. Due to its strictly object-oriented design Jstacs is easy to use and readily extensible.
Jstacs is a joint project of the groups Bioinformatics and Pattern Recognition and Bioinformatics at the Institute of Computer Science of Martin Luther University Halle-Wittenberg and the Bioinformatics group of the Julius Kuehn Institute. Initially the projects has also been developed at the Leibniz Institute of Plant Genetics and Crop Plant Research.
Jstacs is listed in the machine learning open-source software (mloss) repository.
Jstacs is free software: you can redistribute it and/or modify under the terms of the GNU General Public License version 3 or (at your option) any later version as published by the Free Software Foundation.
The current Jstacs code, including changes made since the last release, is available from github.
Getting started & Cookbook
For set-up instructions, a list of basic requirements, and suggestions for your first steps with Jstacs, please see Getting started.
Since version 2.0, we offer a Cookbook for Jstacs in addition to the API documentation. This cookbook comprises a general description of the structure of Jstacs including data handling, statistical models, classifiers, and assessments. The cookbook is accompanied by a number of Recipes or Code examples that can serve as a starting point of your own applications.
For a quick reference, we also provide a Reference card.
The paper about Jstacs has been published in the Journal of Machine Learning Research. If you use Jstacs in your research, please cite
J. Grau, J. Keilwagen, A. Gohr, B. Haldemann, S. Posch, and I. Grosse. Jstacs: A java framework for statistical analysis and classification of biological sequences. Journal of Machine Learning Research, 13(Jun):1967–1971, 2012.
JstacsFX is a library for building applications with graphical user interface based on Jstacs classes and using JavaFX. JstacsFX builds upon the JstacsTool interface that has also been used to create command line and Galaxy versions of tools with minimal effort. In addition it makes use of the Parameter, Result, and ResultSaver classes of Jstacs.
Applications currently using Jstacs:
Bug reports & Feature requests
You can submit bug reports and feature requests by mail to firstname.lastname@example.org.
The paper Algorithms for learning parsimonious context trees has been published in Machine Learning.
The paper Disentangling transcription factor binding site complexity has been published in Nucleic Acids Research.
The paper Combining RNA-seq data and homology-based gene prediction for plants, animals and fungi has been published in BMC Bioinformatics.
The paper InMoDe: tools for learning and visualizing intra-motif dependencies of DNA binding sites has been published in Bioinformatics.
The paper Inferring intra-motif dependencies of DNA binding sites from ChIP-seq data has been published in BMC Bioinformatics.
The paper Varying levels of complexity in transcription factor binding motifs has been published in Nucleic Acids Research.
The paper Area under Precision-Recall Curves for Weighted and Unweighted Data has been published in PLOS ONE.
The paper A general approach for discriminative de-novo motif discovery from high-throughput data has been published in Nucleic Acids Research.
Further papers and projects can be found under Projects.