Version history: Difference between revisions

From Jstacs
Jump to navigationJump to search
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 17:11, 31 May 2013

Mai 31, 2013:
Jstacs 2.1 released

New classes:

New features and improvements:

Restructuring:

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:

New functionality:

Bugfixes/Improvements:

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


December 31, 2010:
Jstacs 1.4 released


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


April 8, 2009:
Jstacs 1.2.2 released

  • Bugfix-Release

February 19, 2009:
Jstacs 1.2.1 released


February 2, 2009:
Jstacs 1.2 released


October 29, 2008:
Jstacs 1.1 released


September 8, 2008:
The first version of Jstacs has been released.