/* * BioJava development code * * This code may be freely distributed and modified under the * terms of the GNU Lesser General Public Licence. This should * be distributed with the code. If you do not have a copy, * see: * * http://www.gnu.org/copyleft/lesser.html * * Copyright for this code is held jointly by the individual * authors. These should be listed in @author doc comments. * * For more information on the BioJava project and its aims, * or to join the biojava-l mailing list, visit the home page * at: * * http://www.biojava.org/ * */ package org.biojava.bio.seq; import org.biojava.bio.symbol.Location; /** * Feature which represents a component in an assembly (contig). * This implies that a portion (possibly all) of the * associated componentSequence is included in this feature's * parent sequence. * *
* There are important invariants which apply to all ComponentFeatures. * The Location returned by getLocation() must * contain the same number of unique point locations as that * returned by getComponentLocation(). *
* *
* In BioJava 1.2, two extra properties were added to ComponentFeature
* to support the use of these features in environments were it it necessary to
* represent an assembly built from sequences which are not currently available.
* Widespread use of such sequences is not encouraged, but it is recognized that
* they are useful as intermediate objects for data integration applications.
*
getComponentSequence().getName()
. However,
* it may still be defined for un-resolveable components.
*
* @since 1.2
*/
public String getComponentSequenceName();
/**
* Determine if the sequence references by this ComponentFeature
* is available in this context. If not, calls to getComponentSequence will
* fail, and getSymbols will return a non-informative
* SymbolList
(in a DNA context, a list of Ns).
*
* @since 1.2
*/
public boolean isComponentResolvable();
/**
* Template for constructing a new ComponentFeature.
*
*
* In BioJava 1.2, we add the componentSequenceName
* property. In general, it is only necessary to specify
* either componentSequenceName or componentSequence
*