# BioJava-1.7

Core biological packages
org.biojava.bibliography: The data structures and interfaces included in this package define an interoperable framework for bibliographic searches.
org.biojava.bio: The core classes that will be used throughout the bio packages.
org.biojava.bio.alignment: Classes to generate and describe sequence alignments.
org.biojava.bio.dist: Probability distributions over Alphabets.
org.biojava.bio.search: Interfaces and classes for representing sequence similarity search results.
org.biojava.bio.seq: Classes and interfaces for defining biological sequences and informatics objects.
org.biojava.bio.seq.db: Collections of biological sequence data.
org.biojava.bio.seq.filter
org.biojava.bio.seq.io: Classes and interfaces for processing and producing flat-file representations of sequences.
org.biojava.bio.symbol: Representation of the Symbols that make up a sequence, and locations within them.
org.biojava.bio.taxa: Taxonomy object for representing species information.
org.biojava.directory: Open Bio Sequence Database Access (OBDA) registry support.

User interface components
org.biojava.bio.gui: Graphical interfaces for biojava objects.
org.biojava.bio.gui.glyph: Glyphs implementations that draw shapes into SequenceRenderers
org.biojava.bio.gui.sequence: Graphical displays of biological sequences and associated annotations.
org.biojava.bio.gui.sequence.tracklayout: Classes for the handling of the layout of a WrappedSequencePanel.

Sequence databases and formats
org.biojava.bio.program.das: Development client for the Distributed Annotation System.
org.biojava.bio.program.das.dasalignment: request alignments via DAS
org.biojava.bio.program.homologene: Support classes for Homologene data.
org.biojava.bio.program.indexdb: A flat-file ascii index of ascii flat files as per the OBDA specification.
org.biojava.bio.program.xff: Event-driven parsing system for the Extensible Feature Format (XFF).
org.biojava.bio.seq.db.biofetch: Client for the OBDA BioFetch protocol.
org.biojava.bio.seq.db.biosql: General purpose Sequence storage in a relational database.
org.biojava.bio.seq.db.emblcd: Readers for the EMBL CD-ROM format binary index files used by EMBOSS and Staden packages.
org.biojava.bio.seq.db.flat: Support for OBDA flatfile databases.
org.biojava.bio.seq.io.agave: Classes for converting between AGAVE XML and BioJava objects.
org.biojava.bio.seq.io.game: Event-driven parsing system for the Gene Annotation Markup Elements (GAME).
org.biojava.bio.seq.io.game12: Event-driven parsing system for the Gene Annotation Markup Elements (GAME).

Handling output from external tools
org.biojava.bio.program: Java wrappers for interacting with external bioinformatics tools.
org.biojava.bio.program.blast2html: Code for generating HTML reports from blast output
org.biojava.bio.program.gff: GFF manipulation.
org.biojava.bio.program.gff3: Support for reading and writing GFF3.
org.biojava.bio.program.hmmer: Tools for working with profile Hidden Markov Models from the HMMer package.
org.biojava.bio.program.phred: Parser for Phred output
org.biojava.bio.program.sax: Parsers which offer XML representations of the output from common bioinformatics tools.
org.biojava.bio.program.sax.blastxml: Parsers for the XML output from NCBI blast.
org.biojava.bio.program.ssbind: Creation of objects from SAX events using the BioJava BlastLikeDataSetCollection DTD.
org.biojava.bio.program.xml: Utility classes for the `org.biojava.bio.program.sax` package.

Dynamic programming packages
org.biojava.bio.dp: HMM and Dynamic Programming Algorithms.
org.biojava.bio.dp.onehead
org.biojava.bio.dp.twohead

Chromatogram and trace file support
org.biojava.bio.chromatogram: Interfaces and classes for chromatogram data, as produced by DNA sequencing equipment.
org.biojava.bio.chromatogram.graphic: Tools for displaying chromatograms.
org.biojava.bio.program.abi: ABI Trace Handling.
org.biojava.bio.program.scf: Support for the SCF chromatogram format.

Macromolecular structure (PDB)
org.biojava.bio.program.das.dasstructure: request a protein structure via DAS
org.biojava.bio.structure: Interfaces and classes for protein structure (PDB).
org.biojava.bio.structure.align: Classes for the super-imposition of structures.
org.biojava.bio.structure.align.helper: Helper classes for structural alignment.
org.biojava.bio.structure.align.pairwise: Classes for the pairwise alignment of structures.
org.biojava.bio.structure.gui: A few convenience classes to view protein structures with Jmol (if it is on the classpath), to calculate a protein structure alignment and to investigate the internals of the protein structure alignment algorithm.
org.biojava.bio.structure.io: Input and Output of Structures
org.biojava.bio.structure.jama: Matrix package for from JAMA
org.biojava.bio.structure.server: classes for easier management of PDB installations

