What's new in Jstacs 2.1
Jun 18, 2013
- 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
New in Jstacs 2.0 (Jun 18, 2013)
- 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
New in Jstacs 1.5 (Jun 18, 2013)
- 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
New in Jstacs 1.4 (Jun 18, 2013)
- 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
New in Jstacs 1.3.1 (Jun 18, 2013)
- Partitioning of Samples including weights
- Release of Dispom (de-novo discovery of differentially abundant transcription factor binding sites including their positional preference)
- Several bugfixes