public static AFPChain cpFastaToAfpChain(File fastaFile, Structure structure, int cpSite) throws IOException, StructureException {
		InputStream inStream = new FileInputStream(fastaFile);
		SequenceCreatorInterface<AminoAcidCompound> creator = new CasePreservingProteinSequenceCreator(AminoAcidCompoundSet.getAminoAcidCompoundSet());
		SequenceHeaderParserInterface<ProteinSequence, AminoAcidCompound> headerParser = new GenericFastaHeaderParser<ProteinSequence, AminoAcidCompound>();
		FastaReader<ProteinSequence, AminoAcidCompound> fastaReader = new FastaReader<ProteinSequence, AminoAcidCompound>(inStream, headerParser, creator);
		LinkedHashMap<String, ProteinSequence> sequences = fastaReader.process();
		inStream.close();
		Iterator<ProteinSequence> iter = sequences.values().iterator();
		ProteinSequence first = iter.next();
		ProteinSequence second = iter.next();
		return cpFastaToAfpChain(first, second, structure, cpSite);
	}
public static AFPChain cpFastaToAfpChain ( File fastaFile , Structure structure , int cpSite ) throws IOException , StructureException { InputStream inStream = new FileInputStream ( fastaFile ) ; SequenceCreatorInterface < AminoAcidCompound > creator = new CasePreservingProteinSequenceCreator ( AminoAcidCompoundSet . getAminoAcidCompoundSet ( ) ) ; SequenceHeaderParserInterface < ProteinSequence , AminoAcidCompound > headerParser = new GenericFastaHeaderParser < ProteinSequence , AminoAcidCompound > ( ) ; FastaReader < ProteinSequence , AminoAcidCompound > fastaReader = new FastaReader < ProteinSequence , AminoAcidCompound > ( inStream , headerParser , creator ) ; LinkedHashMap < String , ProteinSequence > sequences = fastaReader . process ( ) ; inStream . close ( ) ; Iterator < ProteinSequence > iter = sequences . values ( ) . iterator ( ) ; ProteinSequence first = iter . next ( ) ; ProteinSequence second = iter . next ( ) ; return cpFastaToAfpChain ( first , second , structure , cpSite ) ; }
Takes a structure and sequence corresponding to an alignment between a structure or sequence and itself (or even a structure with a sequence), where the result has a circular permutation site
{@link cpSite} residues to the right.

@param fastaFile A FASTA file containing exactly 2 sequences, the first unpermuted and the second permuted
@param cpSite
The number of residues from the beginning of the sequence at which the circular permutation site occurs; can be positive or negative; values greater than the length of the sequence
are acceptable
@throws IOException
@throws StructureException