Utilities and developers' packages
org.biojava.bio.program.tagvalue: Process files as streams of records, each with tags with values.
org.biojava.bio.seq.impl: Standard in-memory implementations of `Sequence` and `Feature`.
org.biojava.bio.seq.io.filterxml: Tools for reading and writing an XML representation of BioJava's FeatureFilter language.
org.biojava.bio.seq.projection: Code for projecting Feature objects and systematically altering their properties.
org.biojava.naming
org.biojava.ontology: A general-purpose API for ontologies.
org.biojava.ontology.io: Tools for loading and saving ontologies.
org.biojava.utils: Miscellaneous utility classes used by other BioJava components.
org.biojava.utils.automata
org.biojava.utils.cache: A simple cache system with pluggable caching behaviours.
org.biojava.utils.candy: The data structures and interfaces included in this package define an interoperable framework for simple controlled vocabularies.
org.biojava.utils.io: I/O utility classes.
org.biojava.utils.math: Mathematical utility classes.
org.biojava.utils.net: Network programming utility classes.
org.biojava.utils.process: Classes and interfaces to execute external processes and to handle its input and output streams in multiple threads.
org.biojava.utils.regex: This package is used to perform regular expression searches of SymbolLists defined in arbitrary Alphabets.
org.biojava.utils.stax: The Stack API for XML (StAX).
org.biojava.utils.walker
org.biojava.utils.xml: Utility classes for handling and generating XML documents.

Molecular biology packages
org.biojava.bio.molbio: The classes and interfaces in this package cover common molecular biological techniques such as restriction digests and PCR.
org.biojava.bio.proteomics: Utilities to aid in performing various physical analysis of proteins.
org.biojava.bio.proteomics.aaindex: Classes and interfaces to load Amino Acid Index database files.

Experimental packages
org.biojava.bio.annodb: Databases of generic structured data (annotation) objects.
org.biojava.bio.program.formats: Experimental parsers using the tagvalue framework.
org.biojava.bio.program.ssaha: SSAHA sequence searching API.
org.biojava.bio.program.unigene: Objects for representing Unigene clusters.
org.biojava.bio.seq.distributed: Sequences and SequenceDBs which are composed from data taken from a number of data sources.
org.biojava.bio.seq.homol: The classes and interfaces for defining sequence similarity and honology.
org.biojava.stats.svm: Support Vector Machine classification and regression.
org.biojava.stats.svm.tools: Tools for use of the SVM package.
org.biojava.utils.lsid: Life Science Identifier (LSID) package.

Biojava extension (biojavax) packages
org.biojavax: The Biojava extensions packages, classes that extend the core biojava functionality
org.biojavax.bio: Classes to represent biological entities and their relationships.
org.biojavax.bio.db: Interactions between biojavax objects and a DB.
org.biojavax.bio.db.biosql: Interface between biojava and biosql databases
org.biojavax.bio.db.ncbi: Interfaces to NCBI data.
org.biojavax.bio.seq: Rich implementations of Sequences, Locations and Features.
org.biojavax.bio.seq.io: Classes to support the I/O of RichSequence and Bioentry objects.
org.biojavax.bio.taxa: Objects that model the NCBI taxonomy schema as described in the BioSQL schema.
org.biojavax.bio.taxa.io
org.biojavax.ontology: Extensions to the biojava ontology model that represent BioSQL ontology.
org.biojavax.utils: Utility classes that are used by biojavax objects but could have wider utility to other applications.

Genetic Algorithm Framework
org.biojavax.ga: Classes to provide a genetic algorithm framework
org.biojavax.ga.exception: Exceptions related to the GA framework
org.biojavax.ga.functions: GA functions
org.biojavax.ga.impl: Default implementations and abstract classes.
org.biojavax.ga.util: Utility functions and helper classes

Experimental Phylogeny packages
org.biojavax.bio.phylo: Classes to support phlylogeny objects.
org.biojavax.bio.phylo.io.nexus: Classes to support the I/O of Nexus files.
org.biojavax.bio.phylo.io.phylip: Classes to support the reading and writing of PHYLIP format.

Other Packages
org.biojava.bio.structure.gui.events: Some event classes for the protein structure GUIs.
org.biojava.bio.structure.gui.util: Some utility classes for the protein structure GUIs.
org.biojava.bio.structure.io.mmcif: Input and Output of mmcif files
org.biojava.bio.structure.io.mmcif.chem
org.biojava.bio.structure.io.mmcif.model: Datamodel objects used for processing mmcif files.
org.biojava.ontology.obo