anchor.diff:    character(len=1) :: nuc_acid_alphabet(6) = &
          ['A','C','G','T','U','-']
     character(len=21) :: protein_set='ACDEFGHIKLMNPQRSTVWY-'
  -  character(len=5)  :: nuc_acid_set='ACGTU-'
  +  character(len=6)  :: nuc_acid_set='ACGTU-'
     integer          :: aamap(239) ! 239 is n. of ascii codes (0 is null)
   
   contains
  
positive.code:   implicit none
    private 
    public :: protein_alphabet
    public :: fasta_read
    character(len=1) :: protein_alphabet(21) = &
         ['A','C','D','E','F','G','H','I','K',&
  
negative.code:   subroutine fasta_init(data_type)
      character(len=*), intent(in) :: data_type
      ! set the aa -> class mapping
      integer :: k
      
      aamap = 0
      select case(data_type)
      case('protein')
         do k = 1,21
            aamap(iachar(protein_alphabet(k))) = k
         end do
      case('nuc_acid')
         do k = 1,6
            aamap(iachar(nuc_acid_alphabet(k))) = k
         end do
      end select
      
  