## Package org.biojava.bio.seq

Classes and interfaces for defining biological sequences and informatics objects.

See:
Description

Interface Summary
ComponentFeature: Feature which represents a component in an assembly (contig).
Feature: A feature within a sequence, or nested within another feature.
FeatureFilter: A filter for accepting or rejecting a feature.
FeatureHolder: The interface for objects that contain features.
FeatureRealizer: Interface for translators which map from Feature.Template instances to real Feature objects.
FeatureTypes.Repository: A named collection of Types.
FeatureTypes.Type: A type of feature.
FilterUtils.FilterTransformer: An object able to transform some FeatureFilter instances sytematically into others.
Frame: Title: Frame.
FramedFeature: Title: FramedFeature.
GappedSequence: Extension of GappedSymbolList which also projects features into the gapped coordinate system.
OptimizableFilter: The interface for filters that can potentialy optimize themselves, and compare themselves with other filters.
RealizingFeatureHolder: Interface for `FeatureHolder` objects which know how to instantiate new child Features.
RemoteFeature: A feature that indicates that there is some remote feature that can't be represented entirely on a single Sequence.
RemoteFeature.Resolver: The interface for objects that actually can take a RemoteFeature and return a Sequence object with the feature resolved into a real feature.
Sequence: A biological sequence.
SequenceAnnotator: An object which adds some additional information to a Sequence.
SequenceFactory: Deprecated. use org.biojavax.bio.seq.io.RichSequenceBuilder or use org.biojavax.bio.seq.io.SequenceBuilder
SequenceIterator: An iterator over a bag of sequences.
StrandedFeature: Adds the concept of 'strand' to features.

Class Summary
AbstractFeatureHolder: An abstract implementation of FeatureHolder.
ByLocationMinMaxComparator: A Comparator similar to Feature.ByLocationComparator except that the min and max positions of the location are both compared
ByLocationMinMaxFeatureComparator: Comparator that compares the min and max positions of Features Required by org.biojava.bio.gui.sequence.AbstractPeptideDigestRenderer instances.
CircularView: A circular view onto another Sequence object.
ComponentFeature.Template: Template for constructing a new ComponentFeature.
DNATools: Useful functionality for processing DNA sequences.
Feature.ByLocationComparator: `ByLocationComparator` compares `Feature`s by the minimum base position of their `Location`.
Feature.Template: Template class for a plain feature.
FeatureFilter.And: A filter that returns all features accepted by both child filter.
FeatureFilter.AnnotationContains: Retrieve features that contain a given annotation, and that the set of values contains the value given.
FeatureFilter.ByAncestor: Filter by applying a nested `FeatureFilter` to all ancestor features.
FeatureFilter.ByAnnotation: Retrieve features that contain a given annotation with a given value.
FeatureFilter.ByAnnotationType: A filter that returns all features that have an annotation bundle that is of a given annotation type.
FeatureFilter.ByChild: Filter by applying a nested `FeatureFilter` to the child features.
FeatureFilter.ByClass: Filter which accepts only those filters which are an instance of a specific Java class
FeatureFilter.ByComponentName: Accepts features which are ComponentFeatures and have a `componentSequenceName` property of the specified value.
FeatureFilter.ByDescendant: Filter by applying a nested `FeatureFilter` to all descendant features.
FeatureFilter.ByFeature: Accept only features which are equal to the specified feature
FeatureFilter.ByPairwiseScore: `ByPairwiseScore` is used to filter `SimilarityPairFeature`s by their score.
FeatureFilter.ByParent: Filter by applying a nested `FeatureFilter` to the parent feature.
FeatureFilter.BySequenceName: Accept features that reside on a sequence with a particular name.
FeatureFilter.BySource: Construct one of these to filter features by source.
FeatureFilter.ByType: Construct one of these to filter features by type.
FeatureFilter.ContainedByLocation: A filter that returns all features contained within a location.
FeatureFilter.FrameFilter: Accept features with a given reading frame.
FeatureFilter.HasAnnotation: Retrieve features that contain a given annotation with any value.
FeatureFilter.Not: A filter that returns all features not accepted by a child filter.
FeatureFilter.OnlyChildren: Accepts features where all immediate children meet the supplied filter.
FeatureFilter.OnlyDescendants: Accepts features where all descendants meet the supplied filter.
FeatureFilter.Or: A filter that returns all features accepted by at least one child filter.
FeatureFilter.OverlapsLocation: A filter that returns all features overlapping a location.
FeatureFilter.ShadowContainedByLocation: A filter that accepts all features whose shadow is contained by a specified `Location`.
FeatureFilter.ShadowOverlapsLocation: A filter that accepts all features whose shadow overlaps a specified `Location`.
FeatureFilter.StrandFilter: Accept features with a given strandedness.
FeatureHolder.EmptyFeatureHolder
FeatureHolderUtils: This class intendes to provide some FeatureHolder utilities.
FeatureTypes: Registry of known types of features.
FeatureTypes.RepositoryImpl: A simple implementation of a Repository.
FilterUtils: A set of FeatureFilter algebraic operations.
FramedFeature.ReadingFrame: A singleton to hold the frame information
FramedFeature.Template
GeneticCodes: Collects the references to translation methods in one place.
LazyFeatureHolder: Wrapper implementation of FeatureHolder which calls a method to create a contained FeatureHolder on demand.
MergeFeatureHolder: FeatureHolder which exposes all the features in a set of sub-FeatureHolders.
NewSimpleAssembly: A Sequence which is assembled from other sequences contained in a set of ComponentFeature objects.
NucleotideTools: Useful functionality for processing nucleotide sequences.
ProteinTools: The central port-of-call for all information and functionality specific to SymbolLists over the protein alphabet.
RemoteFeature.Region: A tuple of Location and sequence ID.
RemoteFeature.Template
RNATools: Useful functionality for processing DNA and RNA sequences.
SequenceTools: Methods for manipulating sequences.
SimpleAssembly: A Sequence which is assembled from other sequences contained in a set of ComponentFeature objects.
SimpleFeatureHolder: A no-frills implementation of FeatureHolder.
SimpleFeatureRealizer: FeatureRealizer which uses a lookup table to map template classes to implementations.
StrandedFeature.Strand: Class to represent the 'strandedness' of a feature.
StrandedFeature.Template: Template class for parameterizing the creation of a new `StrandedFeature`.
StrandParser: Process strings and return strand objects.

## Package org.biojava.bio.seq Description

Classes and interfaces for defining biological sequences and informatics objects.

This package contains the core classes and interfaces for defining sequences and features, sequence database and iterators, and miscellaneous biological information. All definitions are interfaces. Where ever possible, at least one pure java implementation of the interface is supplied.

The Sequence interface inherits the SymbolList interface, making it a list of Symbol objects. It also implements Annotatable which allows annotation to be attached to the entire sequence. Lastly, it implements FeatureHolder so that it can contain features. A Sequence instance represents a concrete piece of biological data, rather than a comp-sci abstraction.

Features are regions of a sequence which have location-specific annotation or meaning. The location of a feature is a Location object. Features can contain sub-features, as they are FeatureHolder implementors. They are also annotatable. Lastly, they contain a couple of fields aimed at enhancing GFF interoperability.

Also within this package are the classes that implement these interfaces. They are usually preceeded with 'Simple' to indicate that they are vanilla, pure-java implementations. You should be able to use these objects out-of-the-box.

The DNATools and ProteinTools classes provide a central point-of-access to the DNA and Protein alphabets and add on many operators specific to these domains. For example, DNATools has a method 'complement' that will complement a DNA SymbolList.