Commits

Sarah Richardson committed 0c48d12

Version 5.5: No segmentation

  • Participants
  • Parent commits ac80abc

Comments (0)

Files changed (48)

BioGrepPatch/BackendI.patch

-37c37
-< use UNIVERSAL qw(isa);
----
-> #use UNIVERSAL qw(isa);

BioGrepPatch/Vmatch.patch

-468c468
-<     if ( !$args->{alignment}->no_sequences ) {
----
->     if ( !$args->{alignment}->num_sequences ) {
 my $llt = 0;
 my ($cpath,  $spath,  $tpath) =  (       q{},                 q{},        q{});
 my ($dcpath, $dspath, $dtpath) = ('/etc/GeneDesign/', '/usr/local/bin', '/tmp');
-my ($g,  $e,  $bl,  $v) =  ( 0,   0,   0,   0);
-my ($dg, $de, $dbl, $dv) = ("Y", "Y", "Y", "Y");
+my ($g, $dg) =  ( 0,   q{Y});
 
 my $check = eval
 {
   $dtpath = Bio::GeneDesign::ConfigData->config('tmp_path')         || $dtpath;
   $dspath = Bio::GeneDesign::ConfigData->config('script_path')      || $dspath;
   $dg =     Bio::GeneDesign::ConfigData->config('graphing_support') || $dg;
-  $dbl =    Bio::GeneDesign::ConfigData->config('BLAST_support')    || $dbl;
-  $de =     Bio::GeneDesign::ConfigData->config('EMBOSS_support')   || $de;
-  $dv =     Bio::GeneDesign::ConfigData->config('vmatch_support')   || $dv;
 }
 
 my $GDB = Module::Build->new
     module_name         => 'Bio::GeneDesign',
     license             => 'bsd',
     dist_author         => q{Sarah Richardson <SMRichardson@lbl.gov>},
-    dist_version        => '5.00',
+    dist_version        => '5.50',
     dist_abstract       => 'Functions for the design of synthetic genes',
     add_to_cleanup      => [ 'Bio::GeneDesign-*' ],
     create_makefile_pl  => 'traditional',
           'GD::Image'         => 0
         }
       },
-      palindrome =>
-      {
-        description => 'Enable EMBOSS palindrome for hairpin detection',
-        requires    =>
-        {
-          'Bio::Factory::EMBOSS' => 0,
-          'Bio::Tools::EMBOSS::Palindrome' => 0
-        }
-      },
-      blast =>
-      {
-        description => 'Enable BLAST+ for similarity detection',
-        requires    =>
-        {
-          'Bio::Tools::Run::StandAloneBlastPlus' => 0
-        }
-      },
-      vmatch =>
-      {
-        description => 'Enable vmatch for similarity detection',
-        requires    =>
-        {
-          'Bio::Grep::Backend::Vmatch' => '0.10.6'
-        }
-      }
     },
     script_files =>
     [
-      'bin/GD_Design_Building_Blocks.pl',
-      'bin/GD_Design_Oligos.pl',
       'bin/GD_Filter_Enzymes.pl',
       'bin/GD_Generate_RSCU_Table.pl',
       'bin/GD_Graph_Dotplot.pl',
         store => \$g,
         type => '=s',
       },
-      EMBOSS_support =>
-      {
-        store => \$e,
-        type => '=s',
-      },
-      BLAST_support =>
-      {
-        store => \$bl,
-        type => '=s',
-      },
-      vmatch_support =>
-      {
-        store => \$v,
-        type => '=s',
-      },
     }
 );
 
   {
     $tpath = prompt('Where should GeneDesign write tmp files?', $dtpath);
   }
-      
   if (! $g && $GDB->feature('graphing'))
   {
     $g = y_n('Enable GD::Graphics support?', $dg);
   }
-  if (! $e && $GDB->feature('palindrome'))
-  {
-    $e = y_n('Enable EMBOSS palindrome for hairpin detection?', $de);
-  }
-  if (! $bl && $GDB->feature('blast'))
-  {
-    $bl = y_n('Enable BLAST+ for similarity detection?', $dbl);
-  }
-  if (! $v && $GDB->feature('vmatch'))
-  {
-    $v = y_n('Enable vmatch for similarity detection?', $dv);
-  }
 }
 else
 {
   $tpath = $tpath || $dtpath;
   $spath = $spath || $dspath;
   $g = $g || $dg;
-  $e = $e || $de;
-  $bl = $bl || $dbl;
-  $v = $v || $dv;
 }
 
 $GDB->config_data(conf_path => $cpath);
 $GDB->config_data(tmp_path => $tpath);
 $GDB->config_data(script_path => $spath);
 $GDB->config_data(graphing_support => $g) if ($GDB->feature('graphing'));
-$GDB->config_data(EMBOSS_support => $e)   if ($GDB->feature('palindrome'));
-$GDB->config_data(BLAST_support => $bl)   if ($GDB->feature('blast'));
-$GDB->config_data(vmatch_support => $v)   if ($GDB->feature('vmatch'));
 
 #Prepare configuration directory
 my $tcp = $GDB->config_data('conf_path');
   'enzymes/standard',
   'enzymes/standard_and_IIB',
   'enzymes/test',
-  'vectors/pENTR_SD_SmaI.genbank',
-  'vectors/pEC-K18mob2.genbank',
-  'vectors/pET29b-plus_SMR.genbank',
-  'vectors/pET45b-SmaI.genbank',
-  'vectors/peU_HSBC_NcoI_RAH_GD.genbank',
-  'vectors/pFIL-B-2_ScaI.genbank',
-  'vectors/pK18mobsacB.genbank',
-  'vectors/pMCC.genbank',
-  'vectors/pNJ020_GD.genbank',
-  'vectors/pNJ022_GD.genbank'
 ];
 $GDB->add_build_element('GeneDesign');
 process_conf_files($GDB, $confs);
 
 print 'Temporary files will be written to ', $GDB->config_data('tmp_path'), "\n";
 
-if ($GDB->config_data('BLAST_support'))
-{
-  my $blq = `which blastn`;
-  croak ('Either BLAST+ is not installed or it is not on my PATH') unless ($blq);
-  my ($y, $blpath) = fileparse($blq);
-  $GDB->config_data('blast_path' => $blpath);
-  print "Will use BLAST+ executables found in $blpath\n";
-}
-if ($GDB->config_data('vmatch_support'))
-{
-  my $vl = `which vmatch`;
-  croak ('Either vmatch is not installed or it is not on my PATH') unless ($vl);
-  my ($y, $vlpath) = fileparse($vl);
-  print "Will use vmatch executables found in $vlpath\n";
-}
-
 print "\n";
 
 $GDB->create_build_script();
 Revision history for Bio::GeneDesign
 
+5.50 13.10.21
+	Took out all segmentation (building block and oligo design) and removed to
+	a separate package.
+
 5.00  12.05.12
   Added an OO interface for GeneDesign
   updated every library, they are no longer called directly
-bin/GD_Design_Building_Blocks.pl
-bin/GD_Design_Oligos.pl
 bin/GD_Filter_Enzymes.pl
 bin/GD_Generate_RSCU_Table.pl
 bin/GD_Graph_Dotplot.pl
 bin/GD_Juggle_Codons.pl
 bin/GD_Reverse_Translate.pl
 bin/GD_Sequence_Subtraction.pl
-BioGrepPatch/BackendI.patch
-BioGrepPatch/Vmatch.patch
 Build.PL
 Changes
 codon_tables/arabidopsis_thaliana.rscu
 enzymes/test
 lib/Bio/GeneDesign.pm
 lib/Bio/GeneDesign/Basic.pm
-lib/Bio/GeneDesign/Blast.pm
-lib/Bio/GeneDesign/BuildingBlocks/enzyme.pm
-lib/Bio/GeneDesign/BuildingBlocks/overlap.pm
 lib/Bio/GeneDesign/CodonJuggle.pm
 lib/Bio/GeneDesign/Codons.pm
 lib/Bio/GeneDesign/Exceptions.pm
 lib/Bio/GeneDesign/Graph.pm
 lib/Bio/GeneDesign/Oligo.pm
-lib/Bio/GeneDesign/Oligos/JGI.pm
-lib/Bio/GeneDesign/Oligos/JHU.pm
-lib/Bio/GeneDesign/Palindrome.pm
 lib/Bio/GeneDesign/Random.pm
 lib/Bio/GeneDesign/RestrictionEnzyme.pm
 lib/Bio/GeneDesign/RestrictionEnzymes.pm
 lib/Bio/GeneDesign/ReverseTranslate.pm
 lib/Bio/GeneDesign/PrefixTree.pm
-lib/Bio/GeneDesign/Vector.pm
-lib/Bio/GeneDesign/Vmatch.pm
 MANIFEST			This list of files
 META.json
 META.yml
 t/30-enzymes.t
 t/35-subtract_sequence.t
 t/40-graph.t
-t/45-palindrome.t
-t/50-vmatch.t
-t/55-blast.t
 t/60-prefix.t
 t/65-random.t
 t/boilerplate.t
 t/testagene.fasta
 t/testr_GRV_yeast.gif
 ToDo
-vectors/pEC-K18mob2.genbank
-vectors/pENTR_SD_SmaI.genbank
-vectors/pET29b-plus_SMR.genbank
-vectors/pET45b-SmaI.genbank
-vectors/peU_HSBC_NcoI_RAH_GD.genbank
-vectors/pFIL-B-2_ScaI.genbank
-vectors/pK18mobsacB.genbank
-vectors/pMCC.genbank
-vectors/pNJ020_GD.genbank
-vectors/pNJ022_GD.genbank
 
 COPYRIGHT AND LICENSE
 
-Copyright (c) 2012, GeneDesign developers
+Copyright (c) 2013, GeneDesign developers
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without modification,

