Version history: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
''Mai 31, 2013:<br /> | |||
Jstacs 2.1 released | |||
New classes: | |||
* [http://www.jstacs.de/api-2.1/de/jstacs/algorithms/optimization/termination/MultipleIterationsCondition.html MultipleIterationsCondition]: Requires another TerminationCondition to fail a contiguous, specified number of times | |||
* [http://www.jstacs.de/api-2.1/de/jstacs/classifiers/ClassifierFactory.html ClassifierFactory]: Allows for creating standard classifiers | |||
* [http://www.jstacs.de/api-2.1/de/jstacs/utils/SeqLogoPlotter.html SeqLogoPlotter]: Plot PNG sequence logos from within Jstacs | |||
* [http://www.jstacs.de/api-2.1/de/jstacs/sequenceScores/statisticalModels/trainable/hmm/states/emissions/continuous/MultivariateGaussianEmission.html MultivariateGaussianEmission]: Multivariate Gaussian emission density for a Hidden Markov Model | |||
* [http://www.jstacs.de/api-2.1/de/jstacs/sequenceScores/statisticalModels/trainable/discrete/inhomogeneous/MEM.html MEM]: Maximum entropy model | |||
New features and improvements: | |||
* [http://www.jstacs.de/api-2.1/de/jstacs/algorithms/alignment/Alignment.html Alignment]: Added [http://www.jstacs.de/api-2.1/de/jstacs/algorithms/alignment/Alignment.AlignmentType.html#FREE_SHIFT free shift] alignment | |||
* [http://www.jstacs.de/api-2.1/de/jstacs/classifiers/performanceMeasures/PerformanceMeasure.html PerformanceMeasure] and sub-classes: Extension to weighted test data | |||
* [http://www.jstacs.de/api-2.1/de/jstacs/data/alphabets/DNAAlphabet.html DNAAlphabet]: Parser speed-up | |||
* [http://www.jstacs.de/api-2.1/de/jstacs/utils/PFMComparator.html PFMComparator]: Extension to PFM from other sources/databases | |||
* [http://www.jstacs.de/api-2.1/de/jstacs/utils/ToolBox.html ToolBox]: New convenience methods for computing several statistics (e.g., median, correlation) | |||
* [http://www.jstacs.de/api-2.1/de/jstacs/motifDiscovery/SignificantMotifOccurrencesFinder.html SignificantMotifOccurrencesFinder]: New methods for computing PWMs and statistics from predictions | |||
* [http://www.jstacs.de/api-2.1/de/jstacs/sequenceScores/SequenceScore.html SequenceScore] and sub-classes: New method toString(NumberFormat) | |||
* [http://www.jstacs.de/api-2.1/de/jstacs/classifiers/AbstractClassifier.html AbstractClassifier], [http://www.jstacs.de/api-2.1/de/jstacs/classifiers/assessment/ClassifierAssessment.html ClassifierAssessment] and sub-classes: Adaption to weighted [http://www.jstacs.de/api-2.1/de/jstacs/classifiers/performanceMeasures/PerformanceMeasure.html PerformanceMeasures] | |||
* [http://www.jstacs.de/api-2.1/de/jstacs/data/DataSet.html DataSet]: Adaption to weighted data, e.g., partitioning | |||
* [http://www.jstacs.de/api-2.1/de/jstacs/utils/REnvironment.html REnvironment]: Changed several methods from String to CharSequence | |||
Restructuring: | |||
* changed MultiDimensionalSequenceWrapperDiffSM to [http://www.jstacs.de/api-2.1/de/jstacs/sequenceScores/differentiable/MultiDimensionalSequenceWrapperDiffSS.html MultiDimensionalSequenceWrapperDiffSS] | |||
Several minor new features, bug fixes, and code cleanups | |||
---- | |||
''February 2, 2012:<br /> | ''February 2, 2012:<br /> | ||
Jstacs 2.0 released | Jstacs 2.0 released | ||
Line 6: | Line 35: | ||
Restructuring and Renaming: | Restructuring and Renaming: | ||
* former ScoringFunction, NormalizableScoringFunction, Model | * former ScoringFunction, NormalizableScoringFunction, Model | ||
** new base-interface [http://www.jstacs.de/api/de/jstacs/sequenceScores/SequenceScore.html SequenceScore] | ** new base-interface [http://www.jstacs.de/api-2.0/de/jstacs/sequenceScores/SequenceScore.html SequenceScore] | ||
** new sub-interface [http://www.jstacs.de/api/de/jstacs/sequenceScores/statisticalModels/StatisticalModel.html StatisticalModel] of [http://www.jstacs.de/api/de/jstacs/sequenceScores/SequenceScore.html SequenceScore] for all statistical models with sub-iterfaces [http://www.jstacs.de/api/de/jstacs/sequenceScores/statisticalModels/differentiable/DifferentiableStatisticalModel.html DifferentiableStatisticalModel] and [http://www.jstacs.de/api/de/jstacs/sequenceScores/statisticalModels/trainable/TrainableStatisticalModel.html TrainableStatisticalModel] | ** new sub-interface [http://www.jstacs.de/api-2.0/de/jstacs/sequenceScores/statisticalModels/StatisticalModel.html StatisticalModel] of [http://www.jstacs.de/api-2.0/de/jstacs/sequenceScores/SequenceScore.html SequenceScore] for all statistical models with sub-iterfaces [http://www.jstacs.de/api-2.0/de/jstacs/sequenceScores/statisticalModels/differentiable/DifferentiableStatisticalModel.html DifferentiableStatisticalModel] and [http://www.jstacs.de/api-2.0/de/jstacs/sequenceScores/statisticalModels/trainable/TrainableStatisticalModel.html TrainableStatisticalModel] | ||
** new interface [http://www.jstacs.de/api/de/jstacs/sequenceScores/differentiable/DifferentiableSequenceScore.html DifferentiableSequenceScore] replaces ScoringFunction | ** new interface [http://www.jstacs.de/api-2.0/de/jstacs/sequenceScores/differentiable/DifferentiableSequenceScore.html DifferentiableSequenceScore] replaces ScoringFunction | ||
** new interface [http://www.jstacs.de/api/de/jstacs/sequenceScores/statisticalModels/differentiable/DifferentiableStatisticalModel.html DifferentiableStatisticalModel] replaces NormalizableScoringFunction | ** new interface [http://www.jstacs.de/api-2.0/de/jstacs/sequenceScores/statisticalModels/differentiable/DifferentiableStatisticalModel.html DifferentiableStatisticalModel] replaces NormalizableScoringFunction | ||
** new interface [http://www.jstacs.de/api/de/jstacs/sequenceScores/statisticalModels/trainable/TrainableStatisticalModel.html TrainableStatisticalModel] replaces Model | ** new interface [http://www.jstacs.de/api-2.0/de/jstacs/sequenceScores/statisticalModels/trainable/TrainableStatisticalModel.html TrainableStatisticalModel] replaces Model | ||
** new abstract class [http://www.jstacs.de/api/de/jstacs/sequenceScores/differentiable/AbstractDifferentiableSequenceScore.html AbstractDifferentiableSequenceScore] | ** new abstract class [http://www.jstacs.de/api-2.0/de/jstacs/sequenceScores/differentiable/AbstractDifferentiableSequenceScore.html AbstractDifferentiableSequenceScore] | ||
** new abstract class [http://www.jstacs.de/api/de/jstacs/sequenceScores/statisticalModels/differentiable/AbstractDifferentiableStatisticalModel.html AbstractDifferentiableStatisticalModel] replaces AbstractNormalizableScoringFunction | ** new abstract class [http://www.jstacs.de/api-2.0/de/jstacs/sequenceScores/statisticalModels/differentiable/AbstractDifferentiableStatisticalModel.html AbstractDifferentiableStatisticalModel] replaces AbstractNormalizableScoringFunction | ||
** new abstract class [http://www.jstacs.de/api/de/jstacs/sequenceScores/statisticalModels/trainable/AbstractTrainableStatisticalModel.html AbstractTrainableStatisticalModel] replaces AbstractModel | ** new abstract class [http://www.jstacs.de/api-2.0/de/jstacs/sequenceScores/statisticalModels/trainable/AbstractTrainableStatisticalModel.html AbstractTrainableStatisticalModel] replaces AbstractModel | ||
** former *Models renamed to *TrainSM | ** former *Models renamed to *TrainSM | ||
** former *ScoringFunction renamed to *DiffSS or *DiffSM | ** former *ScoringFunction renamed to *DiffSS or *DiffSM | ||
Line 19: | Line 48: | ||
** getLogScore(Sequence,int,int) with changed meaning of arguments: getLogScore(Sequence,start,end) instead of getLogScore(Sequence,start,length) | ** 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() | ** isTrained() replaced by common method isInitialized() | ||
* Sample renamed to [http://www.jstacs.de/api/de/jstacs/data/DataSet.html DataSet] | * Sample renamed to [http://www.jstacs.de/api-2.0/de/jstacs/data/DataSet.html DataSet] | ||
* Parameters and Results | * Parameters and Results | ||
** new super-class of Parameters and Results: [http://www.jstacs.de/api/de/jstacs/AnnotatedEntity.html AnnotatedEntity] | ** new super-class of Parameters and Results: [http://www.jstacs.de/api-2.0/de/jstacs/AnnotatedEntity.html AnnotatedEntity] | ||
** common list-type for Parameters and Results: [http://www.jstacs.de/api/de/jstacs/AnnotatedEntityList.html AnnotatedEntityList] | ** common list-type for Parameters and Results: [http://www.jstacs.de/api-2.0/de/jstacs/AnnotatedEntityList.html AnnotatedEntityList] | ||
** Renaming: CollectionParameter -> [http://www.jstacs.de/api/de/jstacs/parameters/SelectionParameter.html SelectionParameter], MultiSelectionCollectionParameter -> [http://www.jstacs.de/api/de/jstacs/parameters/MultiSelectionParameter.html MultiSelectionParameter], new super-class [http://www.jstacs.de/api/de/jstacs/parameters/AbstractSelectionParameter.html AbstractSelectionParameter] | ** Renaming: CollectionParameter -> [http://www.jstacs.de/api-2.0/de/jstacs/parameters/SelectionParameter.html SelectionParameter], MultiSelectionCollectionParameter -> [http://www.jstacs.de/api-2.0/de/jstacs/parameters/MultiSelectionParameter.html MultiSelectionParameter], new super-class [http://www.jstacs.de/api-2.0/de/jstacs/parameters/AbstractSelectionParameter.html AbstractSelectionParameter] | ||
** major refactoring due to common hierarchy and code-cleanup | ** major refactoring due to common hierarchy and code-cleanup | ||
** lazy evaluation of Parameter/ParameterSet hierarchies moved from ParameterSet (loadParameters()) to [http://www.jstacs.de/api/de/jstacs/parameters/ParameterSetContainer.html ParameterSetContainer] (constructor on class) | ** lazy evaluation of Parameter/ParameterSet hierarchies moved from ParameterSet (loadParameters()) to [http://www.jstacs.de/api-2.0/de/jstacs/parameters/ParameterSetContainer.html ParameterSetContainer] (constructor on class) | ||
** [http://www.jstacs.de/api/de/jstacs/utils/SubclassFinder.html SubclassFinder] adapted to lazy evaluation | ** [http://www.jstacs.de/api-2.0/de/jstacs/utils/SubclassFinder.html SubclassFinder] adapted to lazy evaluation | ||
* performance measures | * performance measures | ||
** new abstract super-class [http://www.jstacs.de/api/de/jstacs/classifiers/performanceMeasures/AbstractPerformanceMeasure.html AbstractPerformanceMeasure] of all performance measures | ** new abstract super-class [http://www.jstacs.de/api-2.0/de/jstacs/classifiers/performanceMeasures/AbstractPerformanceMeasure.html AbstractPerformanceMeasure] of all performance measures | ||
** new interface [http://www.jstacs.de/api/de/jstacs/classifiers/performanceMeasures/NumericalPerformanceMeasure.html NumericalPerformanceMeasure] for all performance measures that return a single number (as opposed, e.g., to curves) | ** new interface [http://www.jstacs.de/api-2.0/de/jstacs/classifiers/performanceMeasures/NumericalPerformanceMeasure.html NumericalPerformanceMeasure] for all performance measures that return a single number (as opposed, e.g., to curves) | ||
** new class [http://www.jstacs.de/api/de/jstacs/classifiers/performanceMeasures/PerformanceMeasureParameterSet.html PerformanceMeasureParameterSet] for a collection of general performance measures | ** new class [http://www.jstacs.de/api-2.0/de/jstacs/classifiers/performanceMeasures/PerformanceMeasureParameterSet.html PerformanceMeasureParameterSet] for a collection of general performance measures | ||
** new class [http://www.jstacs.de/api/de/jstacs/classifiers/performanceMeasures/NumericalPerformanceMeasureParameterSet.html NumericalPerformanceMeasureParameterSet] for a collection of [http://www.jstacs.de/api/de/jstacs/classifiers/performanceMeasures/NumericalPerformanceMeasure.html NumericalPerformanceMeasure]s | ** new class [http://www.jstacs.de/api-2.0/de/jstacs/classifiers/performanceMeasures/NumericalPerformanceMeasureParameterSet.html NumericalPerformanceMeasureParameterSet] for a collection of [http://www.jstacs.de/api-2.0/de/jstacs/classifiers/performanceMeasures/NumericalPerformanceMeasure.html NumericalPerformanceMeasure]s | ||
** used in evaluate-method of [http://www.jstacs.de/api/de/jstacs/classifiers/AbstractClassifier.html AbstractClassifier] and in [http://www.jstacs.de/api/de/jstacs/classifiers/assessment/ClassifierAssessment.html ClassifierAssessments] | ** used in evaluate-method of [http://www.jstacs.de/api-2.0/de/jstacs/classifiers/AbstractClassifier.html AbstractClassifier] and in [http://www.jstacs.de/api-2.0/de/jstacs/classifiers/assessment/ClassifierAssessment.html ClassifierAssessments] | ||
* evaluate and evaluateAll in [http://www.jstacs.de/api/de/jstacs/classifiers/AbstractClassifier.html AbstractClassifier] joined | * evaluate and evaluateAll in [http://www.jstacs.de/api-2.0/de/jstacs/classifiers/AbstractClassifier.html AbstractClassifier] joined | ||
* new class [http://www.jstacs.de/api/de/jstacs/sequenceScores/differentiable/IndependentProductDiffSS.html IndependentProductDiffSS] as super-class of [http://www.jstacs.de/api/de/jstacs/sequenceScores/statisticalModels/differentiable/IndependentProductDiffSM.html IndepedentProductDiffSM] (former IndependentProductScoringFunction) | * new class [http://www.jstacs.de/api-2.0/de/jstacs/sequenceScores/differentiable/IndependentProductDiffSS.html IndependentProductDiffSS] as super-class of [http://www.jstacs.de/api-2.0/de/jstacs/sequenceScores/statisticalModels/differentiable/IndependentProductDiffSM.html IndepedentProductDiffSM] (former IndependentProductScoringFunction) | ||
* new class [http://www.jstacs.de/api/de/jstacs/sequenceScores/differentiable/UniformDiffSS.html UniformDiffSS] as super-class of [http://www.jstacs.de/api/de/jstacs/sequenceScores/statisticalModels/differentiable/UniformDiffSM.html UniformDiffSM] (former UniformScoringFunction) | * new class [http://www.jstacs.de/api-2.0/de/jstacs/sequenceScores/differentiable/UniformDiffSS.html UniformDiffSS] as super-class of [http://www.jstacs.de/api-2.0/de/jstacs/sequenceScores/statisticalModels/differentiable/UniformDiffSM.html UniformDiffSM] (former UniformScoringFunction) | ||
New functionality: | New functionality: | ||
* multi-threaded implementation of Baum-Welch and Viterbi training of hidden Markov models | * multi-threaded implementation of Baum-Welch and Viterbi training of hidden Markov models | ||
* new Interface [http://www.jstacs.de/api/de/jstacs/Singleton.html Singleton] that can be used for singleton instances to save memory, current examples: [http://www.jstacs.de/api/de/jstacs/data/alphabets/DNAAlphabet.html DNAAlphabet], [http://www.jstacs.de/api/de/jstacs/data/alphabets/DNAAlphabetContainer.html DNAAlphabetContainer], [http://www.jstacs.de/api/de/jstacs/data/alphabets/ProteinAlphabet.html ProteinAlphabet] | * new Interface [http://www.jstacs.de/api-2.0/de/jstacs/Singleton.html Singleton] that can be used for singleton instances to save memory, current examples: [http://www.jstacs.de/api-2.0/de/jstacs/data/alphabets/DNAAlphabet.html DNAAlphabet], [http://www.jstacs.de/api-2.0/de/jstacs/data/alphabets/DNAAlphabetContainer.html DNAAlphabetContainer], [http://www.jstacs.de/api-2.0/de/jstacs/data/alphabets/ProteinAlphabet.html ProteinAlphabet] | ||
* added possibility to use NaN-values with [http://www.jstacs.de/api/de/jstacs/data/alphabets/ContinuousAlphabet.html ContinuousAlphabets] | * added possibility to use NaN-values with [http://www.jstacs.de/api-2.0/de/jstacs/data/alphabets/ContinuousAlphabet.html ContinuousAlphabets] | ||
* added [http://www.jstacs.de/api/de/jstacs/data/alphabets/ProteinAlphabet.html ProteinAlphabet] | * added [http://www.jstacs.de/api-2.0/de/jstacs/data/alphabets/ProteinAlphabet.html ProteinAlphabet] | ||
* added [http://www.jstacs.de/api/de/jstacs/data/sequences/ArbitraryFloatSequence.html ArbitraryFloatSequence] including static methods for [http://www.jstacs.de/api/de/jstacs/data/DataSet.html DataSet] creation for cases where double-precision is not needed | * added [http://www.jstacs.de/api-2.0/de/jstacs/data/sequences/ArbitraryFloatSequence.html ArbitraryFloatSequence] including static methods for [http://www.jstacs.de/api-2.0/de/jstacs/data/DataSet.html DataSet] creation for cases where double-precision is not needed | ||
* new performance measure [http://www.jstacs.de/api/de/jstacs/classifiers/performanceMeasures/MaximumFMeasure.html MaximumFMeasure] | * new performance measure [http://www.jstacs.de/api-2.0/de/jstacs/classifiers/performanceMeasures/MaximumFMeasure.html MaximumFMeasure] | ||
* access to Parameters in ParameterSets and Results in ResultSets by name | * access to Parameters in ParameterSets and Results in ResultSets by name | ||
* emitDataSet in [http://www.jstacs.de/api/de/jstacs/sequenceScores/statisticalModels/differentiable/directedGraphicalModels/BayesianNetworkDiffSM.html BayesianNetworkDiffSM] | * emitDataSet in [http://www.jstacs.de/api-2.0/de/jstacs/sequenceScores/statisticalModels/differentiable/directedGraphicalModels/BayesianNetworkDiffSM.html BayesianNetworkDiffSM] | ||
* new static method [http://www.jstacs.de/api/de/jstacs/utils/Time.html#getTimeInstance(java.io.OutputStream) Time.getTimeInstance] that returns UserTime or RealTime depending on availability of shared lib | * new static method [http://www.jstacs.de/api-2.0/de/jstacs/utils/Time.html#getTimeInstance(java.io.OutputStream) Time.getTimeInstance] that returns UserTime or RealTime depending on availability of shared lib | ||
* [http://www.jstacs.de/api/de/jstacs/utils/SubclassFinder.html SubclassFinder] allows for adding own base packages | * [http://www.jstacs.de/api-2.0/de/jstacs/utils/SubclassFinder.html SubclassFinder] allows for adding own base packages | ||
* new method overlaps() in [http://www.jstacs.de/api/de/jstacs/data/sequences/annotation/LocatedSequenceAnnotationWithLength.html LocatedSequenceAnnotationWithLength] | * new method overlaps() in [http://www.jstacs.de/api-2.0/de/jstacs/data/sequences/annotation/LocatedSequenceAnnotationWithLength.html LocatedSequenceAnnotationWithLength] | ||
* [http://www.jstacs.de/api/de/jstacs/algorithms/optimization/termination/AbstractTerminationCondition.html AbstractTerminationCondition] used in [http://www.jstacs.de/api/de/jstacs/classifiers/differentiableSequenceScoreBased/ScoreClassifier.html ScoreClassifier] and sub-classes | * [http://www.jstacs.de/api-2.0/de/jstacs/algorithms/optimization/termination/AbstractTerminationCondition.html AbstractTerminationCondition] used in [http://www.jstacs.de/api-2.0/de/jstacs/classifiers/differentiableSequenceScoreBased/ScoreClassifier.html ScoreClassifier] and sub-classes | ||
* public method propagateESS in [http://www.jstacs.de/api/de/jstacs/sequenceScores/statisticalModels/trainable/hmm/HMMFactory.html HMMFactory] | * public method propagateESS in [http://www.jstacs.de/api-2.0/de/jstacs/sequenceScores/statisticalModels/trainable/hmm/HMMFactory.html HMMFactory] | ||
* new method generateLog in [http://www.jstacs.de/api/de/jstacs/utils/random/DirichletMRG.html DirichletMRG] for drawing log-values | * new method generateLog in [http://www.jstacs.de/api-2.0/de/jstacs/utils/random/DirichletMRG.html DirichletMRG] for drawing log-values | ||
* added [http://www.jstacs.de/api/de/jstacs/sequenceScores/statisticalModels/differentiable/DifferentiableStatisticalModelFactory.html DifferentiableStatisticalModelFactory] | * added [http://www.jstacs.de/api-2.0/de/jstacs/sequenceScores/statisticalModels/differentiable/DifferentiableStatisticalModelFactory.html DifferentiableStatisticalModelFactory] | ||
Bugfixes/Improvements: | Bugfixes/Improvements: | ||
* bugfix in propagation of equivalent sample size in [http://www.jstacs.de/api/de/jstacs/sequenceScores/statisticalModels/trainable/hmm/HMMFactory.html HMMFactory] | * bugfix in propagation of equivalent sample size in [http://www.jstacs.de/api-2.0/de/jstacs/sequenceScores/statisticalModels/trainable/hmm/HMMFactory.html HMMFactory] | ||
* bugfix in random initialization of [http://www.jstacs.de/api/de/jstacs/sequenceScores/statisticalModels/trainable/hmm/transitions/BasicHigherOrderTransition.html BasicHigherOrderTransition] | * bugfix in random initialization of [http://www.jstacs.de/api-2.0/de/jstacs/sequenceScores/statisticalModels/trainable/hmm/transitions/BasicHigherOrderTransition.html BasicHigherOrderTransition] | ||
* improved [http://www.jstacs.de/api/de/jstacs/algorithms/alignment/Alignment.html Alignment] implementation | * improved [http://www.jstacs.de/api-2.0/de/jstacs/algorithms/alignment/Alignment.html Alignment] implementation | ||
* [http://www.jstacs.de/api/de/jstacs/utils/SafeOutputStream.html SafeOutputStream] with new static factory method getSafeOutputStream, write methods now work on Objects | * [http://www.jstacs.de/api-2.0/de/jstacs/utils/SafeOutputStream.html SafeOutputStream] with new static factory method getSafeOutputStream, write methods now work on Objects | ||
Documentation: | Documentation: | ||
Line 65: | Line 94: | ||
Misc: | Misc: | ||
* output of [http://www.jstacs.de/api/de/jstacs/io/NonParsableException.html NonParsableException] more verbose | * output of [http://www.jstacs.de/api-2.0/de/jstacs/io/NonParsableException.html NonParsableException] more verbose | ||
* Exceptions in multi-threaded code now lead to exit of program instead of only stopping the thread | * Exceptions in multi-threaded code now lead to exit of program instead of only stopping the thread | ||
* update of RServe/RClient | * update of RServe/RClient |
Revision as of 15:11, 31 May 2013
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
- MEM: 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.