Version history
Mai 31, 2013:
Jstacs 2.1 released
New classes:
- MultipleIterationsCondition: Requires another TerminationCondition to fail a contiguous, specified number of times
- ClassifierFactory: Allows for creating standard classifiers
- SeqLogoPlotter: Plot PNG sequence logos from within Jstacs
- MultivariateGaussianEmission: Multivariate Gaussian emission density for a Hidden Markov Model
- MEManager: Maximum entropy model
New features and improvements:
- Alignment: Added free shift alignment
- PerformanceMeasure and sub-classes: Extension to weighted test data
- DNAAlphabet: Parser speed-up
- PFMComparator: Extension to PFM from other sources/databases
- ToolBox: New convenience methods for computing several statistics (e.g., median, correlation)
- SignificantMotifOccurrencesFinder: New methods for computing PWMs and statistics from predictions
- SequenceScore and sub-classes: New method toString(NumberFormat)
- AbstractClassifier, ClassifierAssessment and sub-classes: Adaption to weighted PerformanceMeasures
- DataSet: Adaption to weighted data, e.g., partitioning
- REnvironment: Changed several methods from String to CharSequence
Restructuring:
- changed MultiDimensionalSequenceWrapperDiffSM to MultiDimensionalSequenceWrapperDiffSS
Several minor new features, bug fixes, and code cleanups
February 2, 2012:
Jstacs 2.0 released
Jstacs 2.0 changes many names and the structure of several packages. It is not code-compatible with Jstacs 1.5 and earlier
Restructuring and Renaming:
- former ScoringFunction, NormalizableScoringFunction, Model
- new base-interface SequenceScore
- new sub-interface StatisticalModel of SequenceScore for all statistical models with sub-iterfaces DifferentiableStatisticalModel and TrainableStatisticalModel
- new interface DifferentiableSequenceScore replaces ScoringFunction
- new interface DifferentiableStatisticalModel replaces NormalizableScoringFunction
- new interface TrainableStatisticalModel replaces Model
- new abstract class AbstractDifferentiableSequenceScore
- new abstract class AbstractDifferentiableStatisticalModel replaces AbstractNormalizableScoringFunction
- new abstract class AbstractTrainableStatisticalModel replaces AbstractModel
- former *Models renamed to *TrainSM
- former *ScoringFunction renamed to *DiffSS or *DiffSM
- getProbFor removed from TrainableStatisticalModel (former Model) and conceptually replaced by getLogProbFor
- getLogScore(Sequence,int,int) with changed meaning of arguments: getLogScore(Sequence,start,end) instead of getLogScore(Sequence,start,length)
- isTrained() replaced by common method isInitialized()
- Sample renamed to DataSet
- Parameters and Results
- new super-class of Parameters and Results: AnnotatedEntity
- common list-type for Parameters and Results: AnnotatedEntityList
- Renaming: CollectionParameter -> SelectionParameter, MultiSelectionCollectionParameter -> MultiSelectionParameter, new super-class AbstractSelectionParameter
- major refactoring due to common hierarchy and code-cleanup
- lazy evaluation of Parameter/ParameterSet hierarchies moved from ParameterSet (loadParameters()) to ParameterSetContainer (constructor on class)
- SubclassFinder adapted to lazy evaluation
- performance measures
- new abstract super-class AbstractPerformanceMeasure of all performance measures
- new interface NumericalPerformanceMeasure for all performance measures that return a single number (as opposed, e.g., to curves)
- new class PerformanceMeasureParameterSet for a collection of general performance measures
- new class NumericalPerformanceMeasureParameterSet for a collection of NumericalPerformanceMeasures
- used in evaluate-method of AbstractClassifier and in ClassifierAssessments
- evaluate and evaluateAll in AbstractClassifier joined
- new class IndependentProductDiffSS as super-class of IndepedentProductDiffSM (former IndependentProductScoringFunction)
- new class UniformDiffSS as super-class of UniformDiffSM (former UniformScoringFunction)
New functionality:
- multi-threaded implementation of Baum-Welch and Viterbi training of hidden Markov models
- new Interface Singleton that can be used for singleton instances to save memory, current examples: DNAAlphabet, DNAAlphabetContainer, ProteinAlphabet
- added possibility to use NaN-values with ContinuousAlphabets
- added ProteinAlphabet
- added ArbitraryFloatSequence including static methods for DataSet creation for cases where double-precision is not needed
- new performance measure MaximumFMeasure
- access to Parameters in ParameterSets and Results in ResultSets by name
- emitDataSet in BayesianNetworkDiffSM
- new static method Time.getTimeInstance that returns UserTime or RealTime depending on availability of shared lib
- SubclassFinder allows for adding own base packages
- new method overlaps() in LocatedSequenceAnnotationWithLength
- AbstractTerminationCondition used in ScoreClassifier and sub-classes
- public method propagateESS in HMMFactory
- new method generateLog in DirichletMRG for drawing log-values
- added DifferentiableStatisticalModelFactory
Bugfixes/Improvements:
- bugfix in propagation of equivalent sample size in HMMFactory
- bugfix in random initialization of BasicHigherOrderTransition
- improved Alignment implementation
- SafeOutputStream with new static factory method getSafeOutputStream, write methods now work on Objects
Documentation:
- improved Javadocs in many classes and packages
- new Cookbook with extensive documentation and explanation
Misc:
- output of NonParsableException more verbose
- Exceptions in multi-threaded code now lead to exit of program instead of only stopping the thread
- update of RServe/RClient
June 1, 2011:
Jstacs 1.5 released
- new package de.jstacs.algorithms.alignment for sequence alignment algorithms
- new class de.jstacs.models.ModelFactory with static classes to construct many standard models
- de.jstacs.utils.galaxy.GalaxyAdaptor, an adaptor to Galaxy, which allows for creating Galaxy applications using Jstacs ParameterSets, also requires new interface GalaxyConvertible
- new package de.jstacs.models.hmm for a variety of hidden Markov models, which can be learned by different learning principles including generative and discriminative learning principles, maximization and sampling methods
- new package de.jstacs.sampling that contains general infrastructure for parameter sampling
- new class de.jstacs.scoringFunctions.MappingScoringFunction that allows for internal mapping of symbols from the alphabet
- new package de.jstacs.classifier.scoringFunctionBases.sampling containing classifiers that sample their parameters by the Metropolis-Hastings algorithm
- new interface de.jstacs.scoringFunctions.SamplingScoringFunction for NormalizableScoringFunctions that can be used in Metropolis-Hastings sampling of parameters
- bugfix in XMLParser for cases, where the tag of interest also occurrs within other, nested tags
December 31, 2010:
Jstacs 1.4 released
- added DincleotideProperty for computing properties like melting temperature, twist, or G/C content
- support for multidimensional sequence data
- more widespread use of TerminationConditions
- completely rewritten XMLParser
- extension of motif discovery to weighted data
- OneSampleLogGenDisMixFunction for using the same Sample with different weights for the different classes
- Jstacs requires Java 1.6 now
March 2, 2010:
Jstacs 1.3.1 released
- Partitioning of Samples including weights
- Release of Dispom (de-novo discovery of differentially abundant transcription factor binding sites including their positional preference)
- Several bugfixes
December 2, 2009:
Jstacs 1.3 released
- generalized termination of numerical optimization in de.jstacs.algorithms.optimization.termination
- Added a unified generative-discriminative learning principle in de.jstacs.classifier.scoringFunctionBased.gendismix
- Implemented a multi-threaded variant of MCL/MSP and GenDisMix in the LogGenDisMixFunction
- Added a convenience class DNASample for samples of DNA sequences
- Added the class ParameterSetTagger to use parameter sets in command line programs
- Several bugfixes
April 8, 2009:
Jstacs 1.2.2 released
- Bugfix-Release
February 19, 2009:
Jstacs 1.2.1 released
- Bugfix in EnumParameter
February 2, 2009:
Jstacs 1.2 released
- Bugfixes
- Discriminative de-novo motif discovery
- Transformed Dirichlet Prior for numerical optimization
October 29, 2008:
Jstacs 1.1 released
- Bugfixes
- Improved Javadoc
- De-novo motif discovery
September 8, 2008:
The first version of Jstacs has been released.