bin/GD_Filter_Enzymes.pl

 use strict;
 use warnings;
 
-my $VERSION = '5.00';
+my $VERSION = '5.50';
 my $GDV = "GD_Filter_Enzymes$VERSION";
 
 local $| = 1;
 
 =head1 VERSION
 
-  Version 5.00
+  Version 5.50
 
 =head1 DESCRIPTION
 

bin/GD_Generate_RSCU_Table.pl

 use strict;
 use warnings;
 
-my $VERSION = '5.00';
+my $VERSION = '5.50';
 my $GDV = "GD_Generate_RSCU_Table_$VERSION";
 my $GDS = ".rscu";
 
 
 =head1 VERSION
 
-  Version 5.00
+  Version 5.50
 
 =head1 DESCRIPTION
 
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2012, GeneDesign developers
+Copyright (c) 2013, GeneDesign developers
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without modification,

bin/GD_Graph_Dotplot.pl

 use strict;
 use warnings;
 
-my $VERSION = '5.00';
+my $VERSION = '5.50';
 my $GDV = "GD_Graph_Dotplot_$VERSION";
 
 local $| = 1;
   
 =head1 VERSION
 
-  Version 5.00
+  Version 5.50
   
 =head1 DESCRIPTION
 

bin/GD_Graph_RSCU_Values.pl

 use strict;
 use warnings;
 
-my $VERSION = '5.00';
+my $VERSION = '5.50';
 my $GDV = "GD_Graph_RSCU_Values_$VERSION";
 my $GDS = "_GRV";
 
   
 =head1 VERSION
 
-  Version 5.00
+  Version 5.50
   
 =head1 DESCRIPTION
 
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2012, GeneDesign developers
+Copyright (c) 2013, GeneDesign developers
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without modification,

bin/GD_Juggle_Codons.pl

 use strict;
 use warnings;
 
-my $VERSION = '5.00';
+my $VERSION = '5.50';
 my $GDV = "GD_Juggle_Codons_$VERSION";
 my $GDS = "_CJ";
 
 
 =head1 VERSION
 
-  Version 5.00
+  Version 5.50
 
 =head1 DESCRIPTION
 
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2012, GeneDesign developers
+Copyright (c) 2013, GeneDesign developers
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without modification,

bin/GD_Reverse_Translate.pl

 use strict;
 use warnings;
 
-my $VERSION = '5.00';
+my $VERSION = '5.50';
 my $GDV = "GD_Reverse_Translate_$VERSION";
 my $GDS = "_RT";
 
 
 =head1 VERSION
 
-  Version 5.00
+  Version 5.50
 
 =head1 DESCRIPTION
 
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2012, GeneDesign developers
+Copyright (c) 2013, GeneDesign developers
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without modification,

bin/GD_Sequence_Subtraction.pl

 use strict;
 use warnings;
 
-my $VERSION = '5.00';
+my $VERSION = '5.50';
 my $GDV = "GD_Sequence_Subtraction_$VERSION";
 my $GDS = "_SS";
 
 
 =head1 VERSION
 
-  Version 5.00
+  Version 5.50
 
 =head1 DESCRIPTION
 
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2012, GeneDesign developers
+Copyright (c) 2013, GeneDesign developers
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without modification,

lib/Bio/GeneDesign.pm

 
 =head1 VERSION
 
-Version 5.00
+Version 5.50
 
 =head1 DESCRIPTION
 
 use Bio::GeneDesign::RestrictionEnzymes qw(:GD);
 use Bio::GeneDesign::ReverseTranslate qw(:GD);
 use Bio::GeneDesign::PrefixTree;
-use Bio::GeneDesign::Vector;
 use File::Basename;
 use Bio::SeqIO;
 use Carp;
 use strict;
 use warnings;
 
-my $VERSION = 5.00;
+my $VERSION = 5.50;
   
 =head1 CONSTRUCTORS
 
   return $graph;
 }
 
-=head2 load_vector
-
-NO TEST
-
-=cut
-
-sub load_vector
-{
-  my ($self, @args) = @_;
-  
-  my ($vname, $vpath)
-    = $self->_rearrange([qw(name path)], @args);
-  
-  $vname = $vname || "custom_vector";
-  
-  if ($vname && ! $vpath)
-  {
-    $vpath = $self->{conf} . "vectors/" . $vname . ".genbank";
-    $self->throw("Can't find $vname in configuration $vpath")
-      unless (-e $vpath);
-  }
-  my $vector = Bio::GeneDesign::Vector->new(-name => $vname, -path => $vpath);
-  
-  return $vector;
-}
-
 =head2 import_seqs
 
 NO TEST
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2012, GeneDesign developers
+Copyright (c) 2013, GeneDesign developers
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without modification,

lib/Bio/GeneDesign/Basic.pm

 
 =head1 VERSION
 
-Version 5.00
+Version 5.50
 
 =head1 DESCRIPTION
 
 use strict;
 use warnings;
 
