Jahmm is a Java library implementing the various, well-known algorithms related to Hidden Markov Models (HMMs for short).
This library is released under the BSD license.
This library is short and simple. It's been written for clarity. It is particularly well suited for research and academic use.
To compile the library, you simply need to compile all the files held in the src/main/java directory. Thus, simply calling 'javac' with all the .java files held in the 'src' directory as arguments compiles everything.
Compiling can be done using the Maven build tool (see maven.apache.org) by typing 'mvn compile' in the root directory of the distribution (where the 'pom.xml' file resides).
Jahmm requires Java 1.7.0.
The generated .class files will be put in the 'target/classes' directory.
Notice that if you just want to try the library, you don't have to compile it. '.jar' files for each Jahmm release are available on the website; to use it, simply launch:
javac -classpath /path/to/jahmm-<version>.jar Myprogram.java
...to compile your program, and:
java -cp /path/to/jahmm-<version>.jar myMainClass
(e.g. java -cp /home/smith/java_class/jahmm-0.7.x.jar test/Testing
)
...to run it. You can also put the '.jar' file in your classpath.
Once the library has been compiled, you can launch a sample program by typing:
mvn -Psample compile
...in the distribution root directory. This launches the SimpleExample.java
sample program.
Unit tests (JUnit) have also been written; see pom.xml
and the
src/test/java/be/ac/ulg/montefiore/run/jahmm/test
directory. To launch those
tests, use mvn test
.
- pom.xml: the Maven project file.
- src/main/java: all the .java files. src/main/.../distributions: Pseudo-random distributions. src/main/.../jahmm: The Jahmm library itself. This directory holds one directory per Java package; see the Jahmm website for more information about each of them. src/test/: Unit tests. src/main/.../jahmm/apps: Simple applications.
- examples: various example files
- README: this file.
- CHANGES: changelog.
- LICENSE: license file.
- THANKS: contributors.
Jahmm's author is Jean-Marc François. Its current maintainer is Jan Hauffa. The project website is https://github.com/jhauffa/jahmm . Report bugs to:
- https://github.com/jhauffa/jahmm/issues The preferred way of contributing code is to send a pull request. You can also open an issue using the above link and attach your patch. Feel free to send comments and questions related to this library to:
- http://groups.google.com/group/jahmm-discuss or
jahmm-discuss@googlegroups.com
(for questions/comments)