# Class FastaImporter

java.lang.Object
jebl.evolution.io.FastaImporter

All Implemented Interfaces:
  `ImmediateSequenceImporter, SequenceImporter`

public class FastaImporter extends Object implements SequenceImporter, ImmediateSequenceImporter
Class for importing Fasta sequential file format.

Version:
  $Id: FastaImporter.java 857 2007-12-14 02:49:27Z twobeers $
Author:
  Andrew Rambaut, Alexei Drummond, Joseph Heled

## Nested Class Summary

### Nested classes/interfaces inherited from interface ImmediateSequenceImporter

`ImmediateSequenceImporter.Callback`

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`descriptionPropertyName`
Name of Jebl sequence property which stores sequence description (i.e.

## Constructor Summary

Constructors
Constructor
Description
`FastaImporter(File file, SequenceType sequenceType)`
Use this constructor if you are reading from a file.
`FastaImporter(Reader reader, SequenceType sequenceType)`
This constuctor takes a reader.

## Method Summary

Modifier and Type
Method
Description
`final List<Sequence>`
`importSequences()`
importSequences.
`void`
`importSequences(ImmediateSequenceImporter.Callback callback, ProgressListener progressListener)`
`void`
`setIllegalCharacterPolicy(IllegalCharacterPolicy newPolicy)`

### Methods inherited from class Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### descriptionPropertyName

public static final String descriptionPropertyName
Name of Jebl sequence property which stores sequence description (i.e. anything after sequence name in fasta file), so this data is available and an export to fasta can preserves the original data. This is stored some attribute of the sequence and of the taxon for backwards compatibility. Generally, attributes on taxon should not be used, as they are unsafe when dealing with objects that share the same taxon.

See Also:
  - Constant Field Values

## Constructor Details

### FastaImporter

public FastaImporter(File file, SequenceType sequenceType) throws FileNotFoundException
Use this constructor if you are reading from a file. The advantage over the other constructor is that a) the input size is known, so read() can report meaningful progress, and b) the file is closed at the end. WARNING: You cannot reuse the FastaImporter thus constructed to import sequences from the same file again.

Parameters:
  `file` -
  `sequenceType` -
Throws:
  `FileNotFoundException`

### FastaImporter

public FastaImporter(Reader reader, SequenceType sequenceType)
This constuctor takes a reader. AR notes - this constructor was depeciated with the explanation below. I disagree that we can predict that we want to import from a file, and a reader is more flexible (it may be from the network or the clipboard). -- This constructor should normally never be needed because usually we want to import from a file. Then, the constructor expecting a file should be used.

Parameters:
  `reader` - holds sequences data
  `sequenceType` - pre specified sequences type. We should try and guess them some day.

## Method Details

### setIllegalCharacterPolicy

public void setIllegalCharacterPolicy(IllegalCharacterPolicy newPolicy)

### importSequences

public final List<Sequence> importSequences() throws IOException, ImportException
Description copied from interface: `SequenceImporter`
importSequences.

Specified by:
  `importSequences` in interface `SequenceImporter`
Returns:
  sequences from file.
Throws:
  `IOException`
  `ImportException`

### importSequences

public void importSequences(ImmediateSequenceImporter.Callback callback, ProgressListener progressListener) throws IOException, ImportException

Specified by:
  `importSequences` in interface `ImmediateSequenceImporter`
Throws:
  `IOException`
  `ImportException`