-our $VERSION = 5.00;
+our $VERSION = 5.50;
 
 use base qw(Exporter);
 our @EXPORT_OK = qw(
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2012, GeneDesign developers
+Copyright (c) 2013, GeneDesign developers
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without modification,

lib/Bio/GeneDesign/Blast.pm

-#
-# GeneDesign using Blast
-#
-
-=head1 NAME
-
-GeneDesign::Blast
-
-=head1 VERSION
-
-Version 5.00
-
-=head1 DESCRIPTION
-
-Vmatch interface
-  
-=head1 AUTHOR
-
-Sarah Richardson <SMRichardson@lbl.gov>.
-
-=cut
-
-package Bio::GeneDesign::Blast;
-require Exporter;
-
-use Bio::Tools::Run::StandAloneBlastPlus;
-
-use strict;
-use warnings;
-
-our $VERSION = 5.00;
-
-use base qw(Exporter);
-our @EXPORT_OK = qw(
-  _filter_blast
-  $VERSION
-);
-our %EXPORT_TAGS =  (GD => \@EXPORT_OK);
-
-=head1 Functions
-
-=head2 _filter_blast()
-  
-=cut
-
-sub _filter_blast
-{
-  my ($parent, $seqarrs, $percent, $writedir) = @_;
-  
-  #Make the BLAST factory
-  my $factory = Bio::Tools::Run::StandAloneBlastPlus->new(
-                          -program => 'blastn',
-                          -db_dir  => $writedir,
-                          -db_data => $parent);
-
-  #BLAST everything in the array
-  my %hits = map {$_->id => 0} @$seqarrs;
-  my %objs = map {$_->id => $_} @$seqarrs;
-  $factory->run(
-     -method => "blastn",
-      -query => $seqarrs,
-      -method_args => [ -word_size => 4,
-                        -perc_identity => $percent,
-                        -gapextend => 2,
-                        -gapopen => 0,
-                        -penalty => -1]);
-      
-  while (my $result = $factory->next_result)
-  {
-    my $name = $result->query_name();
-    my $qlen = length($objs{$name}->seq);
-    while( my $hit = $result->next_hit())
-    {
-      while( my $hsp = $hit->next_hsp())
-      {
-        my $hlen = length($hsp->hit_string);
-        $hits{$name}++ if ($hlen >= 0.7*$qlen && $hsp->evalue < 0.0001);
-      }
-    }
-  }
-  
-  #Clean up and return
-  $factory->cleanup;
-  my @cleans = grep {$hits{$_->id} == 1} @$seqarrs;
-  return \@cleans;
-}
-
-1;
-
-__END__
-
-=head1 COPYRIGHT AND LICENSE
-
-Copyright (c) 2012, GeneDesign developers
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
-* Redistributions of source code must retain the above copyright notice, this
-list of conditions and the following disclaimer.
-
-* Redistributions in binary form must reproduce the above copyright notice, this
-list of conditions and the following disclaimer in the documentation and/or
-other materials provided with the distribution.
-
-* The names of Johns Hopkins, the Joint Genome Institute, the Lawrence Berkeley
-National Laboratory, the Department of Energy, and the GeneDesign developers may
-not be used to endorse or promote products derived from this software without
-specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
-OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-=cut
-

lib/Bio/GeneDesign/CodonJuggle.pm

 
 =head1 VERSION
 
-Version 5.00
+Version 5.50
 
 =head1 DESCRIPTION
 
 use strict;
 use warnings;
 
-our $VERSION = 5.00;
+our $VERSION = 5.50;
 
 use base qw(Exporter);
 our @EXPORT_OK = qw(

lib/Bio/GeneDesign/Codons.pm

 
 =head1 VERSION
 
-Version 5.00
+Version 5.50
 
 =head1 DESCRIPTION
 
 use strict;
 use warnings;
 
-our $VERSION = 5.00;
+our $VERSION = 5.50;
 
 use base qw(Exporter);
 our @EXPORT_OK = qw(
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2012, GeneDesign developers
+Copyright (c) 2013, GeneDesign developers
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without modification,

lib/Bio/GeneDesign/Exceptions.pm

 
 =head1 VERSION
 
-Version 5.00
+Version 5.50
 
 =head1 DESCRIPTION
 

lib/Bio/GeneDesign/Graph.pm

 
 =head1 VERSION
 
-Version 5.00
+Version 5.50
 
 =head1 DESCRIPTION
 
 use strict;
 use warnings;
 
-our $VERSION = 5.00;
+our $VERSION = 5.50;
 
 use base qw(Exporter);
 our @EXPORT_OK = qw(
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2012, GeneDesign developers
+Copyright (c) 2013, GeneDesign developers
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without modification,

lib/Bio/GeneDesign/Oligo.pm

 
 =head1 VERSION
 
-Version 5.00
+Version 5.50
 
 =head1 DESCRIPTION
 
 use strict;
 use warnings;
 
-our $VERSION = 5.00;
+our $VERSION = 5.50;
 
 use base qw(Exporter);
 our @EXPORT_OK = qw(
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2012, GeneDesign developers
+Copyright (c) 2013, GeneDesign developers
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without modification,

lib/Bio/GeneDesign/Palindrome.pm

-#
-# GeneDesign using EMBOSS palindrome
-#
-
-=head1 NAME
-
-GeneDesign::Palindrome
-
-=head1 VERSION
-
-Version 5.00
-
-=head1 DESCRIPTION
-
-EMBOSS Palindrome interface
-  
-=head1 AUTHOR
-
-Sarah Richardson <SMRichardson@lbl.gov>.
-
-=cut
-
-package Bio::GeneDesign::Palindrome;
-require Exporter;
-
-use Digest::MD5 qw(md5_hex);
-use Bio::Factory::EMBOSS;
-use Bio::Tools::EMBOSS::Palindrome;
-
-use strict;
-use warnings;
-
-our $VERSION = 5.00;
-
-use base qw(Exporter);
-our @EXPORT_OK = qw(
-  _filter_palindromes
-  $VERSION
-);
-our %EXPORT_TAGS =  (GD => \@EXPORT_OK);
-
-=head1 Functions
-
-=head2 _filter_palindromes()
-  
-=cut
-
-sub _filter_palindromes
-{
-  my ($seqarr, $minlen, $maxlen, $gaplimit, $mismatches, $writedir) = @_;
-  
-  #Write out everything in the seqarr to a FASTA file
-  my $rand = md5_hex(md5_hex(time().{}.rand().$$));
-  my $path = $writedir . "$rand.FASTA";
-  open (my $FOUT, '>',  $path) || croak ("can't write tmp pal file: $!");
-  print $FOUT ">" . $_->id . "\n" . $_->seq . "\n" foreach (@$seqarr);
-  close $FOUT;
-  #Run the palindrome program and write out to a .pal file
-  my $factory = Bio::Factory::EMBOSS->new();
-  my $app = $factory->program('palindrome');
-  my $out = $writedir . "$rand.pal";
-  $app->run({
-      -sequence => $path,
-      -minpallen => $minlen,
-      -maxpallen => $maxlen,
-      -gaplimit => $gaplimit,
-      -outfile => $out,
-      -nummismatches => $mismatches});
-
-  #Parse the .pal file and keep only sequences without secondary structure
-  my $parser = Bio::Tools::EMBOSS::Palindrome->new(-file => $out);
-  my %hpids;
-  while( my $seq = $parser->next_seq )
-  {
-    my @hpins = $seq->get_SeqFeatures;
-    $hpids{$seq->id}++ if (scalar @hpins);
-    #foreach my $feat ( @hpins )
-    #{
-    #print $seq->id;
-    #my ($a, $b, $c, $d) = ($feat->start + $seq->id, $feat->end + $seq->id,
-    #  $feat->hstart + $seq->id, $feat->hend + $seq->id);
-    #print " has a repeat from $a..$b and $c..$d\n\n";
-    #}
-  }
-
-  #Clean up and return
-  system "rm $out" || croak ("Can't clean up? $!");
-  system "rm $path" || croak ("Can't clean up? $!");
-  my @cleans = grep {! exists $hpids{$_->id}} @$seqarr;
-  return \@cleans;
-}
-
-1;
-
-__END__
-
-=head1 COPYRIGHT AND LICENSE
-
-Copyright (c) 2012, GeneDesign developers
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
-* Redistributions of source code must retain the above copyright notice, this
-list of conditions and the following disclaimer.
-
-* Redistributions in binary form must reproduce the above copyright notice, this
-list of conditions and the following disclaimer in the documentation and/or
-other materials provided with the distribution.
-
-* The names of Johns Hopkins, the Joint Genome Institute, the Lawrence Berkeley
-National Laboratory, the Department of Energy, and the GeneDesign developers may
-not be used to endorse or promote products derived from this software without
-specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
-OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-=cut
-

lib/Bio/GeneDesign/PrefixTree.pm

 
 =head1 VERSION
 
-Version 5.00
+Version 5.50
 
 =head1 DESCRIPTION
 
 use strict;
 use warnings;
 
-my $VERSION = 5.00;
+my $VERSION = 5.50;
 
 =head1 Functions
 

lib/Bio/GeneDesign/Random.pm

 
 =head1 VERSION
 
-Version 5.00
+Version 5.50
 
 =head1 DESCRIPTION
 
 use strict;
 use warnings;
 
-our $VERSION = 5.00;
+our $VERSION = 5.50;
 
 use base qw(Exporter);
 our @EXPORT_OK = qw(
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2012, GeneDesign developers
+Copyright (c) 2013, GeneDesign developers
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without modification,

lib/Bio/GeneDesign/RestrictionEnzyme.pm

 
 =head1 VERSION
 
-Version 5.00
+Version 5.50
 
 =head1 DESCRIPTION
 
 
 use base qw(Bio::Root::Root);
 
-our $VERSION = 5.00;
+our $VERSION = 5.50;
 
 my $IIPreg  = qr/   ([A-Z]*)   \^ ([A-Z]*)      /x;
 my $IIAreg  = qr/\A \w+ \(([\-]*\d+) \/ ([\-]*\d+)\)\Z  /x;
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2012, GeneDesign developers
+Copyright (c) 2013, GeneDesign developers
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without modification,

lib/Bio/GeneDesign/RestrictionEnzymes.pm

 
 =head1 VERSION
 
-Version 5.00
+Version 5.50
 
 =head1 DESCRIPTION
 
 use strict;
 use warnings;
 
-our $VERSION = 5.00;
+our $VERSION = 5.50;
 
 use base qw(Exporter);
 our @EXPORT_OK = qw(
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2012, GeneDesign developers
+Copyright (c) 2013, GeneDesign developers
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without modification,

lib/Bio/GeneDesign/ReverseTranslate.pm

 
 =head1 VERSION
 
-Version 5.00
+Version 5.50
 
 =head1 DESCRIPTION
 
 use strict;
 use warnings;
 
-our $VERSION = 5.00;
+our $VERSION = 5.50;
 
 use base qw(Exporter);
 our @EXPORT_OK = qw(
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2012, GeneDesign developers
+Copyright (c) 2013, GeneDesign developers
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without modification,

lib/Bio/GeneDesign/Vector.pm

-#
-# GeneDesign module for vector objects
-#
-
-=head1 NAME
-
-Bio::GeneDesign::Vector
-
-=head1 VERSION
-
-Version 5.00
-
-=head1 DESCRIPTION
-
-GeneDesign object that represents a vector
-
-=head1 AUTHOR
-
-Sarah Richardson <SMRichardson@lbl.gov>
-
-=cut
-
-package Bio::GeneDesign::Vector;
-
-use Bio::SeqIO;
-use Carp;
-
-use strict;
-use warnings;
-
-use base qw(Bio::Root::Root);
-
-our $VERSION = 5.00;
-
-=head1 CONSTRUCTOR METHODS
-
-=head2 new
-
-=cut
-
-sub new
-{
-  my ($class, @args) = @_;
-  my $self = $class->SUPER::new(@args);
-  
-  my ($name, $path) = $self->_rearrange([qw(NAME PATH)], @args);
-  
-  my $iterator = Bio::SeqIO->new(-file => $path)
-    || $self->throw("Can't parse $path!");
-  
-  my @VECS;
-  while ( my $obj = $iterator->next_seq() )
-  {
-    push @VECS, $obj;
-  }
-  $self->throw("Too many vectors in file at $path") if (scalar(@VECS) > 1);
-  $self->throw("No vectors in file at $path") if (scalar(@VECS) == 0);
-
-  $self->{name} = $name;
-  $self->{seqobj} = $VECS[0];
-  $self->{seq} = $VECS[0]->seq;
-  $self->{len} = length $self->{seq};
-  
-  my @feats = $self->{seqobj}->get_SeqFeatures;
-  $self->{features} = \@feats;
-  
-  
-  my @es = grep {$_->primary_tag eq "protein_bind"} @feats;
-  my @exes = map {join(q{}, $_->get_tag_values("label"))} @es;
-
-  my @ps = grep {$_->primary_tag eq "primer_bind"} @feats;
-  my %dsubs = map {join(q{}, $_->get_tag_values("label")) => $_} @ps;
-  if (exists $dsubs{"CLH5"})
-  {
-    $self->{chew5} = uc $dsubs{"CLH5"}->seq->seq;
-    $self->{chew5loc} = $dsubs{"CLH5"}->start;
-  }
-  else
-  {
-    carp ("$name has no CLH5 sequence annotated");
-    $self->{chew5} = q{};
-    $self->{chew5loc} = 0;
-  }
-  if (exists $dsubs{"CLH3"})
-  {
-    $self->{chew3} = uc $dsubs{"CLH3"}->seq->seq;
-    $self->{chew3loc} = $dsubs{"CLH3"}->start;
-  }
-  else
-  {
-    carp ("$name has no CLH3 sequence annotated");
-    $self->{chew3} = q{};
-    $self->{chew3loc} = 0;
-  }
-  
-  $self->{enzyme_list} = \@exes;
-  
-  return $self;
-}
-
-=head1 FUNCTIONAL METHODS
-
-=head2 clone
-
-=cut
-
-sub clone
-{
-   my ($self) = @_;
-   my $copy;
-   foreach my $key (keys %$self)
-   {
-     if (ref $self->{$key} eq "ARRAY")
-     {
-       $copy->{$key} = [@{$self->{$key}}];
-     }
-     elsif (ref $self->{$key} eq "HASH")
-     {
-       $copy->{$key} = {%{$self->{$key}}};
-     }
-     else
-     {
-      $copy->{$key} = $self->{$key};
-     }
-   }
-   bless $copy, ref $self;
-   return $copy;
-}
-
-=head1 ACCESSOR METHODS
-
-Methods for setting and accessing vector attributes
-
-=head2 name
-
-=cut
-
-sub name
-{
-  my ($self) = @_;
-  return $self->{'name'};
-}
-
-=head2 id
-
-=cut
-
-sub id
-{
-  my ($self) = @_;
-  return $self->{'name'};
-}
-
-=head2 seq
-
-=cut
-
-sub seq
-{
-  my ($self) = @_;
-  return $self->{'seq'};
-}
-
-=head2 len
-
-=cut
-
-sub len
-{
-  my ($self) = @_;
-  return $self->{'len'};
-}
-
-=head2 seqobj
-
-=cut
-
-sub seqobj
-{
-  my ($self) = @_;
-  return $self->{'seqobj'};
-}
-
-=head2 chew5
-
-=cut
-
-sub chew5
-{
-  my ($self) = @_;
-  return $self->{'chew5'};
-}
-
-=head2 chew5loc
-
-=cut
-
-sub chew5loc
-{
-  my ($self) = @_;
-  return $self->{chew5loc};
-}
-
-=head2 chew3
-
-=cut
-
-sub chew3
-{
-  my ($self) = @_;
-  return $self->{'chew3'};
-}
-
-=head2 chew3loc
-
-=cut
-
-sub chew3loc
-{
-  my ($self) = @_;
-  return $self->{chew3loc};
-}
-
-=head2 enzyme_list
-
-=cut
-
-sub enzyme_list
-{
-  my ($self) = @_;
-  return @{$self->{'enzyme_list'}};
-}
-
-1;
-
-__END__
-
-=head1 COPYRIGHT AND LICENSE
-
-Copyright (c) 2012, GeneDesign developers
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
-* Redistributions of source code must retain the above copyright notice, this
-list of conditions and the following disclaimer.
-
-* Redistributions in binary form must reproduce the above copyright notice, this
-list of conditions and the following disclaimer in the documentation and/or
-other materials provided with the distribution.
-
-* The names of Johns Hopkins, the Joint Genome Institute, the Lawrence Berkeley
-National Laboratory, the Department of Energy, and the GeneDesign developers may
-not be used to endorse or promote products derived from this software without
-specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
-OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-=cut

lib/Bio/GeneDesign/Vmatch.pm

-#
-# GeneDesign using Vmatch
-#
-
-=head1 NAME
-
-GeneDesign::Vmatch
-
-=head1 VERSION
-
-Version 5.00
-
-=head1 DESCRIPTION
-
-Vmatch interface
-  
-=head1 AUTHOR
-
-Sarah Richardson <SMRichardson@lbl.gov>.
-
-=cut
-
-package Bio::GeneDesign::Vmatch;
-require Exporter;
-
-use Digest::MD5 qw(md5_hex);
-use Carp;
-use Bio::Grep;
-
-use strict;
-use warnings;
-
-our $VERSION = 5.00;
-
-use base qw(Exporter);
-our @EXPORT_OK = qw(
-  _filter_vmatch
-  _search_vmatch
-  $VERSION
-);
-our %EXPORT_TAGS =  (GD => \@EXPORT_OK);
-
-=head1 Functions
-
-=head2 _filter_vmatch()
-  
-=cut
-
-sub _filter_vmatch
-{
-  my ($parent, $seqarrs, $mismatches, $revcom, $writedir) = @_;
-
-  my $rand = md5_hex(md5_hex(time().{}.rand().$$));
-  my $band = md5_hex(md5_hex(time().{}.rand().$$));
-    
-  #Write the parent to a FASTA file
-  my $dbpath = $writedir . "$rand.FASTA";
-  open (my $POUT, '>', $dbpath) || croak($!);
-  print $POUT ">" . $parent->id . "\n" . $parent->seq . "\n";
-  close $POUT;
-  
-  #Write the queries to a FASTA file
-  my $datapath = $writedir . "$band.FASTA";
-  open (my $DOUT, '>', $datapath) || croak($!);
-  print $DOUT ">" . $_->id . "\n" . $_->seq . "\n" foreach (@$seqarrs);
-  close $DOUT;
-  
-  #Make the vmatch database
-  my $sbe = Bio::Grep->new('Vmatch');
-  $sbe->settings->datapath($writedir);
-  $sbe->generate_database({ file => $dbpath, description => $parent->id});
-    
-  #Run vmatch on everything in the array
-  $sbe->search
-  ({
-    database            => "$rand.FASTA",
-    query_file          => $datapath,
-    complete            => 1,
-    mismatches          => $mismatches,
-    direct_and_rev_com  => 1,
-    online              => 1}
-  );
-  my %hits = map {$_->id => 0} @$seqarrs;
-  while ( my $res = $sbe->next_res )
-  {
-    $hits{$res->query->id}++;
-  }
-  #Clean up and return
-  system "rm $writedir$rand.FASTA.*" || croak ("Can't clean up? $!");
-  system "rm $dbpath" || croak ("Can't clean up? $!");
-  system "rm $datapath" || croak ("Can't clean up? $!");
-  my @cleans = grep {$hits{$_->id} == 1} @$seqarrs;
-  return \@cleans;
-}
-
-=head2 _search_vmatch()
-  
-=cut
-
-sub _search_vmatch
-{
-  my ($parent, $seq, $mismatches, $revcom, $writedir) = @_;
-
-  my $rand = md5_hex(md5_hex(time().{}.rand().$$));
-  my $band = md5_hex(md5_hex(time().{}.rand().$$));
-    
-  #Write the parent to a FASTA file
-  my $dbpath = $writedir . "$rand.FASTA";
-  open (my $POUT, '>', $dbpath) || croak($!);
-  print $POUT q{>} . $parent->id . "\n" . $parent->seq . "\n";
-  close $POUT;
-  
-  #Write the queries to a FASTA file
-  my $datapath = $writedir . "$band.FASTA";
-  open (my $DOUT, '>', $datapath) || croak($!);
-  print $DOUT q{>} . $seq->id . "\n" . $seq->seq . "\n";
-  close $DOUT;
-  
-  #Make the vmatch database
-  my $sbe = Bio::Grep->new('Vmatch');
-  $sbe->settings->datapath($writedir);
-  $sbe->generate_database
-  (
-    {
-      file => $dbpath,
-      description => $parent->id
-    }
-  );
-    
-  #Run vmatch on everything in the array
-  $sbe->search
-  (
-    {
-      database            => "$rand.FASTA",
-      query_file          => $datapath,
-      complete            => 1,
-      mismatches          => $mismatches,
-      direct_and_rev_com  => 1,
-      online              => 1
-    }
-  );
-  my @hits;
-  while ( my $res = $sbe->next_res )
-  {
-    push @hits, $res->sequence();
-  }
-  #Clean up and return
-  system "rm $writedir$rand.FASTA.*" || croak ("Can't clean up? $!");
-  system "rm $dbpath" || croak ("Can't clean up? $!");
-  system "rm $datapath" || croak ("Can't clean up? $!");
-  return \@hits;
-}
-
-1;
-
-__END__
-
-=head1 COPYRIGHT AND LICENSE
-
-Copyright (c) 2012, GeneDesign developers
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
-* Redistributions of source code must retain the above copyright notice, this
-list of conditions and the following disclaimer.
-
-* Redistributions in binary form must reproduce the above copyright notice, this
-list of conditions and the following disclaimer in the documentation and/or
-other materials provided with the distribution.
-
-* The names of Johns Hopkins, the Joint Genome Institute, the Lawrence Berkeley
-National Laboratory, the Department of Energy, and the GeneDesign developers may
-not be used to endorse or promote products derived from this software without
-specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
-OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-=cut
-

stubs/CodonsOld.pm

 
 =head1 VERSION
 
-Version 5.00
+Version 5.50
 
 =head1 DESCRIPTION
 
 use strict;
 use warnings;
 
-our $VERSION = 5.00;
+our $VERSION = 5.50;
 
 use base qw(Exporter);
 our @EXPORT_OK = qw(
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2012, GeneDesign developers
+Copyright (c) 2013, GeneDesign developers
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without modification,

stubs/GD_Swap_Codons.pl

 use strict;
 use warnings;
 
-my $VERSION = '5.00';
+my $VERSION = '5.50';
 my $GDV = "GD_Swap_Codons_$VERSION";
 my $GDS = "_CJ";
 
 
 =head1 VERSION
 
-  Version 5.00
+  Version 5.50
 
 =head1 DESCRIPTION
 
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2012, GeneDesign developers
+Copyright (c) 2013, GeneDesign developers
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without modification,
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2012, GeneDesign developers
+Copyright (c) 2013, GeneDesign developers
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without modification,

stubs/SufTree copy.pm

 
 =head1 VERSION
 
-Version 5.00
+Version 5.50
 
 =head1 DESCRIPTION
 
 use strict;
 use warnings;
 
-my $VERSION = 5.00;
+my $VERSION = 5.50;
 
 =head1 Functions
 
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2012, GeneDesign developers
+Copyright (c) 2013, GeneDesign developers
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without modification,
 #!perl -T
 
-use Test::More tests => 16;
+use Test::More tests => 11;
 use strict;
 use warnings;
 
   use_ok( 'Bio::GeneDesign::Codons' )       || print "Can't use Codons\n";
   use_ok( 'Bio::GeneDesign::CodonJuggle' )  || print "Can't use CodonJuggle\n";
   use_ok( 'Bio::GeneDesign::Oligo' )        || print "Can't use Oligo\n";
-  use_ok( 'Bio::GeneDesign::Oligos::JGI' )  || print "Can't use Oligos::JGI\n";
-  use_ok( 'Bio::GeneDesign::Oligos::JHU' )  || print "Can't use Oligos::JHU\n";
   use_ok( 'Bio::GeneDesign::Random' )       || print "Can't use Random\n";
   use_ok( 'Bio::GeneDesign::PrefixTree' )   || print "Can't use PrefixTree\n";
   use_ok( 'Bio::GeneDesign::Exceptions' )   || print "Can't use Exceptions\n";
-  use_ok( 'Bio::GeneDesign::Vector' )       || print "Can't use Vector\n";
       
   use_ok( 'Bio::GeneDesign::RestrictionEnzyme' )
       || print "Can't use RestrictionEnzyme\n";
       
   use_ok( 'Bio::GeneDesign::ReverseTranslate' )
       || print "Can't use ReverseTranslate\n";
-         
-  use_ok( 'Bio::GeneDesign::BuildingBlocks::enzyme' )
-      || print "Can't use BuildingBlocks::enzyme\n";
-      
-  use_ok( 'Bio::GeneDesign::BuildingBlocks::overlap' )
-      || print "Can't use BuildingBlocks::overlap\n";
 }
 

t/45-palindrome.t

-#! /usr/bin/perl
-
-#FAILS 25 IF perl -T
-
-use Test::More;
-use Bio::GeneDesign;
-use Bio::Seq;
-
-use strict;
-use warnings;
-
-eval {require Bio::Factory::EMBOSS};
-if($@)
-{
-    plan skip_all => 'Bio::Factory::EMBOSS not installed';
-}
-else
-{
-    plan tests => 1;
-}
-
-my $GD = Bio::GeneDesign->new();
-$GD->set_organism(-organism_name => "yeast",
-                  -table_path => "codon_tables/Standard.ct",
-                  -rscu_path => "codon_tables/yeast.rscu");
-
-
-my $pal = Bio::Seq->new( -seq => "ATAACTTCGTATAATGTACATTATACGAAGTTAT", -id => "loxPsym");
-my $nopal = Bio::Seq->new( -seq => "ACATTATACGAAGTTAT", -id => "halfloxPsym");
-
-my $rarr = [$nopal];
-
-my $tarr = $GD->filter_palindromes(-sequences => [$pal, $nopal]);
-
-is_deeply ($tarr, $rarr, "filter palindromes");
-                                         
-

t/50-vmatch.t

-#! /usr/bin/perl
-
-#FAILS 255 IF perl -T
-
-use Test::More;
-use Bio::GeneDesign;
-use Bio::Seq;
-
-use strict;
-use warnings;
-
-my $GD = Bio::GeneDesign->new();
-
-unless ($GD->vmatch)
-{
-    plan skip_all => 'Vmatch support not installed';
-}
-else
-{
-    plan tests => 1;
-}
-
-my $seq = "TGACTTGTACCGATGAGCTGGCTCTTCTGGGCGAGCTGGCTGATCTTGACGAGCAGACTTCTCCCGA";
-$seq .= "CGAGCTGACTTGTGTCGATGAGCTGGCTCTTCTGGGCGAGTTGGCTGATCTTGACGAGCAGACTTCTCC";
-$seq .= "CGACGAGCTGACTTGTGTCGATGAGCTGGCTCTTCTGGGCGAACTGGCTGATCTTGACGAGCAGACTTC";
-$seq .= "TCCCGACGAGCTGACTTGTGCTATCCTTTCTCCAGGTCTCGAAAAAGTCCCCTTTCCCGAGACTTTCTA";
-$seq .= "TTCCTTATTTATACCCGTCCGTATAGTAGGGTACGCAAGGTGAATTCTCGAGAGTGCCCCTTTTCTACG";
-$seq .= "CAGCCGAACTCACATCCTGACCAGGCCGGGCTTCGGCCTGGTGGGCCGGCTCGAGTTCTAAAGTGATGG";
-$seq .= "TCGGGGCTGGGTCGTTATTCCTTGAAATGGGCCGGTTGATCACTGAGGCCCAATTGATGTATCAACATG";
-$seq .= "TGGTTTTTATAAAAAGAGTCGTGAGAAGAGTTTTCTCTAAAAATCCCTTGTGTTTGGTAATCAAACTTC";
-$seq .= "ATT";
-my $seqobj = Bio::Seq->new( -seq => $seq, -id => "Dicot_A5.05");
-
-my $rhsh = {
-  '276' => 'TCCTTATTTATACCCGTCCGTATAGTAGGGTACGCAAGGTG',
-  '443' => 'GCCGGTTGATCACTGAGGCCCAATTGATGTATCAACATGTG',
-  '206' => 'TCCCGACGAGCTGACTTGTGCTATCCTTTCTCCAGGTCTCG',
-  '358' => 'TCCTGACCAGGCCGGGCTTCGGCCTGGTGGGCCGGCTCGAG',
-  '331' => 'CCCCTTTTCTACGCAGCCGAACTCACATCCTGACCAGGCCG',
-  '512' => 'TTTTCTCTAAAAATCCCTTGTGTTTGGTAATCAAACTTCAT',
-  '233' => 'TTCTCCAGGTCTCGAAAAAGTCCCCTTTCCCGAGACTTTCT',
-  '437' => 'AAATGGGCCGGTTGATCACTGAGGCCCAATTGATGTATCAA',
-  '463' => 'CAATTGATGTATCAACATGTGGTTTTTATAAAAAGAGTCGT',
-  '259' => 'TTCCCGAGACTTTCTATTCCTTATTTATACCCGTCCGTATA',
-  '458' => 'AGGCCCAATTGATGTATCAACATGTGGTTTTTATAAAAAGA',
-  '424' => 'TCGTTATTCCTTGAAATGGGCCGGTTGATCACTGAGGCCCA',
-  '368' => 'GCCGGGCTTCGGCCTGGTGGGCCGGCTCGAGTTCTAAAGTG',
-  '451' => 'ATCACTGAGGCCCAATTGATGTATCAACATGTGGTTTTTAT',
-  '220' => 'CTTGTGCTATCCTTTCTCCAGGTCTCGAAAAAGTCCCCTTT',
-  '454' => 'ACTGAGGCCCAATTGATGTATCAACATGTGGTTTTTATAAA',
-  '316' => 'GAATTCTCGAGAGTGCCCCTTTTCTACGCAGCCGAACTCAC',
-  '395' => 'CGAGTTCTAAAGTGATGGTCGGGGCTGGGTCGTTATTCCTT',
-  '492' => 'AAAAAGAGTCGTGAGAAGAGTTTTCTCTAAAAATCCCTTGT',
-  '347' => 'CCGAACTCACATCCTGACCAGGCCGGGCTTCGGCCTGGTGG',
-  '208' => 'CCGACGAGCTGACTTGTGCTATCCTTTCTCCAGGTCTCGAA',
-  '511' => 'GTTTTCTCTAAAAATCCCTTGTGTTTGGTAATCAAACTTCA',
-  '434' => 'TTGAAATGGGCCGGTTGATCACTGAGGCCCAATTGATGTAT',
-  '292' => 'TCCGTATAGTAGGGTACGCAAGGTGAATTCTCGAGAGTGCC',
-  '378' => 'GGCCTGGTGGGCCGGCTCGAGTTCTAAAGTGATGGTCGGGG',
-  '325' => 'AGAGTGCCCCTTTTCTACGCAGCCGAACTCACATCCTGACC',
-  '350' => 'AACTCACATCCTGACCAGGCCGGGCTTCGGCCTGGTGGGCC',
-  '291' => 'GTCCGTATAGTAGGGTACGCAAGGTGAATTCTCGAGAGTGC',
-  '374' => 'CTTCGGCCTGGTGGGCCGGCTCGAGTTCTAAAGTGATGGTC',
-  '442' => 'GGCCGGTTGATCACTGAGGCCCAATTGATGTATCAACATGT',
-  '199' => 'AGACTTCTCCCGACGAGCTGACTTGTGCTATCCTTTCTCCA',
-  '429' => 'ATTCCTTGAAATGGGCCGGTTGATCACTGAGGCCCAATTGA',
-  '226' => 'CTATCCTTTCTCCAGGTCTCGAAAAAGTCCCCTTTCCCGAG',
-  '211' => 'ACGAGCTGACTTGTGCTATCCTTTCTCCAGGTCTCGAAAAA',
-  '431' => 'TCCTTGAAATGGGCCGGTTGATCACTGAGGCCCAATTGATG',
-  '382' => 'TGGTGGGCCGGCTCGAGTTCTAAAGTGATGGTCGGGGCTGG',
-  '337' => 'TTCTACGCAGCCGAACTCACATCCTGACCAGGCCGGGCTTC',
-  '409' => 'ATGGTCGGGGCTGGGTCGTTATTCCTTGAAATGGGCCGGTT',
-  '340' => 'TACGCAGCCGAACTCACATCCTGACCAGGCCGGGCTTCGGC',
-  '311' => 'AAGGTGAATTCTCGAGAGTGCCCCTTTTCTACGCAGCCGAA',
-  '241' => 'GTCTCGAAAAAGTCCCCTTTCCCGAGACTTTCTATTCCTTA',
-  '198' => 'CAGACTTCTCCCGACGAGCTGACTTGTGCTATCCTTTCTCC',
-  '489' => 'TATAAAAAGAGTCGTGAGAAGAGTTTTCTCTAAAAATCCCT',
-  '389' => 'CCGGCTCGAGTTCTAAAGTGATGGTCGGGGCTGGGTCGTTA',
-  '327' => 'AGTGCCCCTTTTCTACGCAGCCGAACTCACATCCTGACCAG',
-  '495' => 'AAGAGTCGTGAGAAGAGTTTTCTCTAAAAATCCCTTGTGTT',
-  '320' => 'TCTCGAGAGTGCCCCTTTTCTACGCAGCCGAACTCACATCC',
-  '418' => 'GCTGGGTCGTTATTCCTTGAAATGGGCCGGTTGATCACTGA',
-  '280' => 'TATTTATACCCGTCCGTATAGTAGGGTACGCAAGGTGAATT',
-  '273' => 'TATTCCTTATTTATACCCGTCCGTATAGTAGGGTACGCAAG',
-  '471' => 'GTATCAACATGTGGTTTTTATAAAAAGAGTCGTGAGAAGAG',
-  '236' => 'TCCAGGTCTCGAAAAAGTCCCCTTTCCCGAGACTTTCTATT',
-  '465' => 'ATTGATGTATCAACATGTGGTTTTTATAAAAAGAGTCGTGA',
-  '361' => 'TGACCAGGCCGGGCTTCGGCCTGGTGGGCCGGCTCGAGTTC',
-  '202' => 'CTTCTCCCGACGAGCTGACTTGTGCTATCCTTTCTCCAGGT',
-  '218' => 'GACTTGTGCTATCCTTTCTCCAGGTCTCGAAAAAGTCCCCT',
-  '249' => 'AAAGTCCCCTTTCCCGAGACTTTCTATTCCTTATTTATACC',
-  '348' => 'CGAACTCACATCCTGACCAGGCCGGGCTTCGGCCTGGTGGG',
-  '285' => 'ATACCCGTCCGTATAGTAGGGTACGCAAGGTGAATTCTCGA',
-  '412' => 'GTCGGGGCTGGGTCGTTATTCCTTGAAATGGGCCGGTTGAT',
-  '385' => 'TGGGCCGGCTCGAGTTCTAAAGTGATGGTCGGGGCTGGGTC',
-  '234' => 'TCTCCAGGTCTCGAAAAAGTCCCCTTTCCCGAGACTTTCTA',
-  '502' => 'GTGAGAAGAGTTTTCTCTAAAAATCCCTTGTGTTTGGTAAT',
-  '314' => 'GTGAATTCTCGAGAGTGCCCCTTTTCTACGCAGCCGAACTC',
-  '307' => 'ACGCAAGGTGAATTCTCGAGAGTGCCCCTTTTCTACGCAGC',
-  '388' => 'GCCGGCTCGAGTTCTAAAGTGATGGTCGGGGCTGGGTCGTT',
-  '364' => 'CCAGGCCGGGCTTCGGCCTGGTGGGCCGGCTCGAGTTCTAA',
-  '355' => 'ACATCCTGACCAGGCCGGGCTTCGGCCTGGTGGGCCGGCTC',
-  '479' => 'ATGTGGTTTTTATAAAAAGAGTCGTGAGAAGAGTTTTCTCT',
-  '486' => 'TTTTATAAAAAGAGTCGTGAGAAGAGTTTTCTCTAAAAATC',
-  '326' => 'GAGTGCCCCTTTTCTACGCAGCCGAACTCACATCCTGACCA',
-  '509' => 'GAGTTTTCTCTAAAAATCCCTTGTGTTTGGTAATCAAACTT',
-  '367' => 'GGCCGGGCTTCGGCCTGGTGGGCCGGCTCGAGTTCTAAAGT',
-  '335' => 'TTTTCTACGCAGCCGAACTCACATCCTGACCAGGCCGGGCT',
-  '270' => 'TTCTATTCCTTATTTATACCCGTCCGTATAGTAGGGTACGC',
-  '485' => 'TTTTTATAAAAAGAGTCGTGAGAAGAGTTTTCTCTAAAAAT',
-  '391' => 'GGCTCGAGTTCTAAAGTGATGGTCGGGGCTGGGTCGTTATT',
-  '288' => 'CCCGTCCGTATAGTAGGGTACGCAAGGTGAATTCTCGAGAG',
-  '460' => 'GCCCAATTGATGTATCAACATGTGGTTTTTATAAAAAGAGT',
-  '453' => 'CACTGAGGCCCAATTGATGTATCAACATGTGGTTTTTATAA',
-  '324' => 'GAGAGTGCCCCTTTTCTACGCAGCCGAACTCACATCCTGAC',
-  '244' => 'TCGAAAAAGTCCCCTTTCCCGAGACTTTCTATTCCTTATTT',
-  '433' => 'CTTGAAATGGGCCGGTTGATCACTGAGGCCCAATTGATGTA',
-  '351' => 'ACTCACATCCTGACCAGGCCGGGCTTCGGCCTGGTGGGCCG',
-  '410' => 'TGGTCGGGGCTGGGTCGTTATTCCTTGAAATGGGCCGGTTG',
-  '240' => 'GGTCTCGAAAAAGTCCCCTTTCCCGAGACTTTCTATTCCTT',
-  '246' => 'GAAAAAGTCCCCTTTCCCGAGACTTTCTATTCCTTATTTAT',
-  '334' => 'CTTTTCTACGCAGCCGAACTCACATCCTGACCAGGCCGGGC',
-  '440' => 'TGGGCCGGTTGATCACTGAGGCCCAATTGATGTATCAACAT',
-  '488' => 'TTATAAAAAGAGTCGTGAGAAGAGTTTTCTCTAAAAATCCC',
-  '230' => 'CCTTTCTCCAGGTCTCGAAAAAGTCCCCTTTCCCGAGACTT',
-  '299' => 'AGTAGGGTACGCAAGGTGAATTCTCGAGAGTGCCCCTTTTC',
-  '430' => 'TTCCTTGAAATGGGCCGGTTGATCACTGAGGCCCAATTGAT',
-  '377' => 'CGGCCTGGTGGGCCGGCTCGAGTTCTAAAGTGATGGTCGGG',
-  '447' => 'GTTGATCACTGAGGCCCAATTGATGTATCAACATGTGGTTT',
-  '201' => 'ACTTCTCCCGACGAGCTGACTTGTGCTATCCTTTCTCCAGG',
-  '379' => 'GCCTGGTGGGCCGGCTCGAGTTCTAAAGTGATGGTCGGGGC',
-  '423' => 'GTCGTTATTCCTTGAAATGGGCCGGTTGATCACTGAGGCCC',
-  '415' => 'GGGGCTGGGTCGTTATTCCTTGAAATGGGCCGGTTGATCAC',
-  '452' => 'TCACTGAGGCCCAATTGATGTATCAACATGTGGTTTTTATA',
-  '342' => 'CGCAGCCGAACTCACATCCTGACCAGGCCGGGCTTCGGCCT',
-  '266' => 'GACTTTCTATTCCTTATTTATACCCGTCCGTATAGTAGGGT',
-  '295' => 'GTATAGTAGGGTACGCAAGGTGAATTCTCGAGAGTGCCCCT',
-  '480' => 'TGTGGTTTTTATAAAAAGAGTCGTGAGAAGAGTTTTCTCTA',
-  '341' => 'ACGCAGCCGAACTCACATCCTGACCAGGCCGGGCTTCGGCC',
-  '438' => 'AATGGGCCGGTTGATCACTGAGGCCCAATTGATGTATCAAC',
-  '467' => 'TGATGTATCAACATGTGGTTTTTATAAAAAGAGTCGTGAGA',
-  '481' => 'GTGGTTTTTATAAAAAGAGTCGTGAGAAGAGTTTTCTCTAA',
-  '474' => 'TCAACATGTGGTTTTTATAAAAAGAGTCGTGAGAAGAGTTT',
-  '444' => 'CCGGTTGATCACTGAGGCCCAATTGATGTATCAACATGTGG',
-  '214' => 'AGCTGACTTGTGCTATCCTTTCTCCAGGTCTCGAAAAAGTC',
-  '508' => 'AGAGTTTTCTCTAAAAATCCCTTGTGTTTGGTAATCAAACT',
-  '422' => 'GGTCGTTATTCCTTGAAATGGGCCGGTTGATCACTGAGGCC',
-  '221' => 'TTGTGCTATCCTTTCTCCAGGTCTCGAAAAAGTCCCCTTTC',
-  '417' => 'GGCTGGGTCGTTATTCCTTGAAATGGGCCGGTTGATCACTG',
-  '302' => 'AGGGTACGCAAGGTGAATTCTCGAGAGTGCCCCTTTTCTAC',
-  '312' => 'AGGTGAATTCTCGAGAGTGCCCCTTTTCTACGCAGCCGAAC',
-  '229' => 'TCCTTTCTCCAGGTCTCGAAAAAGTCCCCTTTCCCGAGACT',
-  '507' => 'AAGAGTTTTCTCTAAAAATCCCTTGTGTTTGGTAATCAAAC',
-  '405' => 'AGTGATGGTCGGGGCTGGGTCGTTATTCCTTGAAATGGGCC',
-  '260' => 'TCCCGAGACTTTCTATTCCTTATTTATACCCGTCCGTATAG',
-  '237' => 'CCAGGTCTCGAAAAAGTCCCCTTTCCCGAGACTTTCTATTC',
-  '503' => 'TGAGAAGAGTTTTCTCTAAAAATCCCTTGTGTTTGGTAATC',
-  '370' => 'CGGGCTTCGGCCTGGTGGGCCGGCTCGAGTTCTAAAGTGAT',
-  '309' => 'GCAAGGTGAATTCTCGAGAGTGCCCCTTTTCTACGCAGCCG',
-  '402' => 'TAAAGTGATGGTCGGGGCTGGGTCGTTATTCCTTGAAATGG',
-  '315' => 'TGAATTCTCGAGAGTGCCCCTTTTCTACGCAGCCGAACTCA',
-  '506' => 'GAAGAGTTTTCTCTAAAAATCCCTTGTGTTTGGTAATCAAA',
-  '416' => 'GGGCTGGGTCGTTATTCCTTGAAATGGGCCGGTTGATCACT',
-  '338' => 'TCTACGCAGCCGAACTCACATCCTGACCAGGCCGGGCTTCG',
-  '380' => 'CCTGGTGGGCCGGCTCGAGTTCTAAAGTGATGGTCGGGGCT',
-  '222' => 'TGTGCTATCCTTTCTCCAGGTCTCGAAAAAGTCCCCTTTCC',
-  '300' => 'GTAGGGTACGCAAGGTGAATTCTCGAGAGTGCCCCTTTTCT',
-  '286' => 'TACCCGTCCGTATAGTAGGGTACGCAAGGTGAATTCTCGAG',
-  '484' => 'GTTTTTATAAAAAGAGTCGTGAGAAGAGTTTTCTCTAAAAA',
-  '381' => 'CTGGTGGGCCGGCTCGAGTTCTAAAGTGATGGTCGGGGCTG',
-  '305' => 'GTACGCAAGGTGAATTCTCGAGAGTGCCCCTTTTCTACGCA',
-  '308' => 'CGCAAGGTGAATTCTCGAGAGTGCCCCTTTTCTACGCAGCC',
-  '392' => 'GCTCGAGTTCTAAAGTGATGGTCGGGGCTGGGTCGTTATTC',
-  '254' => 'CCCCTTTCCCGAGACTTTCTATTCCTTATTTATACCCGTCC',
-  '496' => 'AGAGTCGTGAGAAGAGTTTTCTCTAAAAATCCCTTGTGTTT',
-  '373' => 'GCTTCGGCCTGGTGGGCCGGCTCGAGTTCTAAAGTGATGGT',
-  '217' => 'TGACTTGTGCTATCCTTTCTCCAGGTCTCGAAAAAGTCCCC',
-  '328' => 'GTGCCCCTTTTCTACGCAGCCGAACTCACATCCTGACCAGG',
-  '239' => 'AGGTCTCGAAAAAGTCCCCTTTCCCGAGACTTTCTATTCCT',
-  '464' => 'AATTGATGTATCAACATGTGGTTTTTATAAAAAGAGTCGTG',
-  '205' => 'CTCCCGACGAGCTGACTTGTGCTATCCTTTCTCCAGGTCTC',
-  '269' => 'TTTCTATTCCTTATTTATACCCGTCCGTATAGTAGGGTACG',
-  '281' => 'ATTTATACCCGTCCGTATAGTAGGGTACGCAAGGTGAATTC',
-  '363' => 'ACCAGGCCGGGCTTCGGCCTGGTGGGCCGGCTCGAGTTCTA',
-  '399' => 'TTCTAAAGTGATGGTCGGGGCTGGGTCGTTATTCCTTGAAA',
-  '235' => 'CTCCAGGTCTCGAAAAAGTCCCCTTTCCCGAGACTTTCTAT',
-  '301' => 'TAGGGTACGCAAGGTGAATTCTCGAGAGTGCCCCTTTTCTA',
-  '436' => 'GAAATGGGCCGGTTGATCACTGAGGCCCAATTGATGTATCA',
-  '497' => 'GAGTCGTGAGAAGAGTTTTCTCTAAAAATCCCTTGTGTTTG',
-  '213' => 'GAGCTGACTTGTGCTATCCTTTCTCCAGGTCTCGAAAAAGT',
-  '472' => 'TATCAACATGTGGTTTTTATAAAAAGAGTCGTGAGAAGAGT',
-  '456' => 'TGAGGCCCAATTGATGTATCAACATGTGGTTTTTATAAAAA',
-  '439' => 'ATGGGCCGGTTGATCACTGAGGCCCAATTGATGTATCAACA',
-  '362' => 'GACCAGGCCGGGCTTCGGCCTGGTGGGCCGGCTCGAGTTCT',
-  '265' => 'AGACTTTCTATTCCTTATTTATACCCGTCCGTATAGTAGGG',
-  '296' => 'TATAGTAGGGTACGCAAGGTGAATTCTCGAGAGTGCCCCTT',
-  '317' => 'AATTCTCGAGAGTGCCCCTTTTCTACGCAGCCGAACTCACA',
-  '411' => 'GGTCGGGGCTGGGTCGTTATTCCTTGAAATGGGCCGGTTGA',
-  '493' => 'AAAAGAGTCGTGAGAAGAGTTTTCTCTAAAAATCCCTTGTG',
-  '478' => 'CATGTGGTTTTTATAAAAAGAGTCGTGAGAAGAGTTTTCTC',
-  '384' => 'GTGGGCCGGCTCGAGTTCTAAAGTGATGGTCGGGGCTGGGT',
-  '398' => 'GTTCTAAAGTGATGGTCGGGGCTGGGTCGTTATTCCTTGAA',
-  '386' => 'GGGCCGGCTCGAGTTCTAAAGTGATGGTCGGGGCTGGGTCG',
-  '407' => 'TGATGGTCGGGGCTGGGTCGTTATTCCTTGAAATGGGCCGG',
-  '445' => 'CGGTTGATCACTGAGGCCCAATTGATGTATCAACATGTGGT',
-  '200' => 'GACTTCTCCCGACGAGCTGACTTGTGCTATCCTTTCTCCAG',
-  '366' => 'AGGCCGGGCTTCGGCCTGGTGGGCCGGCTCGAGTTCTAAAG',
-  '376' => 'TCGGCCTGGTGGGCCGGCTCGAGTTCTAAAGTGATGGTCGG',
-  '329' => 'TGCCCCTTTTCTACGCAGCCGAACTCACATCCTGACCAGGC',
-  '272' => 'CTATTCCTTATTTATACCCGTCCGTATAGTAGGGTACGCAA',
-  '298' => 'TAGTAGGGTACGCAAGGTGAATTCTCGAGAGTGCCCCTTTT',
-  '400' => 'TCTAAAGTGATGGTCGGGGCTGGGTCGTTATTCCTTGAAAT',
-  '313' => 'GGTGAATTCTCGAGAGTGCCCCTTTTCTACGCAGCCGAACT',
-  '231' => 'CTTTCTCCAGGTCTCGAAAAAGTCCCCTTTCCCGAGACTTT',
-  '243' => 'CTCGAAAAAGTCCCCTTTCCCGAGACTTTCTATTCCTTATT',
-  '504' => 'GAGAAGAGTTTTCTCTAAAAATCCCTTGTGTTTGGTAATCA',
-  '343' => 'GCAGCCGAACTCACATCCTGACCAGGCCGGGCTTCGGCCTG',
-  '468' => 'GATGTATCAACATGTGGTTTTTATAAAAAGAGTCGTGAGAA',
-  '287' => 'ACCCGTCCGTATAGTAGGGTACGCAAGGTGAATTCTCGAGA',
-  '475' => 'CAACATGTGGTTTTTATAAAAAGAGTCGTGAGAAGAGTTTT',
-  '441' => 'GGGCCGGTTGATCACTGAGGCCCAATTGATGTATCAACATG',
-  '294' => 'CGTATAGTAGGGTACGCAAGGTGAATTCTCGAGAGTGCCCC',
-  '397' => 'AGTTCTAAAGTGATGGTCGGGGCTGGGTCGTTATTCCTTGA',
-  '413' => 'TCGGGGCTGGGTCGTTATTCCTTGAAATGGGCCGGTTGATC',
-  '349' => 'GAACTCACATCCTGACCAGGCCGGGCTTCGGCCTGGTGGGC',
-  '275' => 'TTCCTTATTTATACCCGTCCGTATAGTAGGGTACGCAAGGT',
-  '197' => 'GCAGACTTCTCCCGACGAGCTGACTTGTGCTATCCTTTCTC',
-  '203' => 'TTCTCCCGACGAGCTGACTTGTGCTATCCTTTCTCCAGGTC',
-  '261' => 'CCCGAGACTTTCTATTCCTTATTTATACCCGTCCGTATAGT',
-  '459' => 'GGCCCAATTGATGTATCAACATGTGGTTTTTATAAAAAGAG',
-  '321' => 'CTCGAGAGTGCCCCTTTTCTACGCAGCCGAACTCACATCCT',
-  '432' => 'CCTTGAAATGGGCCGGTTGATCACTGAGGCCCAATTGATGT',
-  '284' => 'TATACCCGTCCGTATAGTAGGGTACGCAAGGTGAATTCTCG',
-  '247' => 'AAAAAGTCCCCTTTCCCGAGACTTTCTATTCCTTATTTATA',
-  '371' => 'GGGCTTCGGCCTGGTGGGCCGGCTCGAGTTCTAAAGTGATG',
-  '204' => 'TCTCCCGACGAGCTGACTTGTGCTATCCTTTCTCCAGGTCT',
-  '289' => 'CCGTCCGTATAGTAGGGTACGCAAGGTGAATTCTCGAGAGT',
-  '346' => 'GCCGAACTCACATCCTGACCAGGCCGGGCTTCGGCCTGGTG',
-  '435' => 'TGAAATGGGCCGGTTGATCACTGAGGCCCAATTGATGTATC',
-  '401' => 'CTAAAGTGATGGTCGGGGCTGGGTCGTTATTCCTTGAAATG',
-  '427' => 'TTATTCCTTGAAATGGGCCGGTTGATCACTGAGGCCCAATT',
-  '333' => 'CCTTTTCTACGCAGCCGAACTCACATCCTGACCAGGCCGGG',
-  '339' => 'CTACGCAGCCGAACTCACATCCTGACCAGGCCGGGCTTCGG',
-  '228' => 'ATCCTTTCTCCAGGTCTCGAAAAAGTCCCCTTTCCCGAGAC',
-  '323' => 'CGAGAGTGCCCCTTTTCTACGCAGCCGAACTCACATCCTGA',
-  '268' => 'CTTTCTATTCCTTATTTATACCCGTCCGTATAGTAGGGTAC',
-  '345' => 'AGCCGAACTCACATCCTGACCAGGCCGGGCTTCGGCCTGGT',
-  '319' => 'TTCTCGAGAGTGCCCCTTTTCTACGCAGCCGAACTCACATC',
-  '224' => 'TGCTATCCTTTCTCCAGGTCTCGAAAAAGTCCCCTTTCCCG',
-  '223' => 'GTGCTATCCTTTCTCCAGGTCTCGAAAAAGTCCCCTTTCCC',
-  '404' => 'AAGTGATGGTCGGGGCTGGGTCGTTATTCCTTGAAATGGGC',
-  '446' => 'GGTTGATCACTGAGGCCCAATTGATGTATCAACATGTGGTT',
-  '282' => 'TTTATACCCGTCCGTATAGTAGGGTACGCAAGGTGAATTCT',
-  '262' => 'CCGAGACTTTCTATTCCTTATTTATACCCGTCCGTATAGTA',
-  '420' => 'TGGGTCGTTATTCCTTGAAATGGGCCGGTTGATCACTGAGG',
-  '212' => 'CGAGCTGACTTGTGCTATCCTTTCTCCAGGTCTCGAAAAAG',
-  '344' => 'CAGCCGAACTCACATCCTGACCAGGCCGGGCTTCGGCCTGG',
-  '352' => 'CTCACATCCTGACCAGGCCGGGCTTCGGCCTGGTGGGCCGG',
-  '494' => 'AAAGAGTCGTGAGAAGAGTTTTCTCTAAAAATCCCTTGTGT',
-  '487' => 'TTTATAAAAAGAGTCGTGAGAAGAGTTTTCTCTAAAAATCC',
-  '238' => 'CAGGTCTCGAAAAAGTCCCCTTTCCCGAGACTTTCTATTCC',
-  '251' => 'AGTCCCCTTTCCCGAGACTTTCTATTCCTTATTTATACCCG',
-  '426' => 'GTTATTCCTTGAAATGGGCCGGTTGATCACTGAGGCCCAAT',
-  '369' => 'CCGGGCTTCGGCCTGGTGGGCCGGCTCGAGTTCTAAAGTGA',
-  '253' => 'TCCCCTTTCCCGAGACTTTCTATTCCTTATTTATACCCGTC',
-  '279' => 'TTATTTATACCCGTCCGTATAGTAGGGTACGCAAGGTGAAT',
-  '448' => 'TTGATCACTGAGGCCCAATTGATGTATCAACATGTGGTTTT',
-  '209' => 'CGACGAGCTGACTTGTGCTATCCTTTCTCCAGGTCTCGAAA',
-  '498' => 'AGTCGTGAGAAGAGTTTTCTCTAAAAATCCCTTGTGTTTGG',
-  '483' => 'GGTTTTTATAAAAAGAGTCGTGAGAAGAGTTTTCTCTAAAA',
-  '256' => 'CCTTTCCCGAGACTTTCTATTCCTTATTTATACCCGTCCGT',
-  '216' => 'CTGACTTGTGCTATCCTTTCTCCAGGTCTCGAAAAAGTCCC',
-  '357' => 'ATCCTGACCAGGCCGGGCTTCGGCCTGGTGGGCCGGCTCGA',
-  '372' => 'GGCTTCGGCCTGGTGGGCCGGCTCGAGTTCTAAAGTGATGG',
-  '428' => 'TATTCCTTGAAATGGGCCGGTTGATCACTGAGGCCCAATTG',
-  '455' => 'CTGAGGCCCAATTGATGTATCAACATGTGGTTTTTATAAAA',
-  '227' => 'TATCCTTTCTCCAGGTCTCGAAAAAGTCCCCTTTCCCGAGA',
-  '336' => 'TTTCTACGCAGCCGAACTCACATCCTGACCAGGCCGGGCTT',
-  '457' => 'GAGGCCCAATTGATGTATCAACATGTGGTTTTTATAAAAAG',
-  '383' => 'GGTGGGCCGGCTCGAGTTCTAAAGTGATGGTCGGGGCTGGG',
-  '500' => 'TCGTGAGAAGAGTTTTCTCTAAAAATCCCTTGTGTTTGGTA',
-  '264' => 'GAGACTTTCTATTCCTTATTTATACCCGTCCGTATAGTAGG',
-  '255' => 'CCCTTTCCCGAGACTTTCTATTCCTTATTTATACCCGTCCG',
-  '297' => 'ATAGTAGGGTACGCAAGGTGAATTCTCGAGAGTGCCCCTTT',
-  '359' => 'CCTGACCAGGCCGGGCTTCGGCCTGGTGGGCCGGCTCGAGT',
-  '277' => 'CCTTATTTATACCCGTCCGTATAGTAGGGTACGCAAGGTGA',
-  '462' => 'CCAATTGATGTATCAACATGTGGTTTTTATAAAAAGAGTCG',
-  '232' => 'TTTCTCCAGGTCTCGAAAAAGTCCCCTTTCCCGAGACTTTC',
-  '414' => 'CGGGGCTGGGTCGTTATTCCTTGAAATGGGCCGGTTGATCA',
-  '477' => 'ACATGTGGTTTTTATAAAAAGAGTCGTGAGAAGAGTTTTCT',
-  '225' => 'GCTATCCTTTCTCCAGGTCTCGAAAAAGTCCCCTTTCCCGA',
-  '207' => 'CCCGACGAGCTGACTTGTGCTATCCTTTCTCCAGGTCTCGA',
-  '330' => 'GCCCCTTTTCTACGCAGCCGAACTCACATCCTGACCAGGCC',
-  '263' => 'CGAGACTTTCTATTCCTTATTTATACCCGTCCGTATAGTAG',
-  '394' => 'TCGAGTTCTAAAGTGATGGTCGGGGCTGGGTCGTTATTCCT',
-  '505' => 'AGAAGAGTTTTCTCTAAAAATCCCTTGTGTTTGGTAATCAA',
-  '360' => 'CTGACCAGGCCGGGCTTCGGCCTGGTGGGCCGGCTCGAGTT',
-  '419' => 'CTGGGTCGTTATTCCTTGAAATGGGCCGGTTGATCACTGAG',
-  '513' => 'TTTCTCTAAAAATCCCTTGTGTTTGGTAATCAAACTTCATT',
-  '290' => 'CGTCCGTATAGTAGGGTACGCAAGGTGAATTCTCGAGAGTG',
-  '304' => 'GGTACGCAAGGTGAATTCTCGAGAGTGCCCCTTTTCTACGC',
-  '476' => 'AACATGTGGTTTTTATAAAAAGAGTCGTGAGAAGAGTTTTC',
-  '210' => 'GACGAGCTGACTTGTGCTATCCTTTCTCCAGGTCTCGAAAA',
-  '406' => 'GTGATGGTCGGGGCTGGGTCGTTATTCCTTGAAATGGGCCG',
-  '258' => 'TTTCCCGAGACTTTCTATTCCTTATTTATACCCGTCCGTAT',
-  '396' => 'GAGTTCTAAAGTGATGGTCGGGGCTGGGTCGTTATTCCTTG',
-  '482' => 'TGGTTTTTATAAAAAGAGTCGTGAGAAGAGTTTTCTCTAAA',
-  '510' => 'AGTTTTCTCTAAAAATCCCTTGTGTTTGGTAATCAAACTTC',
-  '499' => 'GTCGTGAGAAGAGTTTTCTCTAAAAATCCCTTGTGTTTGGT',
-  '393' => 'CTCGAGTTCTAAAGTGATGGTCGGGGCTGGGTCGTTATTCC',
-  '449' => 'TGATCACTGAGGCCCAATTGATGTATCAACATGTGGTTTTT',
-  '293' => 'CCGTATAGTAGGGTACGCAAGGTGAATTCTCGAGAGTGCCC',
-  '274' => 'ATTCCTTATTTATACCCGTCCGTATAGTAGGGTACGCAAGG',
-  '365' => 'CAGGCCGGGCTTCGGCCTGGTGGGCCGGCTCGAGTTCTAAA',
-  '306' => 'TACGCAAGGTGAATTCTCGAGAGTGCCCCTTTTCTACGCAG',
-  '470' => 'TGTATCAACATGTGGTTTTTATAAAAAGAGTCGTGAGAAGA',
-  '322' => 'TCGAGAGTGCCCCTTTTCTACGCAGCCGAACTCACATCCTG',
-  '469' => 'ATGTATCAACATGTGGTTTTTATAAAAAGAGTCGTGAGAAG',
-  '353' => 'TCACATCCTGACCAGGCCGGGCTTCGGCCTGGTGGGCCGGC',
-  '375' => 'TTCGGCCTGGTGGGCCGGCTCGAGTTCTAAAGTGATGGTCG',
-  '403' => 'AAAGTGATGGTCGGGGCTGGGTCGTTATTCCTTGAAATGGG',
-  '466' => 'TTGATGTATCAACATGTGGTTTTTATAAAAAGAGTCGTGAG',
-  '252' => 'GTCCCCTTTCCCGAGACTTTCTATTCCTTATTTATACCCGT',
-  '310' => 'CAAGGTGAATTCTCGAGAGTGCCCCTTTTCTACGCAGCCGA',
-  '283' => 'TTATACCCGTCCGTATAGTAGGGTACGCAAGGTGAATTCTC',
-  '303' => 'GGGTACGCAAGGTGAATTCTCGAGAGTGCCCCTTTTCTACG',
-  '250' => 'AAGTCCCCTTTCCCGAGACTTTCTATTCCTTATTTATACCC',
-  '421' => 'GGGTCGTTATTCCTTGAAATGGGCCGGTTGATCACTGAGGC',
-  '501' => 'CGTGAGAAGAGTTTTCTCTAAAAATCCCTTGTGTTTGGTAA',
-  '215' => 'GCTGACTTGTGCTATCCTTTCTCCAGGTCTCGAA