Class FastaStructureParser

Reads a protein sequence from a fasta file and attempts to match it to a
3D structure. Any gaps ('-') in the fasta file are preserved as null atoms in
the output, allowing structural alignments to be read from fasta files.

Structures are loaded from an AtomCache. For this to work, the accession
for each protein should be parsed from the fasta header line into a form
understood by AtomCache.getStructure(String).

Lowercase letters are sometimes used to specify unaligned residues.
This information can be preserved by using a CasePreservingSequenceCreator,
which allows the case of residues to be accessed through the
AbstractSequence.getUserCollection() method.

getResidues

For each residue in the fasta file, return the ResidueNumber in the
corresponding structure. If the residue cannot be found in the structure,
that entry will be null. This can happen if that residue was not included
in the PDB file (eg disordered residues), if the fasta sequence does not
match the PDB sequence, or if errors occur during the matching process.

Returns:

A 2D array of ResidueNumbers, or null if process() hasn't been called.