JPRED-2 Initial commit of software for the Jpred website (some files excluded due...
authorSasha Sherstnev <a.sherstnev@dundee.ac.uk>
Mon, 18 Nov 2013 17:26:54 +0000 (17:26 +0000)
committerSasha Sherstnev <a.sherstnev@dundee.ac.uk>
Mon, 18 Nov 2013 17:26:54 +0000 (17:26 +0000)
57 files changed:
websoft/bin/Makefile [new file with mode: 0755]
websoft/bin/alscript [new file with mode: 0755]
websoft/bin/arco_stats.pl [new file with mode: 0755]
websoft/bin/blastall [new file with mode: 0755]
websoft/bin/blc2ps [new file with mode: 0755]
websoft/bin/concise2blc [new file with mode: 0755]
websoft/bin/concise2fasta [new file with mode: 0755]
websoft/bin/concise2html [new file with mode: 0755]
websoft/bin/concise2jalview.pl [new file with mode: 0755]
websoft/bin/concise2simplehtml [new file with mode: 0755]
websoft/bin/create_readme [new file with mode: 0755]
websoft/bin/crontab.txt [new file with mode: 0644]
websoft/bin/degap [new file with mode: 0755]
websoft/bin/fasta2concise [new file with mode: 0755]
websoft/bin/formatdb [new file with mode: 0755]
websoft/bin/get1stfasta [new file with mode: 0755]
websoft/bin/helixfilt [new file with mode: 0755]
websoft/bin/jpred_stats.pl [new file with mode: 0755]
websoft/bin/multicoil [new file with mode: 0755]
websoft/bin/ncoils [new file with mode: 0755]
websoft/bin/parse_psi [new file with mode: 0755]
websoft/bin/prettify.pl [new file with mode: 0755]
websoft/bin/ps2pdf [new file with mode: 0755]
websoft/bin/psiblast [new file with mode: 0755]
websoft/bin/readseq [new file with mode: 0755]
websoft/bin/run_jpred.pl [new file with mode: 0755]
websoft/bin/run_large_data.pl [new file with mode: 0755]
websoft/bin/runcoils [new file with mode: 0755]
websoft/bin/seg [new file with mode: 0755]
websoft/bin/sov [new file with mode: 0755]
websoft/data/blast/BLOSUM45 [new file with mode: 0755]
websoft/data/blast/BLOSUM62 [new file with mode: 0755]
websoft/data/blast/BLOSUM80 [new file with mode: 0755]
websoft/data/blast/KSat.flt [new file with mode: 0755]
websoft/data/blast/KSchoth.flt [new file with mode: 0755]
websoft/data/blast/KSgc.flt [new file with mode: 0755]
websoft/data/blast/KShopp.flt [new file with mode: 0755]
websoft/data/blast/KSkyte.flt [new file with mode: 0755]
websoft/data/blast/KSpcc.mat [new file with mode: 0755]
websoft/data/blast/KSpur.flt [new file with mode: 0755]
websoft/data/blast/KSpyr.flt [new file with mode: 0755]
websoft/data/blast/PAM30 [new file with mode: 0755]
websoft/data/blast/PAM70 [new file with mode: 0755]
websoft/data/blast/asn2ff.prt [new file with mode: 0755]
websoft/data/blast/bstdt.val [new file with mode: 0755]
websoft/data/blast/featdef.val [new file with mode: 0755]
websoft/data/blast/gc.val [new file with mode: 0755]
websoft/data/blast/humrep.fsa [new file with mode: 0755]
websoft/data/blast/lineages.txt [new file with mode: 0755]
websoft/data/blast/makerpt.prt [new file with mode: 0755]
websoft/data/blast/objprt.prt [new file with mode: 0755]
websoft/data/blast/pubkey.enc [new file with mode: 0755]
websoft/data/blast/seqcode.val [new file with mode: 0755]
websoft/data/blast/sequin.hlp [new file with mode: 0755]
websoft/data/blast/sgmlbb.ent [new file with mode: 0755]
websoft/data/blast/taxlist.txt [new file with mode: 0755]
websoft/data/coils/new.mat [new file with mode: 0755]

diff --git a/websoft/bin/Makefile b/websoft/bin/Makefile
new file mode 100755 (executable)
index 0000000..40b398f
--- /dev/null
@@ -0,0 +1,139 @@
+# Makefile for construction of databases that Jpred uses.
+# The pdb make target has been over documented so as to provide
+# explanation of the method behind the madness.
+# All variables are defined at the top of the file, and then targets
+# are defined afterwards
+
+# Suffixes created by BLAST, ptm is also created, but I think this is
+# a temporary file, so is mentioned explicitly in the clean target
+BLAST_SUFFIX = .phr .pin .psd .psi .psq
+
+# Specifically add path for some of the commands so we know we'll
+# find them
+PATH := $(PATH):/r0/www_servers/jpred/jpred_bin:/site/Linux/bin
+
+# Define commands that occur multiple times
+# The wget command means that you have to give the output location first,
+# then the target
+WGET = wget -N -t 10
+FORMATDB = formatdb -o T -i
+
+# Variables specific for PDB stuff
+# URL to get the file from
+PDB_URL = ftp://ftp.ebi.ac.uk/pub/databases/msd/pdb_aa.fasta
+PDB_FILE = $(notdir $(PDB_URL))
+# Target path to download to
+PDB_FASTA = pdb.fasta
+# Files created by running formatdb on $(PDB_FASTA)
+PDB_BLAST = $(addprefix $(PDB_FASTA), $(BLAST_SUFFIX))
+# Directory to install the files into
+#PDB_TARGET = /r0/www_servers/jpred/databases/pdb
+PDB_TARGET = /tmp/jpred/databases/pdb
+# The target paths of the files that are to be installed
+PDB_INSTALL =  $(addprefix $(PDB_TARGET)/, $(PDB_BLAST) $(PDB_FASTA))
+
+# Variables specific for SWALL
+SP_URL = ftp://ftp.ebi.ac.uk/pub/databases/sp_tr_nrdb/fasta/sprot.fas.gz
+SP_FILE = $(notdir $(SP_URL))
+TREMBL_URL = ftp://ftp.ebi.ac.uk/pub/databases/sp_tr_nrdb/fasta/trembl.fas.gz 
+TREMBL_FILE = $(notdir $(TREMBL_URL))
+
+SWALL_FASTA = swall.fasta
+SWALL_INDX = swall.jidx
+SWALL_FILT = swall.filt
+SWALL_BLAST = $(addprefix $(SWALL_FILT), $(BLAST_SUFFIX))
+SWALL_TARGET = /tmp/jpred/cluster/packages/jpred_swall
+SWALL_INSTALL = $(addprefix $(SWALL_TARGET)/, $(SWALL_BLAST) $(SWALL_FASTA) $(SWALL_FILT))
+
+######################################################################
+all: pdb.db swall.db
+
+######################################################################
+# PDB FASTA seqeunce database
+
+# Heirarchy of dependancies (indentation denotes dependancy):
+# /installation/dir/pdb.fasta{,.{phr,pin,psd,psi,psq}}
+#      pdb_wget
+#      pdb.fasta{.{phr,pin,psd,psi,psq}}
+#              pdb.fasta
+#                      pdb_aa.fasta
+# pdb_wget creates pdb_aa.fasta
+
+# This states that the PDB target depends upon the pdb_wget target and
+# the files in the variable $(PDB_INSTALL), this is the group of formatdb
+# index files and the original FASTA file used to create them in the
+# installation directory
+pdb.db: pdb_wget $(PDB_INSTALL)
+
+# This installs the files into the final directory
+$(PDB_INSTALL): $(PDB_BLAST)
+       mkdir -p $(PDB_TARGET)
+       install -m 644 $(PDB_BLAST) $(PDB_FASTA) $(PDB_TARGET)
+
+# Do BLAST DB formating. This depends on a group of files, so if any of
+# them are deleted/too old, then they're reformated.
+$(PDB_BLAST): $(PDB_FASTA)
+       $(FORMATDB) $(PDB_FASTA)
+
+$(PDB_FASTA): $(PDB_FILE)
+       cp $(PDB_FILE) $(PDB_FASTA)
+
+# This is a phony rule that's always executed, in this case it's to check
+# whether a newer version of the PDB FASTA file has been deposited on the
+# FTP site.
+# It has to be a phony rule as if it's made a normal rule that depends
+# on the file that's downloaded, its always considered upto date and the
+# wget command isn't run.
+.PHONY: pdb_wget
+pdb_wget:
+       $(WGET) $(PDB_FASTA) $(PDB_URL)
+       
+######################################################################
+
+swall.db: sp_wget trembl_wget $(SWALL_INSTALL)
+
+$(SWALL_INSTALL): $(SWALL_BLAST) $(SWALL_FASTA) $(SWALL_FILT) $(SWALL_INDX)
+       mkdir -p $(SWALL_TARGET)
+       install -m 644 $(SWALL_BLAST) $(SWALL_FASTA) $(SWALL_FILT) $(SWALL_INDX) $(SWALL_TARGET)
+
+$(SWALL_BLAST): $(SWALL_FILT)
+       $(FORMATDB) $(SWALL_FILT)
+
+# This next line defines a temporary variable for the target
+$(SWALL_FILT): TMP_FILE := $(shell tempfile -d /r0/scratch) 
+$(SWALL_FILT): $(SWALL_FASTA)
+       seg $(SWALL_FASTA) 12 2.2 2.5 -x > $(TMP_FILE)
+       ~/src/helixfilt/helixfilt $(TMP_FILE) > $(SWALL_FILT)
+       rm $(TMP_FILE)
+
+$(SWALL_INDX): $(SWALL_FASTA)
+       db_dbmindex $(SWALL_FASTA) $(SWALL_INDX)
+
+$(SWALL_FASTA): $(SP_FILE) $(TREMBL_FILE)
+       gzip -c -d $(SP_FILE) > $(SWALL_FASTA)
+       gzip -c -d $(TREMBL_FILE) >> $(SWALL_FASTA)
+
+$(SP_FILE): sp_wget
+
+$(TREMBL_FILE): trembl_wget
+
+.PHONY: sp_wget
+sp_wget:
+       $(WGET) $(SP_URL)
+
+.PHONY: trembl_wget
+trembl_wget:
+       $(WGET) $(TREMBL_URL)
+
+######################################################################
+clean:
+       -rm $(SWALL_FASTA) $(SWALL_INDX) $(SWALL_FILT) $(SWALL_BLAST)
+       -rm $(PDB_FASTA) $(PDB_BLAST)
+       -rm formatdb.log *.ptm
+
+distclean: clean
+       -rm $(PDB_FILE) $(SP_FILE) $(TREMBL_FILE)
+
+installclean:
+       -rm -r $(SWALL_TARGET)
+       -rm -r $(PDB_TARGET)
diff --git a/websoft/bin/alscript b/websoft/bin/alscript
new file mode 100755 (executable)
index 0000000..e9e895d
Binary files /dev/null and b/websoft/bin/alscript differ
diff --git a/websoft/bin/arco_stats.pl b/websoft/bin/arco_stats.pl
new file mode 100755 (executable)
index 0000000..3b5421b
--- /dev/null
@@ -0,0 +1,338 @@
+#!/usr/bin/perl
+
+=head1 NAME
+
+arco_stats.pl - script to collate SGE job stats from ARCo
+
+=cut
+
+use strict;
+use warnings;
+
+use Getopt::Long;
+use Pod::Usage;
+use File::Basename;
+use GD::Graph::bars;
+use DBI;
+
+# path for nicer fonts for the graph labels
+my $FONTPATH = "/homes/www-jpred/live/public_html/fonts/";
+my @month    = qw( Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec );
+my $user     = 'www-jpred';
+my $out;
+my $xDim     = 700;
+my $yDim     = 400;
+my $showPlot = 0;
+my $showCSV  = 1;
+my $runStats = 0;
+my $quiet    = 0;
+my $help;
+my $man;
+
+GetOptions(
+  'user=s'      => \$user,
+  'x=i'         => \$xDim,
+  'y=i'         => \$yDim,
+  'plot!'       => \$showPlot,
+  'csv!'        => \$showCSV,
+  'run-stats=i' => \$runStats,
+  'out=s'       => \$out,
+  'quiet'       => \$quiet,
+  'man'         => \$man,
+  'help|?'      => \$help,
+) or pod2usage();
+
+pod2usage( -verbose => 2 ) if ($man);
+pod2usage( -verbose => 1 ) if ($help);
+
+my $dbh = DBI->connect( "dbi:Pg:host=postgres.compbio.dundee.ac.uk;dbname=arco", 'account', 'saffron' ) or die "ERROR - can't connect to db: ", $DBI::errstr;
+
+# generate output prefix name unless already specified
+$out = "${user}_stats" unless ($out);
+
+# find out the current month and year. Correct year to real 4-digit number.
+my ( $currDate, $currMon, $currYr ) = ( localtime() )[ 3 .. 5 ];
+$currYr += 1900;
+
+my $monthly = get_monthly($dbh);
+warn "Warning - no monthly data found\n" unless ( scalar @{$monthly} );
+my $daily = get_daily( $dbh, $currMon, $currYr );
+warn "Warning - no daily data found for $month[$currMon] $currYr\n" unless ( scalar @{$daily} );
+print_run_stats( $dbh, $runStats ) if ($runStats);
+$dbh->disconnect;
+
+if ($showPlot) {
+  print "Drawing plots...\n" unless ($quiet);
+  draw_graph( $monthly, 'Month', "Monthly Totals", "${out}_monthly.png" );
+  draw_graph( $daily, 'Date', "Daily Totals for $month[$currMon]", "${out}_daily.png" );
+}
+
+if ($showCSV) {
+  print "Writing CSV files...\n" unless ($quiet);
+  print_data( $daily,   "${out}_daily.csv" );
+  print_data( $monthly, "${out}_monthly.csv" );
+}
+print "Finished!\n" unless ($quiet);
+exit;
+
+#########################################################################################################
+# count the number of jobs per month since records began
+sub get_monthly {
+  my $dbh = shift;
+
+  # retrieve all jobs run and give the epoch time they started.
+  # has a kludge to remove some extraneous run info for Aug 2008
+  my $sth = $dbh->prepare(
+    "SELECT EXTRACT(EPOCH FROM start_time)  AS epoch
+                            FROM view_accounting 
+                            WHERE username = '$user'
+                            AND submission_time > '2008-sep-01'::Date
+                            ORDER BY epoch ASC"
+  ) or die "ERROR - unable to prepare SELECT statement: ", $dbh->errstr();
+
+  $sth->execute();
+
+  # foreach epoch time retrieve month and year
+  # and count the number of jobs run per month
+  my %data;
+  while ( my @row = $sth->fetchrow_array ) {
+    my ( $mnth, $year ) = ( localtime( $row[0] ) )[ 4 .. 5 ];
+    $year += 1900;
+    $data{$year}{$mnth}++;
+  }
+
+  # convert month counts into data structure readable by GD::Graph
+  my $i = 0;
+  my @sortedData;
+  foreach my $year ( sort keys %data ) {
+    foreach my $mon ( sort { $a <=> $b } keys %{ $data{$year} } ) {
+      my $date = sprintf "%s %02d", $month[$mon], $year - 2000;    # convert into 2-digit version (not Y2K compatible)
+      $sortedData[0][$i] = $date;
+      $sortedData[1][$i] = $data{$year}{$mon};
+      ++$i;
+    }
+  }
+  return ( \@sortedData );
+}
+
+#########################################################################################################
+# count the number of jobs per day of current month
+sub get_daily {
+  my $dbh  = shift;
+  my $mnth = shift;
+  my $year = shift;
+
+  # retrieve the number of jobs run per day during this month
+  my $sth = $dbh->prepare(
+    "SELECT DISTINCT(CAST(start_time AS DATE)) AS start_date, COUNT(CAST(start_time AS DATE)) 
+                            FROM view_accounting 
+                            WHERE username = '$user' 
+                            AND start_time >= '$year-$month[$mnth]-01'::Date 
+                            GROUP BY start_date
+                            ORDER BY start_date ASC"
+  ) or die "ERROR - unable to prepare SELECT statement: ", $dbh->errstr();
+
+  $sth->execute();
+
+  # generate data structure for GD::Graph with day counts
+  my $i = 0;
+  my @data;
+  while ( my @row = $sth->fetchrow_array ) {
+    # $row[0] is the date
+    # $row[1] is the count
+    my $date = ( split( /-/, $row[0] ) )[2];
+
+    #print "$date: $row[1]\n";
+    $data[0][$i] = $date;
+    $data[1][$i] = $row[1];
+    ++$i;
+  }
+  $sth->finish();
+
+  return ( \@data );
+}
+
+#########################################################################################################
+# print out specific stats relating to run time, queuing time and exit status
+sub print_run_stats {
+  my ($dbh) = shift;
+  my $days = shift;
+
+  # get the date n days ago
+  my $secsInDays = 86400 * $days;              # num seconds in a day * number of days
+  my $daysAgo    = ( time() - $secsInDays );
+  my ( $date, $mnth, $year ) = ( localtime($daysAgo) )[ 3 .. 5 ];
+  $year += 1900;
+
+  #print "$days days ago was: $year-$month[$mnth]-$date\n";
+
+  # retrieve run-specific stats for the user
+  my $sth = $dbh->prepare(
+    "SELECT  wallclock_time, maxvmem, exit_status, EXTRACT(EPOCH FROM start_time - submission_time) AS wait_time
+                            FROM view_accounting 
+                            WHERE username = '$user' 
+                            AND submission_time >= '$year-$month[$mnth]-$date'::Date"
+  ) or die "ERROR - unable to prepare SELECT statement: ", $dbh->errstr();
+  $sth->execute() or die;
+  my $nRows = $sth->rows();
+
+  # open stats file
+  my $file = 'run_stats.csv';
+  open( my $OUT, ">>", $file ) or die "ERROR - unable to open '$file' for write: ${!}\nDied";
+  print $OUT "$currYr-$month[$currMon]-$currDate,$nRows,";
+
+  # if no jobs run in time frame warn, set everything to zero and return
+  if ( $nRows == 0 ) {
+    warn "Warning - no jobs found for user '$user' in the last $days days\n";
+    print $OUT "0,0,0,0,0\n";
+    close($OUT);
+    return;
+  }
+
+  # collate useful data
+  my %data;
+  while ( my @row = $sth->fetchrow_array ) {
+    $data{runtime} += $row[0];
+    $data{vmem}    += $row[1];
+    if ( $row[2] > 0 ) {
+      if ( $row[2] == 4 ) {
+        $data{timeouts}++;
+      } else {
+        $data{errors}++;
+      }
+    }
+    $data{waittime} += $row[3];
+
+  }
+
+  # define potentially undefined variables
+  $data{timeouts} = 0 unless ( $data{timeouts} );
+  $data{errors}   = 0 unless ( $data{errors} );
+
+  # write out data to file
+  foreach my $k qw(runtime vmem waittime) {
+    printf $OUT "%.0f,", $data{$k} / $nRows;
+  }
+  print $OUT "$data{timeouts},$data{errors}\n";
+}
+
+#########################################################################################################
+sub draw_graph {
+  my ( $dataref, $x_label, $title, $outFile ) = @_;
+
+  my $graph = GD::Graph::bars->new( 700, 400 );
+
+  $graph->set_title_font ( "$FONTPATH/VeraBd.ttf", 12 );
+  $graph->set_x_label_font ( "$FONTPATH/VeraBd.ttf", 8 );
+  $graph->set_y_label_font ( "$FONTPATH/VeraBd.ttf", 8 );
+  $graph->set_x_axis_font ( "$FONTPATH/Vera.ttf", 6 );
+  $graph->set_y_axis_font ( "$FONTPATH/Vera.ttf", 8 );
+  $graph->set(
+    x_label           => $x_label,
+    y_label           => 'No. Jpred Submissions',
+    title             => $title,
+    shadow_depth      => -2,
+    shadowclr         => 'lgray',
+    x_labels_vertical => 1,
+
+    # borderclrs                       => undef,
+    bar_width   => 12,
+    bar_spacing => 4
+  ) or die $graph->error;
+
+  my $gd = $graph->plot($dataref) or die $graph->error;
+
+  open( my $IMG, ">", $outFile ) or die "ERROR - unable to open '$outFile' for write: ${!}\nDied";
+  binmode $IMG;
+  print $IMG $gd->png;
+  close($IMG);
+
+}
+
+#########################################################################################################
+sub print_data {
+  my $data = shift;
+  my $file = shift;
+
+  if ( !scalar @{$data} ) {
+    warn "Warning - no data to print out. Nothing to do.\n";
+    return;
+  }
+
+  my $total = scalar @{ $data->[0] };
+
+  open( my $OUT, ">", $file ) or die "ERROR - unable to open '$file' for write: ${!}\nDied";
+  print $OUT "Date,nRuns\n";
+  for ( my $i = 0 ; $i < $total ; ++$i ) {
+    print $OUT "$data->[0][$i],$data->[1][$i]\n";
+  }
+}
+
+#########################################################################################################
+=head1 SYNOPSIS
+
+arco_stats.pl --user <sge_user> [--out <file_prefix> --x <pixels> --y <pixels>] [--csv] [--plot] [--run-stats <days>] [--quiet] [--man] [--help]
+
+=head1 DESCRIPTION
+
+Script to collate run statistics from the SGE ARCo system.
+
+The script will retrieve all historical data for the specified, count the number of jobs run and collate them by month. For the current month, data will be broken down by day.
+
+With no options script will get stats for the www-jpred user and output CSV formatted data only. Filenames will take the form <username>_stats_[daily|monthly].csv, unless specified with the --out switch.
+
+=head1 OPTIONS
+
+=over 5
+
+=item B<--user>
+
+Specify SGE user. [Default: www-jpred]
+
+=item B<--out>
+
+Ouput filename prefix.
+
+=item B<--x>
+
+Specific X-dimension of plot figure in pixels. [Default: 700]
+
+=item B<--y>
+
+Specific Y-dimension of plot figure in pixels. [Default: 400]
+
+=item B<--csv>,B<--nocsv>
+
+Toggle for CSV output. [Default: on]
+
+=item B<--plot>,B<--noplot>
+
+Toggle for plotting of data. [Default: off] 
+
+=item B<--run-stats>
+
+Set the number of days for collating run statistics (e.g. mean run time, mean wait time). [Default: 0]
+
+=item B<--quiet>
+
+Switch off progress messages. Useful if running in cron.
+
+=item B<--help>
+
+Brief help.
+
+=item B<--man>
+
+Full manpage of program.
+
+=back
+
+=head1 BUGS
+
+Script assumes it won't run in the past and threfore is not Y2K compliant.
+
+=head1 AUTHOR
+
+Chris Cole <christian@cole.name>
+
+=cut
diff --git a/websoft/bin/blastall b/websoft/bin/blastall
new file mode 100755 (executable)
index 0000000..234cdde
Binary files /dev/null and b/websoft/bin/blastall differ
diff --git a/websoft/bin/blc2ps b/websoft/bin/blc2ps
new file mode 100755 (executable)
index 0000000..e466ac9
--- /dev/null
@@ -0,0 +1,24 @@
+#!/usr/bin/perl
+
+# Generates PS from a blc file (generally made by concise2blc)
+
+use strict;
+use warnings;
+use Getopt::Long;
+
+use Jpred;
+
+my ($in, $out, $ps);
+GetOptions(
+       "in=s" => \$in,
+       "out=s" => \$out,
+       "postscript=s" => \$ps
+);
+
+die "No input BLC file given\n" unless defined $in;
+die "No output path given\n" unless defined $out;
+die "No PostScript output path given\n" unless defined $ps;
+
+#xsystem("$BINDIR/prettify -f $in -prefix $out -ignore 2");
+xsystem("$BINDIR/prettify.pl --blc $in --alscript $out --postscript $ps");
+xsystem("$BINDIR/alscript -f $out");
diff --git a/websoft/bin/concise2blc b/websoft/bin/concise2blc
new file mode 100755 (executable)
index 0000000..f22c66a
--- /dev/null
@@ -0,0 +1,114 @@
+#!/usr/bin/perl
+
+#
+# Generates a blc file from the concise file, reads in the sequence
+# alignments those records in @data
+#
+
+#
+#  CC 22/06/07 - bug fix in 'conversion' of coil-coiled predictions
+#  CC 22/05/06 - bug fix in final foreach loop
+#
+
+use strict;
+use warnings;
+
+if ($ARGV[0]) { open(IN, "<$ARGV[0]") or die($!); }
+else { open(IN, "<-") or die($!); }
+
+# The names of the records from the concise file that we want
+my @data = ("JNETALIGN", "JNETHMM", "jnetpred", "JNETPSSM", "JNETCONF", "JNETSOL25", "JNETSOL5", "JNETSOL0", "Lupas_21", "Lupas_14", "Lupas_28");
+
+my %convert = ("JNETALIGN" => "jalign",
+       "JNETHMM" => "jhmm",
+       "jnetpred" => "jnet",
+       "JNETPSSM" => "jpssm",
+       "JNETCONF" => "conf",
+       "JNETSOL25" => "sol25",
+       "JNETSOL5" => "sol5",
+       "JNETSOL0" => "sol0",
+       "Lupas_21" => "lupas_21",
+       "Lupas_14" => "lupas_14",
+       "Lupas_28" => "lupas_28",
+       );
+
+my (@seq, %seq, @pred, %pred);   # CC - these could be replaced with a tied hash, for future edits.
+
+#
+# Read in the concise file and extract the data
+#
+
+while (<IN>) {
+       if (/^\n/) { next; }
+       my ($id, $seq) = split(":", $_);
+       if (!$id || !$seq) { next; }            # Check we have proper values
+       chomp($seq);
+       $seq =~ s/,//g;
+       if ($id =~ /align\d*;/) {
+               @_ = split(";", $id);           # Then its an alignment
+               push @seq, $_[1];
+               $seq{$_[1]} = $seq;
+               }
+       foreach (@data) {
+               if ($id eq $_) {
+                       push @pred, $_;
+                       $pred{$_} = $seq;
+                       }
+               }
+       }
+close(IN);
+
+my @blc;
+my $gap;
+my $seq_len = length($seq{$seq[0]}) - 1; 
+foreach (0..$seq_len) { $gap .= " "; }
+
+push @blc, $gap;
+
+foreach (@seq) {
+       $seq{$_} =~ s/\.|-/ /g;
+       push @blc, $seq{$_};
+       }
+push @blc, $gap;
+push @blc, $gap;
+push @blc, $gap;
+foreach (@pred) {
+       ## CC 22/06/07 - Convert 8-state secondary structure types to 3-state types unless
+       ## it's a coil-coil prediction where 'C' is a valid prediction.
+       ## I think this is a throw-back from when Jpred was a consensus server?
+   if ($_ =~ /Lupas/i) {
+      $pred{$_} =~ s/-/ /g;
+   } else {
+      $pred{$_} =~ s/[TCYWXZ_SI\?-]/ /g;
+      $pred{$_} =~ s/G/H/g;
+   }
+   push @blc, $pred{$_};
+}
+
+foreach (@seq) {
+       print ">$_\n";
+       }
+print ">\n>\n>\n";
+foreach (@pred) {
+       print ">$convert{$_}\n";
+       }
+print " * iteration 1\n";
+#print " $seq_len\n";
+
+foreach my $i (0..$seq_len) {
+       foreach (@blc) {
+      ### CC 22/05/06 - below has been changed due to bug where if
+      # statement return false when $b == 0. This should actually
+      # be true when parsing the JNETCONF string of integers.
+      #
+      # Now we test whether the variable is defined rather than true.
+      # NB: not sure what do if the variable is not defined?
+      
+               #if (my $b = substr($_, $i, 1)) { print $b; }
+      
+      my $value = substr($_, $i, 1);
+      print $value if defined($value);
+               }
+       print "\n";
+       }
+print " *";
diff --git a/websoft/bin/concise2fasta b/websoft/bin/concise2fasta
new file mode 100755 (executable)
index 0000000..4f5b5a8
--- /dev/null
@@ -0,0 +1,52 @@
+#!/usr/bin/perl
+
+# Converts concise file into fasta format
+# also puts in the consensus.
+
+use strict;
+use warnings;
+
+my ( @seqs, %seq, @pred, %pred );
+
+my @var = (
+  "Lupas_21",  "Lupas_14", "Lupas_28", "JNETPSSM",  "MULTCOIL", "MULTCOIL_TRIMER", "MULTCOIL_DIMER", "JNETFREQ",
+  "JNETALIGN", "JNETHMM",  "JNETSOL5", "JNETSOL25", "JNETSOL0", "jnetpred",        "jpred",          "JNETCONF"
+);
+
+if   ( $ARGV[0] ) { open( IN, "<$ARGV[0]" ) or die($!); }
+else              { open( IN, "<-" )        or die($!); }
+
+while (<IN>) {
+  if (/^\n/) { next; }
+  my ( $id, $seq ) = split( ":", $_ );
+  if ( !$id || !$seq ) { next; }    # Check we have proper values
+  $seq =~ s/,//g;
+  chomp($seq);
+  if ( $id =~ /;/ ) {               # Then it's an alignment
+    @_ = split( ";", $id );
+    push @seqs, $_[1];
+    $seq{ $_[1] } = $seq;
+  }
+  foreach (@var) {
+    if ( $_ eq $id ) {
+      push @pred, $_;
+      $pred{$_} = $seq;
+    }
+  }
+}
+close(IN);
+
+foreach (@seqs) {
+  $seq{$_} =~ s/(.{72})/$1\n/g;
+  print ">$_\n$seq{$_}\n";
+}
+
+foreach (@pred) {
+  $pred{$_} =~ s/[TCYWXZSI\?_]/-/g;
+  $pred{$_} =~ s/B/E/g;
+  $pred{$_} =~ s/G/H/g;
+
+  if (/SOL/) { $pred{$_} =~ s/E/B/g; }
+  $pred{$_} =~ s/(.{72})/$1\n/g;
+  print ">$_\n$pred{$_}\n";
+}
diff --git a/websoft/bin/concise2html b/websoft/bin/concise2html
new file mode 100755 (executable)
index 0000000..105501b
--- /dev/null
@@ -0,0 +1,445 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+use Jpred;
+use Getopt::Long;
+
+my ($in, $out);
+my $format = 'seq';
+GetOptions(
+   "in=s"    => \$in,
+   "out=s"   => \$out,
+   "format=s" => \$format
+);
+
+if (!$in) { $in = "-"; }
+if (!$out) { $out = "-"; }
+
+# Read in the concise CSV file. Data is stored in hash's with the key
+# being the name of the type of data and the value being the sequence
+# data, the order of the alignments is also stored for display in the
+# order with which they are aligned.
+
+my (@align, @seq, %predict, %prob);
+
+my @predictions = qw(Lupas_14 Lupas_21 Lupas_28 jnetpred JNETHMM JNETALIGN JNETPSSM JNETJURY JNETSOL25 JNETSOL5 JNETSOL0 JNETCONF);
+
+my @prob = qw(JNETPROPH JNETPROPB JNETPROPC);
+
+# Arrays that holds the order in which things are printed
+my @print_pred = qw(jnetpred JNETALIGN JNETHMM JNETPSSM);
+my @coils = qw(Lupas_14 Lupas_21 Lupas_28);
+my @solvent = qw(JNETSOL25 JNETSOL5 JNETSOL0);
+
+# Hash that relates data names to printed names
+my %convert = (
+       JNETALIGN => "jalign",
+       JNETHMM => "jhmm",
+       jnetpred => "Jnet",
+       JNETPSSM => "jpssm",
+
+       Lupas_14 => "Lupas 14",
+       Lupas_21 => "Lupas 21",
+       Lupas_28 => "Lupas 28",
+
+       JNETSOL25 => "Jnet_25",
+       JNETSOL5 => "Jnet_5",
+       JNETSOL0 => "Jnet_0",
+       JNETCONF => "Jnet Rel"
+);
+
+# Read in the data
+open(IN, "<$in") or die($!);
+while (<IN>) {
+       if (/:/) {
+               my ($id, $seq) = split(":", $_);
+
+               if ($id =~ /;/) {       # Find sequence alignments
+                       my ($align, $seqid) = split(";", $id);
+                       push @align, $seqid;
+                       $seq =~ s/,//g;
+                       chomp($seq);
+                       push @seq, $seq;
+                       }
+
+               foreach (@predictions) {        # Find the predictions
+                       if ($id eq $_) {
+                               if ($predict{$id}) { die("Same ID ($id) found twice in concise file!"); }
+                               $seq =~ s/,//g;
+                               chomp($seq);
+                               $predict{$id} = $seq;
+                               }
+                       }
+
+               foreach (@prob) {
+                       if ($id eq $_) {
+                               if ($prob{$id}) { die("Same ID ($id) found twice in concise file!"); }
+                               chomp($seq);
+                               @_ = split(",", $seq);
+                               foreach (@_) {
+                                       if ($_ >= 0.85) { $_ = 9; }
+                                       else { $_ = int(($_ * 10) + 0.5); }
+                                       }
+                               my $temp = join("", @_);
+                               $prob{$id} = $temp;
+                               }
+                       }
+               }
+       }
+close(IN);
+
+############################################
+#
+# Sets up the references for prediction
+# methods and deffn methods
+#
+
+my @predname = qw(jnetpred JNETALIGN JNETPSSM JNETHMM);
+foreach (@predname) {
+       if (!$predict{$_}) { warn("\"$_\" data not present\n"); next; }
+       $predict{$_} =~ s/[TCYWXZ]/-/g;
+       }
+
+######################################################################
+# Print out the sequences to HTML
+######################################################################
+
+open(HTML, ">$out") or die($!);
+print HTML "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 3.2//EN\"><html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\"><title>Jpred secondary structure prediction results</title></head><body bgcolor=\"#ffffff\"><pre><code>";
+
+#
+# Prints the sequence passed to it as a reference to an array, second
+# array contains the "conservation", which varies between 0 and 1 for
+# each position.
+#
+
+sub printseq {
+       my $seqref = shift @_;
+       my $scoreref = shift @_;
+
+       unless ($scoreref) {
+               foreach (0..$#{$seqref}) {
+                       print HTML ${$seqref}[$_];
+               }
+               return;
+       }
+       
+#      foreach (0..$#{$seqref} - 1) {
+       foreach (0..$#{$seqref}) {
+               my $colour = "#";       # Work out the colour
+               if (${$scoreref}[$_] == 1) {
+                       $colour .= "0000ff";
+               }
+               else {
+                       $colour .= (sprintf "%-2.2lx", ${$scoreref}[$_] * 255).(sprintf "%-2.2lx", 0).(sprintf "%-2.2lx", 0);
+               }
+
+               print HTML "<font color=\"$colour\">${$seqref}[$_]</font>";
+       }
+}
+
+# Prints the gap at the begining of the line between the sequence ID
+# and the ":". First argument is the length of the ID and the second is
+# the maximimum length.
+
+sub printgap {
+       my ($strlen, $max_len) = @_;
+       foreach ($strlen .. $max_len) {
+               print HTML " ";
+               }
+       print HTML ": ";
+       }
+
+# Works out a consensus score according to Zvelebil et al. (1987)
+# J. Mol. Biol. 195, pp957, and does the smoothing
+
+sub cons {
+       my %conservation = (
+               I => [1, 0, 0, 0, 0, 0, 0, 1, 0, 0],
+               L => [1, 0, 0, 0, 0, 0, 0, 1, 0, 0],
+               V => [1, 0, 0, 0, 0, 1, 0, 1, 0, 0],
+               C => [1, 0, 0, 0, 0, 1, 0, 0, 0, 0],
+               A => [1, 0, 0, 0, 0, 1, 1, 0, 0, 0],
+               G => [1, 0, 0, 0, 0, 1, 1, 0, 0, 0],
+               M => [1, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+               F => [1, 0, 0, 0, 0, 0, 0, 0, 1, 0],
+               Y => [1, 0, 0, 1, 0, 0, 0, 0, 1, 0],
+               W => [1, 0, 0, 1, 0, 0, 0, 0, 1, 0],
+               H => [1, 1, 0, 1, 1, 0, 0, 0, 1, 0],
+               K => [1, 1, 0, 1, 1, 0, 0, 0, 0, 0],
+               R => [0, 1, 0, 1, 1, 0, 0, 0, 0, 0],
+               E => [0, 0, 1, 1, 0, 0, 0, 0, 0, 0],
+               Q => [0, 0, 0, 1, 1, 0, 0, 0, 0, 0],
+               D => [0, 0, 1, 1, 0, 1, 0, 0, 0, 0],
+               N => [0, 0, 0, 1, 0, 1, 0, 0, 0, 0],
+               S => [0, 0, 0, 1, 0, 1, 1, 0, 0, 0],
+               T => [1, 0, 0, 1, 0, 1, 0, 0, 0, 0],
+               P => [0, 0, 0, 0, 0, 1, 0, 0, 0, 1],
+               Z => [0, 0, 0, 1, 0, 0, 0, 0, 0, 0],
+               '-' => [1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
+               '_' => [1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
+               '.' => [1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
+               X => [1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
+               B => [1, 1, 1, 1, 1, 1, 1, 1, 1, 1], # Not mentioned, so use X
+               U => [1, 0, 0, 0, 0, 1, 0, 0, 0, 0], # Not mentioned, so use C
+               );
+
+       my $aref = shift @_;
+       my (@cons, @align);
+
+       # Get each sequence
+       foreach (@{$aref}) {
+               push @align, $_;
+       }
+
+       my $seq_len = length($align[0]);
+
+       # Foreach position
+       foreach my $pos (0..$seq_len - 1) {
+               my @temp;
+
+               # Foreach sequence, get the residue for this position
+               foreach (@align) { push @temp, substr($_, $pos, 1); } 
+
+               my ($p, $i, $j);
+               for ($i = 0; $i < $#temp; $i++) {
+                       my $one = uc($temp[$i]);
+                       for ($j = $i + 1; $j < $#temp; $j++) {
+                               my $two = uc($temp[$j]);
+                               foreach (0..9) {
+                                       # This debugging is in here
+                                       # incase a residue occurs that we
+                                       # haven't got in the hash above
+                                       unless (defined $conservation{$one}[$_]) {
+#                                              warn "first $one, $_\n";
+#                                              die "'$conservation{$one}[$_]'\n";
+                                               next;
+                                       }
+                                       unless (defined $conservation{$two}[$_]) {
+#                                              warn "second $two, $_\n";
+#                                              die "'$conservation{$two}[$_]'\n";
+                                               next;
+                                       }
+                                       if ($conservation{$one}[$_] != $conservation{$two}[$_]) { $p++; }
+                               }
+                       }
+               }
+
+               # This loop looks to be v. slow
+               if ($p) {
+                       if (($p = 0.9 - 0.1 * $p) < 0) { $p = 0; }
+               }
+               else {
+                       for ($i = 1; $i < $#temp; $i++) {
+                               if ($temp[$i] ne $temp[0]) {
+                                       $p++;
+                                       last;
+                               }
+                       }
+                       if ($p) { $p = 0.9; }
+                       else { $p = 1; }
+               }
+
+               push @cons, $p;
+       }
+
+       # Average the result over 3 residues
+#      my (@final, $i);
+#      push @final, $cons[0];
+#      for ($i = 1; $i < ($#cons); $i++) {
+#              push @final, ($cons[$i - 1] + $cons[$i] + $cons[$i + 1]) / 3;
+#              }
+#      push @final, $cons[$#cons + 1];
+
+       return @cons;
+}
+
+############################################################
+# Uncomment this to get the conservation scoring worked out
+############################################################
+#my @score = &cons(\@seq);
+
+#
+# Print the sequences
+#
+
+# Find the longest identifier and set the space at the start of the line
+
+my $max_len = 0;
+foreach (@align) {
+       if (length($_) > $max_len) { $max_len = length($_); }
+       }
+if ($max_len <= 6) { $max_len = 11; }
+
+foreach (0..$#align) {
+       # Begining of line
+       if ($_ == 0) {
+               print HTML "$align[$_]";
+               }
+       else {
+          if ($format eq 'seq') {
+             ## differentiate between Uniprot and Uniparc (UniRef90_UNI\w+) IDs as they require
+             ## different SRS query strings
+             if ($align[$_] =~ /UniRef90_(UPI\w+)/) {
+                print HTML "<a href=$SRSSERVER/wgetz?-e+[uniparc-AccNumber:$1]>$align[$_]</a>";
+             } else {
+                print HTML "<a href=$SRSSERVER/wgetz?-e+[UNIREF90-acc:$align[$_]]>$align[$_]</a>";
+             }
+          } else {
+             print HTML "$align[$_]";
+          }
+               }
+       &printgap(length($align[$_]) ,$max_len);
+
+       # Print the sequence
+       @_ = split("", $seq[$_] );
+#      &printseq([@_], [@score]);
+       &printseq([@_]);
+
+       # End of the line
+       if ($_ == 0) {
+               print HTML " : $align[$_] \n";
+               }
+       else {
+          if ($format eq 'seq') {
+              ## differentiate between Uniprot and Uniparc IDs as they require
+              ## different SRS query strings
+              if ($align[$_] =~ /UniRef90_(UPI\w+)/) {
+                 print HTML " : <a href=$SRSSERVER/wgetz?-e+[uniparc-AccNumber:$1]>$align[$_]</a>\n";
+              } else {
+                 print HTML " : <a href=$SRSSERVER/wgetz?-e+[UNIREF90-acc:$align[$_]]>$align[$_]</a>\n";
+              }
+          } else {
+             print HTML " : $align[$_]\n";
+          }
+               }
+       }
+print HTML "\n";
+
+######################################################################
+
+#
+# Create a guide sequence of the original query
+# (of the form 1----------11--- etc.)
+#
+
+my ($guide, $i);
+my $seq_len = length($seq[0]);
+
+for ($i = 1; $i < $seq_len; $i += 10) {
+       my $dash;
+       my $no_dash = 9 - length($i);
+       foreach (0..$no_dash) { $dash .= "-"; }
+       $guide .= $i.$dash;
+       }
+
+while (length($guide) > $seq_len) {    # Trim spare guide away
+       chop($guide);
+       }
+
+printgap(0, $max_len);
+print HTML $guide." :\n";
+
+print HTML "OrigSeq";
+printgap(7, $max_len);
+print HTML $seq[0];
+print HTML " : OrigSeq\n\n";
+
+# Print out secondary structure predictions, goes through in order of
+# @print_pred so comes out right
+
+foreach (@print_pred) {
+       if (!$predict{$_}) { next; }
+       if ($_ eq "JNETALIGN") {        #  Add a line before JNETALIGN which will put jnetpred on its own
+               print HTML "\n";
+               }
+
+       print HTML $convert{$_};
+       printgap(length($convert{$_}), $max_len);
+       @_ = split("", $predict{$_});
+       foreach (@_) {
+               if ($_ eq "E") {
+                       print HTML "<font color=ffa800>$_</font>";
+                       }
+               elsif ($_ eq "H") {
+                       print HTML "<font color=e90055>$_</font>";
+                       }
+               elsif ($_ eq "-") {
+                       print HTML $_;
+                       }
+               }
+       print HTML " : $convert{$_}\n";
+       }
+print HTML "\n";
+
+foreach (@coils) {
+       if (!$predict{$_}) { next; }
+       print HTML $convert{$_};
+       printgap(length($convert{$_}), $max_len); 
+       @_ = split("", $predict{$_});
+       foreach (@_) {
+               if ($_ eq "C") { print HTML "<font color=00aa00>$_</font>"; }
+               else { print HTML $_; }
+               }
+       print HTML " : $convert{$_}\n";
+       }
+print HTML "\n";
+
+foreach (@solvent) {
+       if (!$predict{$_}) { next; }
+       print HTML $convert{$_};
+       printgap(length($convert{$_}), $max_len);
+       @_ = split("", $predict{$_});
+       foreach (@_) {
+               if ($_ eq "B") {
+                       print HTML "<font color=aa0000>$_</font>";
+                       }
+               else { print HTML $_; }
+               }
+       print HTML " : $convert{$_}\n";
+       }
+
+printf HTML $convert{"JNETCONF"};
+printgap(8, $max_len);
+
+@_ = split("", $predict{"JNETCONF"});
+foreach (@_) {
+       if ($_ >= 7) { print HTML "<font color=00aa00>$_</font>"; }
+       else { print HTML "$_"; }
+       }
+print HTML " : ".$convert{"JNETCONF"}."\n";
+
+print HTML "</code></pre>";
+print HTML "<hr>";
+
+#
+# Key to data
+#
+
+print HTML "<pre><code>";
+print HTML "<b>\nNotes
+Key:</b>
+Colour code for alignment:
+Blue            - Complete identity at a position
+Shades of red   - The more red a position is, the higher the level of
+                  conservation of chemical properties of the amino acids
+Jnet            - Final secondary structure prediction for query
+jalign          - Jnet alignment prediction
+jhmm            - Jnet hmm profile prediction
+jpssm           - Jnet PSIBLAST pssm profile prediction
+
+Lupas           - Lupas Coil prediction (window size of 14, 21 and 28)
+
+Note on coiled coil predictions  - = less than 50% probability
+                                 c = between 50% and 90% probability
+                                 C = greater than 90% probability
+
+Jnet_25         - Jnet prediction of burial, less than 25% solvent accesibility
+Jnet_5          - Jnet prediction of burial, less than 5% exposure
+Jnet_0          - Jnet prediction of burial, 0% exposure
+Jnet Rel        - Jnet reliability of prediction accuracy, ranges from 0 to 9, bigger is better.
+";
+
+print HTML "</code></pre>$JPREDFOOT</body></html>";
+close(HTML);
diff --git a/websoft/bin/concise2jalview.pl b/websoft/bin/concise2jalview.pl
new file mode 100755 (executable)
index 0000000..c2b504b
--- /dev/null
@@ -0,0 +1,109 @@
+#! /usr/bin/perl
+
+use strict;
+use warnings;
+
+use lib '/homes/www-jpred/new_site/jpred_new/lib';
+
+use Concise;
+use Concise::File;
+
+use Getopt::Long;
+use Pod::Usage;
+
+my $file;
+my $out;
+my $help;
+my $man;
+
+GetOptions (
+   'file=s'    => \$file,
+   'out=s'     => \$out,
+   'help|?'    => \$help,
+   'man'       => \$man
+) or pod2usage(0);
+
+pod2usage(-verbose => 1) if $help;
+pod2usage(-verbose => 2) if $man;
+pod2usage(-msg => 'Please give a concise file to read', -verbose => 0) if (!$file);
+
+## Hash of description lines for concise data types
+my %desc = (
+   jnetpred    => 'Final secondary structure prediction by Jnet',
+   JNETHMM     => 'Jnet prediction using HMMer profiles',
+   JNETPSSM    => 'Jnet prediction using PSSM profiles',
+   JNETJURY    => 'Positions where Jnet predictions do not agree',
+   JNETSOL0    => 'Jnet solvent relative accessibility prediction at 0% cut-off',
+   JNETSOL5    => 'Jnet solvent relative accessibility prediction at 5% cut-off',
+   JNETSOL25   => 'Jnet solvent relative accessibility prediction at 25% cut-off',
+   JNETCONF    => 'Confidence of Jnet prediction 0 (low) -> 9 (high)',
+   Lupas_14     => 'Coiled-coil prediction windowed over 14 residues',
+   Lupas_21     => 'Coiled-coil prediction windowed over 21 residues',
+   Lupas_28     => 'Coiled-coil prediction windowed over 28 residues',
+);
+
+## If an output file is given open it and select it as the default output
+my $FH;
+if ($out) {
+   open($FH, ">$out") or die "ERROR - unable to open '$out' for writing: $!\nDied";
+   select($FH);
+}
+
+## Create a Concise::File object and fill it with the contents of the input file
+my $concise = Concise::File->new(read_file => $file);
+
+## Write the Jalview Annotation file to the default output
+print "JALVIEW_ANNOTATION\n";
+print "# Created by concise2jalview using '$file' as input\n\n";
+for my $data ($concise->get_entries) {
+   my $string = join("|", $data->seq);
+   if ($data->id =~ /prop|align/i) {       # skip sequence alignments and PROPH|C|E fields
+      next;
+   } elsif ($data->id =~ /jnetconf/i) {    # treat Jnet confidence as a bar graph as contains real numbers
+      print "BAR_GRAPH\t", $data->id,"\t",$desc{$data->id}, "\t$string\n";
+      next;
+   } elsif ($data->id =~ /jnet(pred|hmm|align|pssm)/i) {  # strip out '-' chars from prediction fields as unrequired by Jalview 
+      $string =~ s/-//g;
+   }
+   # By default don't treat fields as graphable data and add a description line
+   print "NO_GRAPH\t",$data->id,"\t",$desc{$data->id}, "\t$string\n";
+}
+exit;
+
+=head1 NAME
+
+concise2jalview -- covert Jnet concise files to Jalview annotation files
+
+=head1 SYNOPSIS
+
+concise2jalview --file <concise file> [--help] [--man] > <output file>
+
+=head1 DESCRIPTION
+
+This script takes a Jnet concise file as input and returns a Jalview annotation file as output. This allows Jalview to better view Jnet/Jpred prediction complete with descriptions of the various predictions.
+
+All data types are included in the Jalview file except for 'JNETPROP*' and any sequence alignments.
+
+=head1 OPTIONS
+
+=over 4
+
+=item B<--file> <concise file>
+
+Give the path and name to the Jnet concise file.
+
+=item B<--help>
+
+Displays brief help.
+
+=item B<--man>
+
+Displays the full manpage.
+
+=back
+
+=head1 AUTHOR
+
+Chris Cole <christian@cole.name>
+
+=cut
diff --git a/websoft/bin/concise2simplehtml b/websoft/bin/concise2simplehtml
new file mode 100755 (executable)
index 0000000..fbdc770
--- /dev/null
@@ -0,0 +1,78 @@
+#!/usr/bin/perl
+
+## CC 18/05/2006
+# New version of script as the original (OO perl) version
+# doesn't work on the new cluster. As it's a very simple 
+# parser it can be easily re-implemented
+
+use strict;
+use warnings;
+use Getopt::Long;
+use Jpred;
+
+my $file;
+my $out;
+
+GetOptions(
+       'file=s' => \$file,
+       'out=s'  => \$out
+) or die $!;
+
+$file or die "no --file argument\n";
+
+open(my $FH, $file) or die "$!";
+my $query;
+my $pred;
+while(<$FH>) {
+       # jnet concise file is a series of outputs preceeded by 
+       # a definition separated by ':' on each line e.g.:
+       #
+       # align1;QUERY:M,F,L,A,Q,E,I,I,R,K,K,R,D,G,H,A,L,S,D,E,E,I,...,
+       # jpred:-,-,H,H,H,H,H,H,H,H,H,H,-,-,-,-,-,-,H,H,H,H,H,H,H,...,
+       #
+       # Find the two lines above and extract the query sequence and the
+       # jpred prediction.
+       
+       chomp;
+
+       my ($def, $data) = split /:/, $_ or next;
+
+       if ($def eq 'jnetpred') {
+               $pred = $data;
+               $pred =~ s/\,//g;   # remove all the ',' in prediction
+       }
+       if ($def =~ /align1/) {
+               next if $query;     # skip any hits to align1x sequences. We only want the 1st hit.
+               $query = $data;
+               $query =~ s/\,//g;  # remove all ',' in sequence
+       }
+}
+close($FH);
+if (!$query || !$pred) {
+       die "no jpred output or query sequence found in $file";
+}
+
+# colour the predictions
+$pred =~ s{([H]+)}{<font color="#e90055">$1</font>}g;
+$pred =~ s{([E]+)}{<font color="#ffa800">$1</font>}g;
+
+if ($out) {
+       open(my $OUT, ">$out") or die "$out: $!";
+       select($OUT);
+}
+
+
+my $html = '<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en-GB" xml:lang="en-GB">
+<head><title>Simple JNet Output</title>
+<link rel="stylesheet" type="text/css" href="http:/webservices:12345/jpred.css" />
+</head><body><pre><code>';
+$html .= "$query\n";
+$html .= "$pred\n";
+$html .= "</code></pre>
+$JPREDFOOT</body></html>";
+print $html;
+
+exit;
+
diff --git a/websoft/bin/create_readme b/websoft/bin/create_readme
new file mode 100755 (executable)
index 0000000..ced375b
--- /dev/null
@@ -0,0 +1,75 @@
+#!/usr/bin/perl
+
+# Script to create README file, run in the directory with the results in it.
+# Outputs to STDOUT by default, change with --out option or redirect.
+# If you're using an alignment give the --format msf option
+
+use strict;
+use warnings;
+use Getopt::Long;
+
+my ($out, $format);
+GetOptions(
+   "o|out=s" => \$out,
+);
+
+$out = '-' unless $out;
+
+## create look-up table of descriptions for files created by Jpred
+my %file = (
+   'LOG'               => "The log file of the prediction\n",
+   'README'            => "This file\n",
+   '.align'            => "PSIBLAST alignment with gaps and redundancy removed in FASTA format\n",
+   '.align.msf'        => "Your alignment in MSF format\n",
+   '.als'              => "Alscript command file. Used to generate PS/PDF output",
+   '.blast.gz'         => "PSIBLAST output (compressed)\n",
+   '.coils.csv'        => "The output from coils in CSV format\n",
+   '.coilseq.lupas_14' => "The output from coils using a window length of 14\n",
+   '.coilseq.lupas_21' => "The output from coils using a window length of 21\n",
+   '.coilseq.lupas_28' => "The output from coils using a window length of 28\n",
+   '.concise'          => "The prediction in pseudo-CSV format, including the coiled-coil prediction, solvent accessiblity and the sequence alignment\n",
+   '.concise.blc'      => "A BLC file of the prediction and alignment\n",
+   '.concise.pdf'      => "A PDF file of the prediction and alignment\n",
+   '.concise.ps'       => "A PostScript file of the prediction and alignment\n",
+   '.fasta'            => "Input query sequence in FASTA format\n",
+   '.hmm'              => "The HHMer2 profile of the alignment\n",
+   '.html'             => "A HTML file of the prediction and alignment\n",
+   '.input'            => "Your raw input\n",
+   '.jalview'          => "A Jalview annotation file to be read in with the .align file to view the predictions in Jalview\n",
+   '.jnet'             => "The output from Jnet\n",
+   '.profile'          => "PSIBLAST profile\n",
+   '.pssm'             => "PSIBLAST PSSM in a format for Jnet\n",
+   '.seq'              => "Your sequence\n",
+   '.simple.html'      => "The brief HTML output of the query sequence and prediction only\n",
+   '.tar.gz'           => "An archive of all the files in the directory\n",
+);
+
+## open the current directory
+opendir DIR, $ENV{'PWD'} or die "$ENV{PWD}: $!\n";
+
+## find the longest filename in order to correctly format the file
+my $len = 0;
+foreach (readdir DIR) { $len = length if length > $len; }
+rewinddir DIR;
+$len = "%-".($len + 5)."s%s";  # filename format for printing is max. length + 5 chars
+
+## Open output and write formatted filenames with their descriptions
+open FILE, ">$out" or die "$out: $!\n";
+printf FILE $len, "Filename", "Description\n";
+printf FILE $len, "--------", "-----------\n";
+
+foreach my $file (sort readdir DIR) {
+   # determine the extension for each file
+   my ($extn) = ($file =~ /[^.]*(.*)$/);
+   
+   # remove unwanted files - Alignment in CSV format (can be found in the .concise file)
+   # and the SGE job files
+   unlink $file if ($extn eq '.align.csv');
+   unlink $file if ($extn =~ /\.[eo]\d{6}$/);
+
+   # output the formatted filename along with its description if it has a known extension
+   printf FILE $len, $file, $file{$extn} if $file{$extn};
+}
+close(FILE);
+exit;
+
diff --git a/websoft/bin/crontab.txt b/websoft/bin/crontab.txt
new file mode 100644 (file)
index 0000000..066c2df
--- /dev/null
@@ -0,0 +1,4 @@
+58 23 * * * cd /homes/www-jpred/live/public_html/stats && /homes/www-jpred/live/bin/arco_stats.pl --out jpred --plot --run-stats 14 --quiet || mail -s "Jpred stats have errors" www-jpred@compbio.dundee.ac.uk
+00 01 * * Sat rm -f /cluster/gjb_lab/fc/www-jpred/results/*.host
+00 05 * * * find /cluster/gjb_lab/fc/www-jpred/results -mtime +3 -type d -maxdepth 1 -name "jp_*" -exec rm -rf {} \;
+02 00 * * * rm -f /cluster/gjb_lab/fc/www-jpred/results/daily_count/*
diff --git a/websoft/bin/degap b/websoft/bin/degap
new file mode 100755 (executable)
index 0000000..1ca621d
--- /dev/null
@@ -0,0 +1,26 @@
+#!/usr/bin/perl
+
+#
+# Removes insertions (represented by "-" or ".") from FASTA files
+#
+
+use strict;
+use warnings;
+
+if ($ARGV[0]) { open(FILE, "<$ARGV[0]") or die($!); }
+else { open(FILE, "<-") or die($!); }
+
+my $seq;
+
+while (<FILE>) {
+       if (! /^>/) {
+               s/-|\.|\n//g;
+               $seq .= $_;
+               }
+       else {          # If there's a sequence print it
+               if ($seq) { $seq =~ s/(.{72})/$1\n/g; print "$seq\n"; }
+               print $_;       # Then the title
+               $seq = "";
+               }
+       }
+if ($seq) { $seq =~ s/(.{72})/$1\n/g; print "$seq\n"; }
diff --git a/websoft/bin/fasta2concise b/websoft/bin/fasta2concise
new file mode 100755 (executable)
index 0000000..282dff6
--- /dev/null
@@ -0,0 +1,36 @@
+#!/usr/bin/perl
+
+# Converts a FASTA alignment of *sequences* to a concise file of the
+# form alignX;seq name:seq where X is an incremental integer and seq is
+# a comma seperated list of the sequence
+
+use warnings;
+
+if ( $ARGV[0] ) { open( IN, "<$ARGV[0]" ) or die($!); }
+else            { *IN = *STDIN; }
+
+my ( $seq, @seqs, @title );
+while (<IN>) {
+  if (s/^>//) {
+    if ($seq) {
+      $seq =~ s/\n|\s//g;
+      $seq =~ s/(.)/$1,/g;
+      push @seqs, $seq;
+      $seq = "";
+    }
+    chomp;
+    push @title, $_;
+  } else {
+    chomp;
+    $seq .= $_;
+  }
+}
+$seq =~ s/\n|\s//g;
+$seq =~ s/(.)/$1,/g;
+push @seqs, $seq;
+
+if ( @title != @seqs ) { die("non matching number of titles and sequences!\n"); }
+
+foreach ( 0 .. $#title ) {
+  print "align" . ( $_ + 1 ) . ";$title[$_]:$seqs[$_]\n";
+}
diff --git a/websoft/bin/formatdb b/websoft/bin/formatdb
new file mode 100755 (executable)
index 0000000..1c15480
Binary files /dev/null and b/websoft/bin/formatdb differ
diff --git a/websoft/bin/get1stfasta b/websoft/bin/get1stfasta
new file mode 100755 (executable)
index 0000000..17be49c
--- /dev/null
@@ -0,0 +1,20 @@
+#!/usr/bin/perl
+
+#
+# Returns the first sequence from a FASTA file
+#
+
+use warnings;
+
+if ($ARGV[0]) { open(IN, "<$ARGV[0]") or die($!); }
+else { *IN = *STDIN; }
+
+while (<IN>) {
+       if (/^>/) {
+               print $_;
+               while (<IN>) {
+                       if (/^>/) { exit(); }
+                       print $_;
+                       }
+               }
+       }
diff --git a/websoft/bin/helixfilt b/websoft/bin/helixfilt
new file mode 100755 (executable)
index 0000000..5004ec9
Binary files /dev/null and b/websoft/bin/helixfilt differ
diff --git a/websoft/bin/jpred_stats.pl b/websoft/bin/jpred_stats.pl
new file mode 100755 (executable)
index 0000000..724930c
--- /dev/null
@@ -0,0 +1,213 @@
+#!/usr/bin/perl
+
+=head1 NAME
+
+jpred_stats.pl - Collate Monthly and Daily usage statistics for the Jpred server
+
+=cut
+
+use strict;
+use warnings;
+use GD::Graph::bars;
+use Getopt::Long;
+use Pod::Usage;
+
+# path for nicer fonts for the graph labels
+my $FONTPATH = "$ENV{HOME}/bin/fonts/";
+
+my $help;
+my $man;
+my $outPath = '.';
+my $file = '/grid/default/common/accounting';
+
+GetOptions(
+       'source=s' => \$file,
+       'path=s' => \$outPath,
+   'h|?' => \$help,
+   'help' => \$help,
+   'man' => \$man,
+) or pod2usage(0);
+
+pod2usage(-verbose => 1) if $help;
+pod2usage(-verbose => 2) if $man;
+
+pod2usage(-msg => "$outPath doesn't exist please give a valid path", -verbose => 0) if (!-e $outPath);
+
+my @abbr = qw( Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec );
+
+open (my $MONF, ">$outPath/monthly.csv") or die "ERROR - unable to open \'$outPath/monthly.csv\': $!";
+open (my $DAYF, ">$outPath/daily.csv") or die "ERROR - unable to open \'$outPath/daily.csv\': $!";
+
+my %stats;
+my %dayStats;
+
+my $currMon = extract_stats(\%stats, \%dayStats, $file);
+
+my @monthly;
+my $i = 0;
+#print "Monthly summary.\n";
+## Sort by and then by month and output/store usage data for each month
+foreach my $yr (sort {$a <=> $b} keys %stats) {
+       #printf "\n%d\n", $yr + 1900;
+   foreach my $mon (sort {$a <=> $b} keys %{$stats{$yr}}) {
+       #print "$abbr[$mon]: $stats{$yr}{$mon}\n";
+      my $date = sprintf "%s %02d", $abbr[$mon], $yr-100;
+      print $MONF "$date,$stats{$yr}{$mon}\n";
+      $monthly[0][$i] = $date;
+      $monthly[1][$i] = $stats{$yr}{$mon};
+      ++$i;
+   }
+}
+draw_graph(\@monthly, 'Month', 'Monthly Breakdown of JNet Usage');
+
+my @daily;
+$i = 0;
+#print "\nDaily summary for $abbr[$currMon]\n";
+## Sort by date and ouput/store data for the current month.
+foreach my $day (sort {$a <=> $b} keys %dayStats) {
+       #printf "%02d: %d\n", $day, $dayStats{$day};
+   printf $DAYF "%02d,%d\n", $day, $dayStats{$day};
+   $daily[0][$i] = $day;
+   $daily[1][$i] = $dayStats{$day};
+   ++$i;
+}
+die "ERROR - No data for current month ($abbr[$currMon])" if (!@daily);
+draw_graph(\@daily, 'Date', "Daily Breakdown for $abbr[$currMon]");
+
+$i = 0;
+my @week;
+foreach my $num (-7..-1) {
+       next if (!$daily[0][$num]);
+       $week[0][$i] = sprintf "%02d/%02d", $daily[0][$num], $currMon+1;
+       $week[1][$i] = $daily[1][$num];
+       ++$i;
+}
+draw_sm_graph(\@week);
+exit;
+
+sub extract_stats {
+   my ($statsRef, $dayRef, $file) = @_;
+   
+   open (my $FH, $file) or die "ERROR - can't open file \'$file\': $!";
+
+   my ($currMon, $currYr) = (localtime())[4,5];
+
+   while (<$FH>) {
+          next unless /www-jpred/;
+      my @F = split(/:/, $_);
+      die "ERROR - not enough fileds found in source file \'$file\'. Is the file correct and in the correct format?" if (9 > scalar @F);
+      #the 9th field is the date in Unix time. Extract the day, month and year from it.
+      my ($day, $mnth, $year) = (localtime($F[8]))[3..5];
+      next if ($year == 70);           # ignore jobs with invalid dates
+      next if ($F[8] < 1148338800);     # ignore jobs prior to 1 May 2006
+
+      if (($mnth == $currMon) && ($year == $currYr)) {
+          $dayRef->{$day}++;
+      }
+      $statsRef->{$year}{$mnth}++;
+   }
+   close($FH);
+   die "ERROR - no valid data found in \'$file\'" unless $statsRef;  # die if there's no data in $statsRef
+   return ($currMon);
+}
+
+sub draw_graph {
+   
+   my ($dataref, $x_label, $title) = @_;
+   
+   my $graph = GD::Graph::bars->new(700, 400);
+
+   $graph->set_title_font("$FONTPATH/VeraBd.ttf", 12);
+   $graph->set_x_label_font("$FONTPATH/VeraBd.ttf", 8);
+   $graph->set_y_label_font("$FONTPATH/VeraBd.ttf", 8);
+   $graph->set_x_axis_font("$FONTPATH/Vera.ttf", 6);
+   $graph->set_y_axis_font("$FONTPATH/Vera.ttf", 8);
+   $graph->set( 
+      x_label           => $x_label,
+      y_label           => 'No. JNet Submissions',
+      title             => $title,
+      shadow_depth      => -2,
+      shadowclr         => 'gray',
+      x_labels_vertical        => 1,
+      borderclrs                       => undef,
+      bar_width                        => 1,
+      bar_spacing                      => 4
+   ) or die $graph->error;
+
+   my $gd = $graph->plot($dataref) or die $graph->error;
+
+   open(IMG, ">$outPath/jnet_${x_label}_stats.png") or die $!;
+   binmode IMG;
+   print IMG $gd->png;
+   close(IMG);
+
+}
+
+sub draw_sm_graph {
+
+   my ($dataref) = @_;
+
+   my $graph = GD::Graph::bars->new(250, 150);
+
+   $graph->set_y_label_font("$FONTPATH/VeraBd.ttf", 8);
+   $graph->set_x_axis_font("$FONTPATH/Vera.ttf", 8);
+   $graph->set_y_axis_font("$FONTPATH/Vera.ttf", 8);
+   $graph->set(
+      y_label           => 'No. Jobs',
+      x_labels_vertical => 1,
+      borderclrs                        => undef,
+      bar_width                 => 15,
+      accentclr                => 'lbrown',
+      dclrs            => [ qw(dbrown dpurple) ],
+      bar_spacing                       => 2
+   ) or die $graph->error;
+
+   my $gd = $graph->plot($dataref) or die $graph->error;
+
+   open(IMG, ">$outPath/jnet_stats.png") or die $!;
+   binmode IMG;
+   print IMG $gd->png;
+   close(IMG);
+
+}
+
+
+=head1 SYNOPSIS
+
+jpred_stats.pl [--path <path>] [--source <file>]
+   
+=head1 DESCRIPTION
+
+Script to collate the usage statistics for the Jpred server. The stats are subdivided by month and then my day for he current month only.
+
+The outputs are two graph images <jnet_Month_stats.png> and <jnet_Date_stats.png> and two comma separated files (<monthly.csv> and <daily.csv>) containing the raw data.
+
+=head1 OPTIONS
+
+=over
+
+=item --path <path>
+
+Path to where you want the output saved. [default: <current directory>]
+
+=item --source <file>
+
+Source of Sun Grid Engine usage log file. [default: /grid/default/common/accounting]
+
+=item --help
+
+Display help.
+
+=item --man
+
+Display man page.
+
+=back
+
+By default the script with use the current known SGE logfile and output the data to current directory.
+
+=head1 AUTHOR
+
+Chris Cole <christian@cole.name>
+
+=cut
diff --git a/websoft/bin/multicoil b/websoft/bin/multicoil
new file mode 100755 (executable)
index 0000000..b2f89e6
Binary files /dev/null and b/websoft/bin/multicoil differ
diff --git a/websoft/bin/ncoils b/websoft/bin/ncoils
new file mode 100755 (executable)
index 0000000..2f5b259
Binary files /dev/null and b/websoft/bin/ncoils differ
diff --git a/websoft/bin/parse_psi b/websoft/bin/parse_psi
new file mode 100755 (executable)
index 0000000..74ff883
--- /dev/null
@@ -0,0 +1,255 @@
+#!/usr/bin/perl
+
+# hack to pull the alignments and profiles from psiblast
+
+# -m6 switch is needed to get the alignments
+# in the BLAST report, also generates the
+# psiblast frequency profiles, as they
+# are no longer present in the output
+
+use Getopt::Std;
+getopt(hfgud);
+
+if ($opt_f eq"req"){$freq=1}
+elsif ($opt_g eq "ap"){$gap=1}
+elsif ($opt_u eq "ngap"){$ungap=1}
+elsif ($opt_d eq "egap"){$degap=1}
+elsif ($opt_h eq "elp"){
+    print " 
+# Parse_PSI
+
+This little script allows parsing of psiblast report files
+to extract the embedded sequence alignment, and write out
+in different formats.
+
+parse_psi -help  : help
+parse_psi -degap : remove all gaps in alignment and print as
+                   a fasta format file
+parse_psi -ungap : remove gaps in query sequence, and those
+                   below the gap in the query sequence, print
+                   as fasta format
+parse_psi -gap   : print alignment with gaps in fasta format
+parse_psi -freq  : print frequency profile needed for Jnet 
+
+Usage:
+
+parse_psi -freq file.blast > file.freq
+\n";exit(0);
+}
+
+else {print "NO options given, try -help\n";exit}
+if (!-e "$ARGV[0]"){
+    print ("No such file as $ARGV[0] exists in this path...\n");
+    exit (0);
+}
+
+if ($ARGV[0] eq ""){
+    print "No filename given... \n";
+    exit;
+}
+
+open IN, "$ARGV[0]";
+$num=$thisone=$c=0;
+while(<IN>){
+    if (/^Sequences producing significant alignments/){
+       $num++;
+    }
+}
+print STDERR "$num alignments were found in PSIBlast file $ARGV[0]\n";
+$num--;
+
+close IN;
+open IN, "$ARGV[0]";
+while(<IN>){
+    if (/^Sequences producing significant alignments/){
+       if ($thisone == $num){
+           while (($ln2 = <IN>)){
+               if ($ln2 =~ /^QUERY/){
+                   $alignout[$c]=$ln2;
+                   $c++;
+                   while (($align = <IN>) !~ /^  Database/){
+                       $alignout[$c]=$align;
+                       $c++;
+                   }
+                   last;
+               }
+           }
+       }
+       $thisone++;
+    }
+}
+
+$c=$j=$z=$blocks=0;
+
+# get number of blocks and number of sequences in a block
+
+foreach (@alignout){    
+    if ($_ =~ /^\n/){
+       $blocks++;
+    }
+    if ($_ !~ /^\n/){
+       $store[$blocks][$z]=$_;
+       $z++;
+    }
+}
+$npb=($z/($blocks+1));
+
+for ($i=0; $i < ($blocks+1); $i++){
+    for ($j=0; $j < $npb ; $j++){
+       # get the alignment itself
+       #print "$store[$i][$q]";
+       (@tokens)=split(" ",$store[$i][$q]);
+       #print "$tokens[0] $tokens[1] $tokens[2] $tokens[3]\n";
+       if($#tokens == 3){
+           $id=$tokens[0];
+           $interest=$tokens[2];
+       }
+       if($#tokens == 1){
+           $id=$tokens[0];
+           $interest=$tokens[1];
+       }
+       if($#tokens == 2){
+           $id=$tokens[0];
+           $interest=$tokens[1];
+           if ($interest =~ /\d/g){
+               # get the next token, number
+               # must be at this end
+               $interest=$tokens[2];
+           }
+       }
+       # remove any digits that may creep in with the 3 token,
+       # this would mean the coord is on the end not in the
+       # middle.
+       $interest =~ s/\d//g;
+       undef @tokens;
+       
+       $namekeep[$j]=$id;
+       $seqkeep[$j]=$seqkeep[$j].$interest;
+       $q++;
+    }
+}
+
+
+if ($gap==1 || $degap==1){
+    $c=0;
+    foreach (@seqkeep){
+       
+       if ($degap==1){
+         $seqkeep[$c] =~ s/-//g;
+       }
+       print ">$namekeep[$c]\n$seqkeep[$c]\n";
+       $c++;
+    }
+}
+
+if ($ungap==1 || $freq == 1){
+    $c=0;
+    
+    @sequence=split("",$seqkeep[0]);
+    
+    foreach (@sequence){
+       if($sequence[$count] eq "\-"){
+           $printer[$count]=1;
+       }
+       else{$printer[$count]=0;}
+       
+       $count++;
+    }
+    $d=0;
+    foreach $erm (@seqkeep){
+       undef @sequence;
+       @sequence=split("",$erm);
+       $count=0;
+       foreach (@sequence){
+           if ($printer[$count]==0){
+               $ung[$d]=$ung[$d].$sequence[$count];
+           }
+           $count++;
+       }
+       $d++;
+    }
+    if ($ungap == 1){
+       $c=0;
+       foreach $re (@ung){
+           print ">$namekeep[$c]\n$re\n";
+           $c++;
+       }
+    }
+    if ($freq == 1){
+       # do the counting....
+       $seqlen=length($ung[0]);
+       
+       #get a double array     
+       for ($i = 0; $i < $#ung; $i++){
+           undef @sequence;
+           @sequence=split("",$ung[$i]);
+
+           # convert sequence to an integer value
+           @ints = seq2int(@sequence);
+           $count=0;
+           $j=0;
+           foreach (@sequence) {
+               $ar[$i][$j]=$ints[$j];
+               $j++;
+           }
+       }
+       
+       # zero countup
+       for ($r=0; $r <20; $r++){ 
+           $countup[$r]=0;
+       }
+       
+       for ($i = 0; $i < $seqlen; $i++) { 
+           # skip the query sequence
+           for ($j = 1; $j < $#ung ; $j++){
+               # look at array
+               $countup[$ar[$j][$i]]++;
+           }
+          
+           # get total counts for this column
+           $tot = 0;
+           for ($r = 0; $r < 20; $r++){
+               $tot += $countup[$r];
+           }
+           for ($r=0; $r <20; $r++){
+               # get percent and round up to 10
+               # this seems to be slightly different to how 
+               # psiblast works god knowns how.... 
+                # works for now. :-(
+               $outnum= ($countup[$r] / $tot ) * 10;
+               printf ("%2.0f ",$outnum);
+               $countup[$r]=0;
+           }
+           print "\n";
+       }
+    }
+}
+
+sub seq2int{
+    my(@s)=@_;
+    $g=0;
+    for ($g=0; $g <= $#s; $g++){
+       if ($s[$g] eq 'A'){ $intseq[$g] = "0"};
+       if ($s[$g] eq 'R'){ $intseq[$g] = "1"};
+       if ($s[$g] eq 'N'){ $intseq[$g] = "2"};
+       if ($s[$g] eq 'D'){ $intseq[$g] = "3"};
+       if ($s[$g] eq 'C'){ $intseq[$g] = "4"};
+       if ($s[$g] eq 'Q'){ $intseq[$g] = "5"};
+       if ($s[$g] eq 'E'){ $intseq[$g] = "6"};
+       if ($s[$g] eq 'G'){ $intseq[$g] = "7"};
+       if ($s[$g] eq 'H'){ $intseq[$g] = "8"};
+       if ($s[$g] eq 'I'){ $intseq[$g] = "9"};
+       if ($s[$g] eq 'L'){ $intseq[$g] = "10"};
+       if ($s[$g] eq 'K'){ $intseq[$g] = "11"};
+       if ($s[$g] eq 'M'){ $intseq[$g] = "12"};
+       if ($s[$g] eq 'F'){ $intseq[$g] = "13"};
+       if ($s[$g] eq 'P'){ $intseq[$g] = "14"};
+       if ($s[$g] eq 'S'){ $intseq[$g] = "15"};
+       if ($s[$g] eq 'T'){ $intseq[$g] = "16"};
+       if ($s[$g] eq 'W'){ $intseq[$g] = "17"};
+       if ($s[$g] eq 'Y'){ $intseq[$g] = "18"};
+       if ($s[$g] eq 'V'){ $intseq[$g] = "19"};
+        if ($s[$g] eq '-'){ $intseq[$g] = "25"};
+    }
+    return (@intseq);
+}
diff --git a/websoft/bin/prettify.pl b/websoft/bin/prettify.pl
new file mode 100755 (executable)
index 0000000..dfc5319
--- /dev/null
@@ -0,0 +1,188 @@
+#!/usr/bin/perl
+
+=head1 NAME
+
+prettify.pl
+
+=head1 SYNOPSYS
+
+prettify.pl [--blc I<path>] [--alscript I<path>] --postscript I<path>
+
+=head1 DESCRIPTION
+
+This program uses a BLC file to create an Alscript command file.
+
+=head1 TODO
+
+Add more options, make prettier Alscript command files.
+
+=head1 BUGS
+
+Alscript can't count properly and so we have to add one to some of the indicies to make it work.
+
+=head1 AUTHORS
+
+Started by Patrick Audley <paudley@compbio.dundee.ac.uk>
+Extended by Jonathan Barber <jon@compbio.dundee.ac.uk>
+
+=cut
+
+use strict;
+use warnings;
+use Getopt::Long;
+use BLC;
+
+my $prefix = "seq.protein";
+my $bin = "/software/submit_all";
+
+my $blc = '-';
+my $alscript = '-';
+my $psout;
+
+GetOptions(
+       "blc:s" => \$blc,
+       "alscript:s" => \$alscript,
+       "postscript=s" => \$psout,
+) or die "$!\n";
+
+die "--postscript option required\n" unless $psout;
+
+my $data = new BLC;
+$data->read_file($blc);
+
+# Find which entries for secondary structure are in the sequence data
+my @jpred = map { /^(?:jnet|jhmm|jalign|jpssm|lupas_14|lupas_21|lupas_28)$/ or 0 } $data->get_seq_ids;
+
+# Replace space characters with '-' for the FSM
+my @sequences = map { my $c = $_; $c =~  s/ /-/g; $c } $data->get_sequences;
+
+# Find the positions of the secondary structure in the BLC file
+my ($top, $bottom, $alignEnd);
+foreach (0 .. $#jpred) { $top = $_ and last if $jpred[$_] }
+foreach (reverse(0 .. $#jpred)) { $bottom = $_ and last if $jpred[$_] }
+my $end = length $sequences[0];
+
+# ... and then add 1 to them as Alscript can't count properly
+$alignEnd = $top;
+$top++;
+$bottom++;
+
+# alscript bits
+open ALSOUT, ">$alscript" or die "$alscript: Can't open the Alscript command file\n";
+
+# Commands for Alscript
+# Add one as Alscript can't count, and make sure it's over a minimum otherwise
+# it cores...
+my $foo = @sequences > 50 ? @sequences + 1 : 50;
+my $MAX_NSEQ = "MAX_NSEQ ".$foo;
+# Buffer size for reading the BLC file needs to be at least the size of alignment +2 
+# This also needs to be larger than the longest line in the Alscript command file
+# If any lines are longer than MAX_INPUT_LEN then Alscript is likely to fail with 'success'
+my $MAX_INPUT_LEN = "MAX_INPUT_LEN ".($foo > 50 ? $foo + 2 : 50);
+my $BLOCK_FILE = '#';
+unless ($blc eq '-') { $BLOCK_FILE = "BLOCK_FILE $blc"; }
+my $OUTPUT_FILE = "OUTPUT_FILE $psout";
+
+# Print the header
+print ALSOUT <<END;
+SILENT_MODE
+$BLOCK_FILE
+$MAX_NSEQ
+$MAX_INPUT_LEN
+$OUTPUT_FILE
+PORTRAIT
+POINTSIZE 8
+IDENT_WIDTH 12
+X_OFFSET 2
+Y_OFFSET 2
+DEFINE_FONT 0 Helvetica                DEFAULT 
+DEFINE_FONT 1 Helvetica                REL             0.75   
+DEFINE_FONT 7 Helvetica                REL             0.6
+DEFINE_FONT 3 Helvetica-Bold   DEFAULT    
+DEFINE_FONT 4 Times-Bold       DEFAULT   
+DEFINE_FONT 5 Helvetica-BoldOblique    DEFAULT 
+#
+DEFINE_COLOUR 3  1 0.62 0.67   # Turquiose
+DEFINE_COLOUR 4  1 1 0         # Yellow
+DEFINE_COLOUR 5  1 0 0         # Red
+DEFINE_COLOUR 7  1 0 1         # Purple
+DEFINE_COLOUR 8  0 0 1         # Blue
+DEFINE_COLOUR 9  0 1 0         # Green
+DEFINE_COLOUR 10 0.41 0.64 1.00        # Pale blue 
+DEFINE_COLOUR 11 0.41 0.82 0.67        # Pale green 
+DEFINE_COLOUR 50 0.69 0.18 0.37        # Pink (helix)
+DEFINE_COLOUR 51 1.00 0.89 0.00        # Gold (strand)
+NUMBER_INT 10
+SETUP
+#
+# Highlight specific residues.
+# Avoid highlighting Lupas 'C' predictions by
+# limiting the highlighting to the alignments 
+Scol_CHARS     C 1 1 $end $alignEnd   4
+Ccol_CHARS     H ALL    5
+Ccol_CHARS     P ALL    8
+SURROUND_CHARS LIV   ALL
+#
+# Replace known structure types with whitespace
+SUB_CHARS 1 $top $end $bottom H SPACE
+SUB_CHARS 1 $top $end $bottom E SPACE
+SUB_CHARS 1 $top $end $bottom - SPACE
+END
+
+# Find the range of each of the secondary structure elements
+foreach (0..$#jpred) {
+       if ($jpred[$_]) { # Then it's a secondary structure definition
+               my $fsm = fsm($sequences[$_], qw(- E H c C));
+               my $line = $_ + 1;
+
+               foreach (@{$fsm->{'E'}}) {
+                       my ($start, $end) = @{$_};
+                       my $colour = 51;
+                       print ALSOUT "STRAND $start $line $end\n";
+                       print ALSOUT "COLOUR_TEXT_REGION $start $line $end $line $colour\n";
+               }
+
+               foreach (@{$fsm->{'H'}}) {
+                       my ($start, $end) = @{$_};
+                       my $colour = 50;
+                       print ALSOUT "HELIX $start $line $end\n";
+                       print ALSOUT "COLOUR_TEXT_REGION $start $line $end $line $colour\n";
+               }
+       }
+}
+
+# Munge out the jpred predictions using a basic FSM
+# Pass the sequence and the states that are present.
+# Returns HoA's, keys are the states, arrays are start and end
+# points of the states.
+# Idea taken from Patrick Audley
+sub fsm {
+       my ($sequence, @states) = @_;
+       my $state;      # The state we're in
+       my $start = 0;  # The start position of the current state
+       my %res;        # Hash to store results in
+       my $pos = 0;    # The position in the FSM
+
+       $state = substr $sequence, 0, 1;
+       foreach my $char (split //, $sequence) {
+               $pos++;
+               next if $char eq $state; # Same state 
+
+               # Otherwise we've changed states
+               my $flag = 0;
+               foreach (@states) {
+                       if ($_ eq $char) {
+                               push @{$res{$state}}, [ $start, $pos - 1 ];
+                               $state = $char;
+                               $start = $pos;
+                               $flag = 1;
+                               last;
+                       }
+               }
+               unless ($flag) {
+                       warn "'$char' not a defined state at position $pos.\n";
+               }
+       }
+
+       return \%res;
+}
diff --git a/websoft/bin/ps2pdf b/websoft/bin/ps2pdf
new file mode 100755 (executable)
index 0000000..68b26af
--- /dev/null
@@ -0,0 +1,12 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+if ($ARGV[0]) { open(IN, "<$ARGV[0]") or die($!); }
+else { *IN = *STDIN; }
+
+open(PROG, "| gs -dSAFER -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=- -c .setpdfwrite -f -") or die($!);
+while (<IN>) { print PROG $_; }
+close(IN);
+close(PROG);
diff --git a/websoft/bin/psiblast b/websoft/bin/psiblast
new file mode 100755 (executable)
index 0000000..7077cc0
--- /dev/null
@@ -0,0 +1,243 @@
+#!/usr/bin/perl
+
+#
+# Program to query SWALL with a sequence and PSIBLAST and return the
+# profile, the PSIBLAST output and the alignment used by PSIBLAST.
+# The alignment is placed on STDOUT by default in FASTA format.
+#
+# --query <path> path to query in FASTA format
+# --profile <path> path to location for profile output
+# --blast <path> path to location for PSIBLAST output
+# --out <path> location for alignment output, defaults to STDOUT
+#
+
+use strict;
+use warnings;
+use Getopt::Long;
+
+use lib '/homes/www-jpred/new_site/bin64';
+
+use jpred;
+
+# Modified function which uses fastacmd rather the indexing
+# scheme used the db_dbindex db creation script. This is useful
+# as the previous method was 32- bit dependent.
+# - CC 30/08/06
+sub getseq {
+       my ($hash_ref) = shift @_;
+       
+       foreach my $seqID (keys %{$hash_ref}) {
+               
+               next if ($seqID eq 'QUERY');  # skip query sequence
+               
+               my $seq;
+               
+               open(FCMD, "$BINDIR/fastacmd -d $SWALL -s $seqID |") or die "unable to retrieve sequence $seqID from database $SWALL: $!";
+               while (<FCMD>) {
+                       chomp;
+                       next if /^>/;   # skip desc line
+                       $seq .= $_;     # 
+               }
+               close(FCMD);
+               if (!$seq) {
+                       die "ERROR - $seqID has no sequence in SWALL database.\n";
+               }
+               ${$hash_ref}{$seqID} = $seq;
+       }
+}
+
+my ($out, $query, $profile, $blast) = qw(-);
+GetOptions(
+       "query=s" => \$query,
+       "profile=s" => \$profile,
+       "blast=s" => \$blast,
+       "out:s" => \$out
+);
+
+die "no query sequence path given\n" unless $query;
+die "no profile output path given\n" unless $profile;
+die "no BLAST output path given\n" unless $blast;
+
+xsystem("$BINDIR/blastpgp -e0.05 -h0.01 -m6 -b20000 -j3 -d $SWALLFILT -i $query -Q $profile -o $blast");
+
+# Find the number of passes and get the position at which the sequences
+# start, plus find the length of the query to check if it has been shortened
+# in the alignment later on.
+my $position;
+my $queryLength = 0;
+open BLAST, "<$blast" or die "$blast: $!\n";
+while (<BLAST>) {
+   
+   if (/\((\d+) letters\)/) {
+      $queryLength = $1;
+   }
+   
+       if (/^Sequences used in model and found/) {
+               <BLAST>;
+               $position = tell BLAST;
+       }
+}
+
+# Check we found some sequences (FIXME: may need to be more robust)
+unless ($position) {
+       warn "PSIBLAST found no homologous sequences and couldn't construct an alignment. As Jpred requires a multiple alignment it couldn't continue.\n";
+       die "Jpred failed\n";
+}
+
+if (!$queryLength) {
+   warn "unable to match query length\n";
+}
+
+# Get the sequences used and their alignments
+seek BLAST, $position, 0;
+my (@alignments, @order, $flag, %seqid);
+while (<BLAST>) {
+       # Get the alignments
+       if (/^QUERY/) {
+               my $id = (split ' ', $_)[0];
+               push @order, $id;
+               $seqid{$id} = undef;
+
+               chomp;
+               push @alignments, $_;
+
+               while (<BLAST>) {
+                       last if /^  Database: /;
+                       last if /^ \*{5} No hits found \*{5}/;
+                       last if /^Searching/;
+                       # Only bother getting the sequence ID's
+                       # from the first block of alignments...
+                       if (/^\n/) { $flag = 1, next }
+                       unless ($flag) { # Get the sequence ID
+                               my $id = (split " ", $_)[0];
+                               push @order, $id;
+                               $seqid{$id} = undef;
+                       }
+         # ...but continue adding the sequences from the alignments
+                       chomp;
+                       push @alignments, $_;
+               }
+       }
+}
+close BLAST;
+
+# Get the ID and sequence for each of the alignment sequence
+&getseq(\%seqid);
+
+# Replace the X's in the alignment with their proper characters
+# Add these onto @sequences
+my @sequences;
+my $padStart;
+my $padEnd;
+foreach (0..$#alignments) {
+       my $i = $_ % @order;
+       my ($seqid, $start, $seq, $end) = split ' ', $alignments[$_], 4;
+
+       # blastpgp output allways has a ID at the begining of the line,
+       # but can have a variable number of fields after that, but it
+       # means the sequence contains no characters of interest
+       # e.g.:
+# $seqid $start $seq                                                      $end
+# O24727        ------------------------------------------------------------
+# O24727   0    ------------------------------------------------------------
+# O24727   26   -Y--A---A-----L-----R----S-------L---------G-------P----V--- 35
+       unless ($end) {
+               unless ($seq) {
+                       $sequences[$i] .= $start;
+                       next;
+               }
+               else {
+                       $sequences[$i] .= $seq;
+                       next;
+               }
+       }
+
+       # Don't do anything for the query sequence, but check whether the ends have been chopped off
+   if ($i == 0) {
+      if ( ($_ == 0) && ($start != 1) ) {
+         #warn "QUERY doesn't start at the beginning! ($start)\n";
+         $padStart = '-'x($start-1);
+      }
+      if ((scalar @alignments/scalar @order == ($_/scalar @order) +1 ) && ($queryLength != $end)) {
+         my $diff = $queryLength - $end;
+         #warn "end is missing from QUERY! ($diff)\n";
+         $padEnd = '-'x$diff;
+      }
+          $sequences[$i] .= $seq;
+      next;
+   }
+
+       my @seq = split '', $seq;
+       my $j = 0;
+       foreach (@seq) {
+               # Skip gaps and blanks, don't add one to the counter ($j)
+               # expect for proper characters.
+               next if $_ eq '-' or $_ eq ' ';# /[ -]/;
+
+               if (/X/) {
+                       unless ($seqid{$seqid}) { 
+                               die "Internal conflict between SWISS-PROT and BLAST databases (were they built from the same data?): $seqid has was not found.\n";
+                       }
+                       # If the length of the sequence is less than
+                       # where we're accessing it from there's a problem.
+                       if (length $seqid{$seqid} < $start + $j) {
+                               warn length $seqid{$seqid}, ", $start, $j, $seqid, $seqid{$seqid}, $i\n";
+                       }
+
+                       # - 1 as start is indexed from 1...
+                       $_ = substr($seqid{$seqid}, $start + $j - 1, 1);
+               }
+               $j++;
+       }
+       $sequences[$i] .= join '', @seq;
+}
+
+## If BLAST has shortened the query sequence replace the missing residues 
+## in the QUERY and pad the other sequences with gaps
+if ($padEnd or $padStart) {
+   warn "BLAST has shortened the query sequence. Getting original query and padding aligned matches.\n";
+   
+   ## get query sequence
+   my $querySeq;
+   open(my $FH, $query) or die "$query: $!";
+   while(<$FH>) {
+      next if (/>/);
+      chomp;
+      $querySeq .= $_;
+   }
+   close($FH);
+   die "Unable to find a sequence in file: $query" if (!$querySeq);
+   
+   ## correct sequences 
+   if ($padEnd) {
+      my $len = length($padEnd);
+      my $pad = substr($querySeq, -$len);  # grab right no. of residues from end of query
+      $sequences[0] .= $pad;               # add missing residues to end of query
+      $sequences[$_] .= $padEnd for (1..$#order);  # add equivalent no. of gaps in hit seqs
+   }
+   if ($padStart) {
+      my $len = length($padStart);
+      my $pad = substr($querySeq, 0, $len);  # grab right no. of residues from start of query
+      $sequences[0] = $pad.$sequences[0];    # add missing residues to start of query
+      $sequences[$_] = $padStart.$sequences[$_] for (1..$#order);  # add equivalent no. of gaps in hit seqs
+   }
+}
+
+# Print the results in FASTA, replace QUERY with filename of query,
+# prints them in order in the profile occurance, if two (or more) local
+# alignments occur in one sequence, print them as seperate results
+open OUT, ">$out" or die "$out: $!\n";
+foreach (0..$#order) {
+       print OUT ">$order[$_]\n";
+       $sequences[$_] =~ s/(.{72})/$1\n/g;
+       print OUT $sequences[$_], "\n";
+}
+close OUT;
+
+# Remove zero sized error logs that blastpgp helpfully creates
+if (-e 'error.log' && ! -z 'error.log') { 
+       warn "blastpgp wrote error log file\n";
+}
+else {
+       unlink "error.log";
+}
diff --git a/websoft/bin/readseq b/websoft/bin/readseq
new file mode 100755 (executable)
index 0000000..ee9663f
Binary files /dev/null and b/websoft/bin/readseq differ
diff --git a/websoft/bin/run_jpred.pl b/websoft/bin/run_jpred.pl
new file mode 100755 (executable)
index 0000000..78c40d5
--- /dev/null
@@ -0,0 +1,479 @@
+#!/usr/bin/perl
+
+# script to run a specified jpred pipeline on a given
+# sequence. Helps to separate the running of Jpred/Jnet
+# from any pre-/post-processing of data.
+
+=head1 NAME
+
+run_jpred.pl - a wrapper to run Jpred
+
+=cut 
+
+use warnings;
+use strict;
+use Getopt::Long;
+use Pod::Usage;
+
+use lib "/homes/www-jpred/new_site/bin64";
+
+use jpred;
+
+use lib '/homes/chris/lib';
+
+use Jpred::jnetDB;
+
+my $pipe = 'jpred3';  # specify which Jpred pipeline to use (not sure which ones work anymore)
+my $jnet = '2.2';     # specify which version of Jnet to use (input paramters changed following 2.1)
+my $useLocal;         # do prediction on cluster node's local disk
+my $useDB = 0;        # find query sequences in DB for array jobs
+my $path;             # output path for results
+my $fasta;            # input sequence in Fasta format
+my $help;
+my $man;
+
+GetOptions(
+   'seq=s'   => \$fasta,
+   'pipe=s'  => \$pipe,
+   'out=s'   => \$path,
+   'use-local' => \$useLocal,
+   'jnet=s'  => \$jnet,
+   'use-db!' => \$useDB,
+   'help|?'  => \$help,
+   'man'     => \$man
+) or pod2usage(0);
+
+pod2usage(-verbose => 2) if $man;
+pod2usage(-verbose => 1) if $help;
+
+## check to see if in array context
+my $seqID = $ENV{'SGE_TASK_ID'};
+undef $seqID if ($seqID eq 'undefined');
+
+pod2usage(-msg => 'Please give a sequence filename or run as an array job on the cluster', -verbose => 0) if (!$fasta && !$seqID);
+pod2usage(-msg => 'Please give an output path', -verbose => 0) if !$path;
+
+chdir($path) or die "ERROR - unable to cd to \'$path\': $!\nDied";
+
+my $clustDir;
+my $msf = 0;
+if ($seqID) {
+   ## we're cluster array context
+   printf "On cluster node: %s\n", `hostname`;
+
+   if ($useLocal) {
+      ## find temporary directory on local disk
+      $clustDir = $ENV{TMPDIR};
+      print "Cluster TMPDIR: $clustDir\n"; 
+   }
+   
+   if ($useDB) {
+      ##retrieve data from DB
+      print "Retrieving $seqID from JnetDB...\n";
+      my $dbh = connect_DB('ro');
+      my $seq = get_seq($dbh, $seqID);
+      die "ERROR - '$seqID' not found in DB.\nDied" unless ($seq);
+      $dbh->disconnect();
+      if ($clustDir) {
+         $fasta = "$clustDir/$seqID.fasta";
+      } else {
+         $fasta = "$path/$seqID.fasta";
+      }
+   
+      ## write seq data to file 
+      open(my $fh, ">$fasta") or die "ERROR - '$fasta': $!";
+      print $fh ">$seqID\n$seq\n";
+      close($fh);
+   } else {
+      ## else get it from the file
+      $fasta = "$seqID.fasta";
+      die "ERROR - file '$fasta' doesn't exits.\nDied" unless (-e $fasta);
+
+      if ($clustDir) {
+         system("cp $fasta $clustDir/$seqID.fasta") == 0 or die "ERROR - unable to copy '$fasta' to '$clustDir/$seqID.fasta'\nDied";
+      } else {
+         system("cp $fasta $path/$seqID.fasta") == 0 or die "ERROR - unable to copy '$fasta' to '$path/$seqID.fasta'\nDied";
+      }
+      
+   }
+} elsif ($fasta) {
+   if ($fasta =~ /\/*([^\/]+)?\.fas/) {
+      $seqID = $1;
+   } elsif ($fasta =~ /\/*([^\/]+)?\.msf/) {
+      print "Found an alignement file...\n";
+      $seqID = $1;
+      $msf = 1;
+   } else {
+      die "ERROR - unable to match for \'$fasta\'";
+   }
+      
+} else {
+   die "ERROR - unknown error ;)";
+}
+
+if (-e "$seqID.jnet") {
+   print "Prediction already exists for '$seqID'. Stopping...\n";
+   my @del = glob "*.e*.$seqID";
+   unlink(@del);
+   exit;
+}
+
+if ($pipe eq 'new') {
+   #
+   # cp seq input file to out dir if not already there
+   #
+   mkdir($seqID) or die "ERROR - can't mkdir \'$seqID\': $!\nDied";
+   chdir($seqID) or die "ERROR - can't chdir \'$seqID\': $!\nDied";
+   if (!-e "$seqID.fasta") {
+      system("cp $path/$fasta $seqID.fasta") == 0 or die "ERROR - \'cp $path/$fasta $path/$seqID/$seqID.fasta\' failed to run";
+   }
+   
+   my $cmd = "$JPREDROOT/new_pipeline/jpred --seq $seqID.fasta --output $seqID --db swall";
+   system($cmd) == 0 or error("$JPREDROOT/new_pipeline/jpred", $seqID);
+   unless ($?) {   # when Jnet successfully finishes, copy output files to directory where 'validate_jnet' can find them.
+      chdir('..');
+      system("ln -s $seqID/$seqID.jnet $seqID.jnet");
+      system("ln -s $seqID/$seqID.align $seqID.align");
+      my @clust = glob "$path/*.$seqID";
+      unlink(@clust);
+   }
+   exit;
+}
+
+
+if ($msf) {
+   #
+   # if input is an alignment reformat it and generate an HMM profile
+   #
+   reformat($fasta, $seqID);
+   my $error = get_hmm($seqID);
+   if ($error) {
+      error($error, $seqID);
+      exit(1);
+   }  
+   
+   
+} else {
+   #
+   # cp seq input file to out dir if not already there
+   #
+   if (!-e "$seqID.fasta") {
+      system("cp $fasta $seqID.fasta") == 0 or die "ERROR - \'cp $fasta $path/$seqID.fasta\' failed to run";
+   }
+
+   #
+   # check we know which pipeline to use and run it
+   #
+   if ($pipe eq 'cuff') {
+       my $error = old_pipeline($seqID);
+      if ($error) {
+               error($error, $seqID);
+         exit(1);
+      }
+   } elsif ($pipe eq 'jpred2')  {
+       my $error = jpred2_pipe($seqID);
+      if ($error) {
+         error($error, $seqID);
+         exit(1);
+      }
+   } elsif ($pipe eq 'jpred3')  {
+      my $dir;
+      if ($useLocal) {
+         $dir = $clustDir;
+      } else {
+         $dir = $path;
+      }
+       my $error = jpred3_pipe($seqID, $dir);
+      if ($error) {
+         error($error, $seqID);
+         exit(1);
+      }
+      if ($useLocal) {
+         print "Rsyncing...\n";
+         system("rsync -az $clustDir/$seqID.* $path/") == 0 or die "ERROR - system() rsync command fails: $?\nDied";
+      }
+      exit;
+   } else {
+      die "ERROR - unknown pipeline \'$pipe\'\n";
+   }
+}
+
+#
+# run Jnet
+#
+my $cmd;
+# QSUB IGNORE   $cmd = "$BINDIR/jnet_tng --cross 1 --hmm_prof $seqID.hmmprof --psi_prof $seqID.pssm --freq $seqID.freq > $seqID.jnet";
+if ($msf) {
+   #
+   #  only JNet 2.2 can be run with a pre-generated alignment
+   #
+   $cmd = "$BINDIR/jnet --concise --sequence $seqID.align --hmmer $seqID.hmmprof > $seqID.jnet";
+} else {
+   #
+   #  generate correct command sytax dependent on version of JNet
+   #
+   if ($jnet > 2.1) {
+          $cmd = "$BINDIR/jnet --concise --sequence $seqID.align --hmmer $seqID.hmmprof --psiprof $seqID.pssm --psifreq $seqID.freq > $seqID.jnet";
+   } elsif ($jnet eq '2') {
+          $cmd = "$BINDIR/jnet.orig -c $seqID.align $seqID.hmmprof $seqID.pssm $seqID.freq > $seqID.jnet";
+   } else {
+      die "ERROR - unknown version of JNet \'$jnet\'\n";
+   }
+}
+print "Running: $cmd\n";
+system($cmd) == 0      or error("$BINDIR/jnet", $seqID);
+exit(1) if $?;
+
+exit(0);
+
+sub jpred3_pipe {
+   my ($seqID, $localDir) = @_;
+   
+   my $run_cmd = "/homes/www-jpred/new_site/jpred_new/jpred --seq $localDir/$seqID.fasta --output $localDir/$seqID --db uniref90 --verbose";
+   print "--CMD $run_cmd\n";
+   system($run_cmd) == 0 or return('jpred3');
+   return(0);
+}
+
+sub old_pipeline {
+       
+   # original JNet pipeline used for the James Cuff version
+   # of the software. Runs all of the necessary scripts to generate
+   # input for JNet.
+   
+   # NB to compare with the 2000 paper requires at least 2 hits to 
+   # the query for PSI-BLAST runs. NOT USED AT THE MOMENT
+   
+   my ($seqID, $seq) = @_;
+   
+   my $cmd = "$BINDIR/blastpgp -d $SWALLFILT -b20000 -a2 -j3 -e0.05 -h0.01 -m6 -i $seqID.fasta -Q $seqID.pssm -o $seqID.blast";
+   print "Running: $cmd\n";
+   system($cmd) == 0 or return("$BINDIR/blastpgp");
+   
+   print "Runing: $BINDIR/parse_psi -freq $seqID.blast > $seqID.freq\n";
+   system("$BINDIR/parse_psi -freq $seqID.blast > $seqID.freq") == 0
+       or return("$BINDIR/parse_psi -freq");
+   
+   print "Runing: $BINDIR/parse_psi -ungap $seqID.blast > $seqID.align\n";
+   system("$BINDIR/parse_psi -ungap $seqID.blast > $seqID.align")      == 0
+       or return("$BINDIR/parse_psi -ungap");
+   #my $num = `grep -c '>' $seqID.align`;
+   #return("Insufficient PSI-BLAST hits") if ($num < 3);   # need at least 2 hits to query (2+1 = 3) to get a decent profile
+   
+   print "Running: $BINDIR/fasta2msf < $seqID.align > $seqID.msf\n";
+   system("$BINDIR/fasta2msf < $seqID.align > $seqID.msf") == 0
+       or return("$BINDIR/fasta2msf");
+   
+   print "Running: $BINDIR/hmmbuild -F --fast --gapmax 1 --wblosum ${seqID}_tmp.hmm $seqID.msf";
+   system("$BINDIR/hmmbuild -F --fast --gapmax 1 --wblosum ${seqID}_tmp.hmm $seqID.msf") == 0
+       or return("$BINDIR/hmmbuild");
+      
+   print "Running: $BINDIR/hmmconvert -F -p ${seqID}_tmp.hmm ${seqID}_tmp.prof\n";
+   system("$BINDIR/hmmconvert -F -p ${seqID}_tmp.hmm ${seqID}_tmp.prof") == 0
+       or return("$BINDIR/hmmconver");
+      
+   print "Running: $BINDIR/hmm2profile ${seqID}_tmp.prof > $seqID.hmmprof\n";
+   system("$BINDIR/hmm2profile ${seqID}_tmp.prof > $seqID.hmmprof") == 0
+       or return("$BINDIR/hmm2profile");
+   unlink("${seqID}_tmp.prof", "${seqID}_tmp.hmm");
+   
+   return(0);
+}
+
+sub jpred2_pipe {
+       
+   # current pipeline as used by the Jpred server.
+   
+   # NB to compare with the 2000 paper requires at least 2 hits to 
+   # the query for PSI-BLAST runs. NOT USED AT THE MOMENT
+   
+   my ($seqID, $seq) = @_;
+   
+   my $cmd = "$BINDIR/psiblast --query $seqID.fasta --profile $seqID.profile --blast $seqID.blast > $seqID.alignment";
+   print "Running: $cmd\n";
+   system($cmd) == 0 or return("$BINDIR/psiblast");
+   #my $num = `grep -c '>' $seqID.alignment`;
+   #return("Insufficient PSI-BLAST hits") if ($num < 3);   # need at least 2 hits to query (2+1 = 3) to get a decent profile
+   
+   $cmd = "$BINDIR/reduce --limit 1000 < $seqID.alignment > $seqID.align";
+   print "Running: $cmd\n";
+   system($cmd) == 0 or return("$BINDIR/reduce");
+   
+   $cmd = "$BINDIR/nonred --cutoff 75 --in $seqID.align --out $seqID.oc > $seqID.align.fasta";
+   print "Running: $cmd\n";
+   system($cmd) == 0 or return("$BINDIR/nonred");
+   
+   $cmd = "$BINDIR/trim_seqs --factor 1.5 < $seqID.align.fasta > ${seqID}_tmp";
+   print "Running: $cmd\n";
+   system($cmd) == 0 or return("$BINDIR/trim_seqs");
+   if (fasta_chk_no_seqs("${seqID}_tmp") < 2) {
+      warn "Warning - Trimmed too many sequences from alignment. Now using all BLAST hits.\n";
+      system("cp $seqID.alignment $seqID.align.fasta") == 0 or return("\'cp $seqID.alignment $seqID.align.fasta\'");
+   } else {
+      rename("${seqID}_tmp", "$seqID.align.fasta");
+   }
+   
+   #$cmd = "$JAVABIN -jar $BINDIR/readseq.jar -fMSF -a -p < $seqID.align.fasta > $seqID.align.msf";
+   #print "Running: $cmd\n";
+   #system($cmd) == 0 or return("$BINDIR/readseq");
+   
+   $cmd = "$BINDIR/clean_fasta $seqID.align.fasta > ${seqID}_tmp";
+   print "Running: $cmd\n";
+   system($cmd) == 0 or return("$BINDIR/clean_fasta");
+   rename("${seqID}_tmp", "$seqID.align.fasta");
+   
+   $cmd = "$BINDIR/fasta2upper < $seqID.align.fasta > ${seqID}_tmp";
+   print "Running: $cmd\n";
+   system($cmd) == 0 or return("$BINDIR/fasta2upper");
+   rename("${seqID}_tmp", "$seqID.align.fasta");
+   
+   $cmd = "$BINDIR/fasta2jnet < $seqID.align.fasta > $seqID.align";
+   print "Running: $cmd\n";
+   system($cmd) == 0 or return("$BINDIR/fasta2jnet");
+   
+   #$cmd = "$JAVABIN -jar $BINDIR/readseq.jar -fMSF -a -p < $seqID.align > $seqID.align.msf";
+   #print "Running: $cmd\n";
+   #system($cmd) == 0 or return("$BINDIR/readseq");
+   
+   $cmd = "$BINDIR/profile < $seqID.align > $seqID.freq";
+   print "Running: $cmd\n";
+   system($cmd) == 0 or return("$BINDIR/profile");
+   
+   $cmd = "$BINDIR/getpssm < $seqID.profile > $seqID.pssm";
+   print "Running: $cmd\n";
+   system($cmd) == 0 or return("$BINDIR/getpssm");
+   
+   ## use fasta input rather than msf as sometimes fails. Is it due to faults in readseq above?
+   #$cmd = "$BINDIR/gethmm -in $seqID.align.msf -out $seqID.hmmprof > /dev/null";
+   $cmd = "$BINDIR/gethmm -in $seqID.align -out $seqID.hmmprof > /dev/null";
+   print "Running: $cmd\n";
+   system($cmd) == 0 or return("$BINDIR/gethmm");
+   
+   return(0);
+}
+
+sub error {
+       
+   my ($app, $seq) = @_;
+   
+   warn "ERROR - $app failed to run for $seq\n";
+}
+
+sub reformat {
+   
+   my ($file, $seqID) = @_;
+   
+   system("$BINDIR/readseq -fMSF -a -p < $file > $seqID.align.msf");
+   if ($?) {
+      error("$BINDIR/readseq", $seqID);
+      exit;
+   }
+   system("$BINDIR/readseq -f8 -a -p < $seqID.align.msf > $seqID.align.fas")
+   
+}
+
+sub get_hmm {
+   my ($seqID) = @_;
+   
+   $cmd = "$BINDIR/gethmm -in $seqID.align.msf -out $seqID.hmmprof > /dev/null";
+   print "Running: $cmd\n";
+   system($cmd) == 0 or return("$BINDIR/gethmm");
+   
+   return(0);
+
+}
+sub fasta_chk_no_seqs {  # taken from 'webrun' in the Jpred suite of scripts
+   my $file = shift;
+   open my $fh, $file or die "$!: $file";
+   my $i = 0;
+   local $/ = "\n";
+   while (<$fh>) { $i++ if /^>/ }
+   close $fh;
+   return $i;
+}
+
+=head1 SYNOPSIS
+
+run_jpred.pl  --seq <sequence filename>  --out <path>  --pipe <name>  --jnet <version> [--use-local] [--use-db]  [--help] [--man]
+
+=head1 DESCRIPTION
+
+Jpred is made up of a whole host of scripts and programs which prepare the inputs/outputs to/from the JNet code. Doing this manually is pretty painful and not recommended :-)
+
+This wrapper should make life a lot easier whereby the user simply supplies a sequence (or a multiple alignment) and the script does the rest.
+
+Due to all the programs that this wrapper encompasses there are many output files generated (at least one for each step), but the main Jpred prediction is found in the .jnet file. All the other files may be of use, but that's up to you to decide...
+
+Now the script can be run as an array job while connecting to the jnetDB. This should make running large Jpred runs on the cluster much more efficient.
+
+=head1 OPTIONS
+
+=over 8
+
+=item B<--seq> <sequence filename>
+
+Optional: if a filename is not supplied then cluster array context is assumed.
+
+This can either be a fasta-formatted file with a single sequence or a multiple sequence alignment in B<msf> format. The file should have the extension .fas* or .msf
+
+=item B<--out> <path>
+
+Required.
+
+Path to where the results files are to be stored.
+
+=item B<--pipe> <name>
+
+Select which pipeline is required. There are currently three options: 'cuff', 'jpred2' and 'jpred3'. As the names suggest the 'cuff' pipeline is the one used (as far as I can tell) by James Cuff and the 'server' is the one used by the, erm, server.
+
+Default: 'jpred3'
+
+=item B<--jnet> <version>
+
+Select which version of JNet is required to generate the secondary structure prediction. There are currently two options: '2' and '2.2'. JNet v2 is the original version as created by James Cuff and v2.2 is the bug-fixed version updated by Jon Barber as used by the server.
+
+Default: 2.2
+
+=item B<--use-local>
+
+For cluster use only. Use the local disk as a working directory. [Default: off]
+
+=item B<--use-db>
+
+In array context retrieve the files from the Jnet database, otherwise assume they're on disk. [Default: off]
+
+=back
+
+I B<strongly> recommend that users only run using the default settings for --pipe and --jnet as things are liable to break otherwise. Those options are mainly for me to do benchmarking between different versions and are specific to my setup. I don't think this is a problem as the defaults simply use what the Jpred server uses, which will be what you want 99.9% of the time. The other 0.01% is your problem ;-)
+
+=head1 EXAMPLES
+
+To simply run on a machine:
+
+ run_jpred.pl  --seq test.fas --out my_results/
+will run PSI-BLAST and everything else on test.fas and the JNet output will be found in my_results/test.jnet
+
+To submit to the cluster nodes:
+
+ qsub -q 64bit.q -cwd -S /usr/bin/perl run_jpred.pl --seqtest.fas --out my_results/
+  
+and the results will be found in the same place.
+
+To submit an array job for sequences 100-200 from jnetDB:
+
+ qsub -t 100-200 -q 64bit.q -cwd -S /usr/bin/perl run_jpred.pl --out my_results/
+
+=head1 BUGS
+
+There are currenly no known bugs...
+
+=head1 VERSION
+
+This is version 0.5
+
+=head1 AUTHOR
+
+Chris Cole <christian@cole.name>
+
+=cut
diff --git a/websoft/bin/run_large_data.pl b/websoft/bin/run_large_data.pl
new file mode 100755 (executable)
index 0000000..36aa47f
--- /dev/null
@@ -0,0 +1,213 @@
+#!/usr/bin/perl
+
+=head1 NAME
+
+run_large_data.pl - script to run a large dataset against Jpred using the cluster
+
+=cut
+
+use strict;
+use warnings;
+
+use Getopt::Long;
+use Pod::Usage;
+use File::Basename;
+
+# temporary. Should put this module somewhere more global.
+use lib '/homes/ccole/lib';
+use Cluster::ArrayJob 0.3;
+
+my $file;
+my $scriptName = "jpredLarge.pl";
+my $title = 'jpredLarge';
+my $VERBOSE = 0;
+my $DEBUG = 0;
+my $help;
+my $man;
+
+GetOptions (
+   'in=s'      => \$file,
+   'title=s'   => \$title,
+   'verbose!'  => \$VERBOSE,
+   'debug!'    => \$DEBUG,
+   'man'       => \$man,
+   'help|?'    => \$help,
+) or pod2usage();
+
+pod2usage(-verbose => 2) if ($man);
+pod2usage(-verbose => 1) if ($help);
+pod2usage(-msg => 'Please supply a valid filename.') if (!$file or !-e $file);
+
+print "Reading fasta file...\n";
+my $total = split_fasta($file);
+print "Created $total fasta files\n";
+
+write_script($scriptName);
+
+
+## set up Array Job and submit perl script
+## Just use all the defaults.
+print "Submitting $total Jpred jobs to the cluster as an array job...\n" if $VERBOSE;
+my $sgeArray = Cluster::ArrayJob->new();
+$sgeArray->taskRange("1-$total");
+$sgeArray->queue('64bit-pri.q');
+$sgeArray->setCWD();
+$sgeArray->jobname($title);
+$sgeArray->setJobShare(0);
+$sgeArray->setPriority(-100);
+$sgeArray->setResourceRequest( 'ram' => '6G' );
+$sgeArray->setEnv( 'PERL5LIB' => '/homes/www-jpred/live/lib' );
+$sgeArray->submit($scriptName);
+
+print "Checking status of array job...\n" if $VERBOSE;
+while (1) {
+   my $status = $sgeArray->getStatus() or die "ERROR - unable to get SGE job status: ", $sgeArray->error();
+   if ($status eq '-1') {
+      print "Job has finished\n" if $VERBOSE;
+      last;
+   } elsif ($status eq '1') {
+      die "ERROR - unable to get SGE job status: ", $sgeArray->error();
+   } else {
+      my $out = '';
+      foreach my $k (sort keys %$status) {
+         $out .= " $k:".$status->{$k};
+      }
+      print "Job status: $out\n" if $VERBOSE;
+   }
+   sleep(30);
+}
+
+## Finally, check that all jobs completed successfully.
+my $jobID = $sgeArray->jobid();
+my @files = glob "$title.e$jobID.*";
+
+my $errors = 0;
+## check that the correct number of SGE files exist - should be the same as the number of tasks
+my $nFiles = scalar @files;
+if ($nFiles != $total) {
+   warn "Warning - found $nFiles SGE output files where $total expected\n";
+   ++$errors;
+}
+
+## check that the right number of Jnet outputs were generated
+my @jnets = glob "*.jnet";
+my $nJnets = scalar @jnets;
+if ($total != $nJnets) {
+   warn "Warning - found $nJnets Jnet predictions where $total expected\n";
+}
+print "All Jpred searches completed!\n";
+exit;
+
+
+## write script with code from __DATA__ below
+sub write_script {
+   my $file = shift;
+   
+   open(my $OUT, ">$file") or die "ERROR - unable to open file '$file': $!\n";
+   while (<DATA>) {
+      print $OUT $_;
+   }
+   close($OUT);
+   close(DATA);
+}
+
+## short function to split a Fasta file
+## into one file per sequence
+sub split_fasta {
+   my $file = shift;
+   
+   open(my $FAS, "<", $file) or die "ERROR - unable to open '$file': ${!}\nDied";
+   my $num = 0;
+   my $OUT;
+   while(<$FAS>) {
+      ## check first line has appriate start
+      if ($. == 1) {
+         die "ERROR - this file does not appear to be a Fasta file\n" unless (/^>/);
+      }
+      ## for each new record open a new file and close the preceeding one
+      if (/^>/) {
+         ++$num;
+         my $out = "$num.fasta";
+         close($OUT) if ($OUT); # needed for first one; can't close if nothing's open
+         open($OUT, ">", $out) or die "ERROR - unable to open '$out' for write: ${!}\nDied";
+      }
+      print $OUT $_;
+      
+   }
+   close($OUT);
+   return($num)
+}
+
+=head1 SYNOPSIS
+
+run_large_data.pl --in <file> [--verbose] [--debug] [--man] [--help]
+
+=head1 DESCRIPTION
+
+Running a large set of sequences against Jpred can be a but of a pain as Jpred can be very memory intensive and can take a while.
+
+Therefore, use of the cluster is best, but managing the jobs can be a bit fiddly. So, this script does it all for you!
+
+Just provide a Fasta file with all the sequences you want to run and the script will submit each of them to the cluster separately, monitor their progress and report if there have been any failures. Job done!
+
+=head1 OPTIONS
+
+=over 5
+
+=item B<--in>
+
+Input file (fasta format).
+
+=item B<--verbose|--no-verbose>
+
+Toggle verbosity. [default:none]
+
+=item B<--debug|--no-debug>
+
+Toggle debugging output. [default:none]
+
+=item B<--help>
+
+Brief help.
+
+=item B<--man>
+
+Full manpage of program.
+
+=back
+
+=head1 AUTHOR
+
+Chris Cole <christian@cole.name>
+
+=cut
+
+__DATA__
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+my $pwd = $ENV{PWD};  # get current directory
+my $dir = $ENV{TMPDIR};  # get SGE tmpdir
+my $task = $ENV{'SGE_TASK_ID'};  # get SGE array task ID
+die "ERROR - not in SGE array job context. Please submit as an array job.\n" if (!$task or $task eq 'undefined');
+
+die "ERROR - file '$task.fasta' not found at '$pwd'. Check path.\n" unless (-e "$task.fasta");
+if (-s "$task.jnet") {
+   print "A Jnet prediction already exists for '$task.fasta'. Skipping...\n";
+   exit();
+}
+
+my $cmd = "cd $dir && /homes/www-jpred/live/jpred/jpred --sequence $pwd/$task.fasta --output $task";
+print "Running CMD: $cmd\n";
+system($cmd) == 0 or die "ERROR - system() died\n";
+if (-s "$dir/$task.jnet") {
+   print "Jnet successful! Copying files from cluster to $pwd...";
+   system("cp $dir/$task.* $pwd/") ==0 or die "ERROR - system() died\n";
+   print "Done\n";
+} else {
+   #my $out = `ls -ltr $dir`;
+   #print "ls -ltr:\n$out\n";
+   print "No Jnet prediction found for '$task'. Something failed...\n"
+}
diff --git a/websoft/bin/runcoils b/websoft/bin/runcoils
new file mode 100755 (executable)
index 0000000..8deebd8
--- /dev/null
@@ -0,0 +1,136 @@
+#!/usr/bin/perl
+#
+
+#
+# Wrapper for multicoil and ncoil to generate csv style output to STDOUT
+# Pass it the complete path to the sequence or multicoil will complain
+#
+# multicoils ignored as it's a bitch to setup
+
+use strict;
+use warnings;
+use POSIX;
+use Jpred;
+
+unless (@ARGV) { die("No arguments given\n"); }
+goto NCOILS;
+my ($path) = $ENV{'PWD'};
+my ($file) = ($ARGV[0] =~ /.*\/(.*)/);
+my ($multicoil) = ($ENV{'PAIRCOIL_CONFIG'} =~ /(.*)\/.*/);
+
+# Print multicoils cmd file to temp file
+my $multi_conf = tmpnam();
+open(FILE, ">$multi_conf") or die($!);
+print FILE "method = MultiCoil
+bound = .5
+no GUI
+window length = 28
+multi_lib 1 = 3 4 5
+multi_lib 2 = 2 3 4
+pair_lib = 1 2 4
+conversion dir = $multicoil/CONVERSION_FILES/
+table 1 = $multicoil/PROGRAM_DATA/cctb28
+table 2 = $multicoil/PROGRAM_DATA/tritb28
+pir = $multicoil/PROGRAM_DATA/sampled-pir.seq
+genbnk = $multicoil/PROGRAM_DATA/genbnk
+printfile dir = /homes/jon/jpred/src/MULTICOIL/TEST_RUNS/
+log dir = $path/
+seq scores dir = $path/ 
+out dir = $path/";
+close(FILE);
+
+my $tmp2 = tmpnam();
+xsystem("$BINDIR/readseq -f3 -p < $ARGV[0] > $tmp2");
+
+# 1, 2, 3! We hate multicoil! Have to be in the same path as it's exe
+# to run due to the hex editing on the multicoil exe to allow it to read
+# some of its data files, also it requires PIR input file, sigh...
+#my $pwd = $ENV{'PWD'};
+#chdir("$JPREDROOT/src/MULTICOIL/");
+#xsystem("$JPREDROOT/src/MULTICOIL/multicoil $tmp2 -config $multi_conf > /dev/null 2> /dev/null");
+#chdir($pwd);
+
+#my $co=0;
+#my (@prob, @dimprob, @trimprob);
+
+#$tmp2 =~ s/.*\///g;
+
+#open(IN, "<$path/$tmp2.out") or die($!);
+#while (<IN>) {
+#      if (/^[#|%]/) { next; }
+#      else {
+#              @_ = split(" ", $_);
+#              push @prob, $_[4];
+#              push @dimprob, $_[5];
+#              push @trimprob, $_[6];
+#              }
+#      }
+#close(IN);
+
+# remove junk
+#unlink("$tmp2.out");
+#unlink("$tmp2.seq_scores");
+#unlink("$tmp2.log");
+#unlink $multi_conf, $tmp2;
+
+# Takes the prob. array and decides whether it's definitely a coil,
+# maybe a coil, or not a coil.
+sub coil {
+       my @array;
+       foreach (@_) {
+               if ($_ >= 0.9) {
+                       push @array, "C";
+                       }
+               elsif ($_ >= 0.5) {
+                       push @array, "c";
+                       }
+               else {
+                       push @array, "-";
+                       }
+               }
+       return @array;
+       }
+
+# Prints a comma after each piece of data in array
+
+sub print_cvs {
+       foreach (@_) { print "$_,"; } 
+}
+
+#print "MULTCOIL:";
+#print_cvs(coil(@prob));
+#print "\n", "MULTCOIL_DIMER:";
+#print_cvs(coil(@dimprob));
+#print "\n", "MULTCOIL_TRIMER:";
+#print_cvs(coil(@trimprob));
+#print "\n";
+
+#
+# Finished with multicoil, now for lupas coils (?) Just runs ncoils with
+# different -win values
+#
+
+sub ncoils {
+       my ($file, $window) = @_;
+       my @temp;
+       open(PROG, "$BINDIR/ncoils -w -win $window < $file |") or die($!);
+       open(REALDATA, ">$ARGV[0].lupas_$window") or die($!);
+       while (<PROG>) {
+               print REALDATA "$_";
+               chop;
+               push @temp, substr($_, 19, 5);
+               }
+       close(PROG);
+       close(REALDATA);
+       return @temp;
+       }
+
+NCOILS:
+print "Lupas_21:";
+print_cvs(coil(ncoils($ARGV[0], 21)));         # 21 window
+print "\n", "Lupas_14:";
+print_cvs(coil(ncoils($ARGV[0], 14)));         # 14 window
+print "\n", "Lupas_28:";
+print_cvs(coil(ncoils($ARGV[0], 28)));         # 28 window
+print "\n";
+
diff --git a/websoft/bin/seg b/websoft/bin/seg
new file mode 100755 (executable)
index 0000000..39ce3c2
Binary files /dev/null and b/websoft/bin/seg differ
diff --git a/websoft/bin/sov b/websoft/bin/sov
new file mode 100755 (executable)
index 0000000..da23ef0
Binary files /dev/null and b/websoft/bin/sov differ
diff --git a/websoft/data/blast/BLOSUM45 b/websoft/data/blast/BLOSUM45
new file mode 100755 (executable)
index 0000000..40bd750
--- /dev/null
@@ -0,0 +1,31 @@
+#  Matrix made by matblas from blosum45.iij
+#  * column uses minimum score
+#  BLOSUM Clustered Scoring Matrix in 1/3 Bit Units
+#  Blocks Database = /data/blocks_5.0/blocks.dat
+#  Cluster Percentage: >= 45
+#  Entropy =   0.3795, Expected =  -0.2789
+   A  R  N  D  C  Q  E  G  H  I  L  K  M  F  P  S  T  W  Y  V  B  Z  X  *
+A  5 -2 -1 -2 -1 -1 -1  0 -2 -1 -1 -1 -1 -2 -1  1  0 -2 -2  0 -1 -1 -1 -5 
+R -2  7  0 -1 -3  1  0 -2  0 -3 -2  3 -1 -2 -2 -1 -1 -2 -1 -2 -1  0 -1 -5 
+N -1  0  6  2 -2  0  0  0  1 -2 -3  0 -2 -2 -2  1  0 -4 -2 -3  4  0 -1 -5 
+D -2 -1  2  7 -3  0  2 -1  0 -4 -3  0 -3 -4 -1  0 -1 -4 -2 -3  5  1 -1 -5 
+C -1 -3 -2 -3 12 -3 -3 -3 -3 -3 -2 -3 -2 -2 -4 -1 -1 -5 -3 -1 -2 -3 -1 -5 
+Q -1  1  0  0 -3  6  2 -2  1 -2 -2  1  0 -4 -1  0 -1 -2 -1 -3  0  4 -1 -5 
+E -1  0  0  2 -3  2  6 -2  0 -3 -2  1 -2 -3  0  0 -1 -3 -2 -3  1  4 -1 -5 
+G  0 -2  0 -1 -3 -2 -2  7 -2 -4 -3 -2 -2 -3 -2  0 -2 -2 -3 -3 -1 -2 -1 -5 
+H -2  0  1  0 -3  1  0 -2 10 -3 -2 -1  0 -2 -2 -1 -2 -3  2 -3  0  0 -1 -5 
+I -1 -3 -2 -4 -3 -2 -3 -4 -3  5  2 -3  2  0 -2 -2 -1 -2  0  3 -3 -3 -1 -5 
+L -1 -2 -3 -3 -2 -2 -2 -3 -2  2  5 -3  2  1 -3 -3 -1 -2  0  1 -3 -2 -1 -5 
+K -1  3  0  0 -3  1  1 -2 -1 -3 -3  5 -1 -3 -1 -1 -1 -2 -1 -2  0  1 -1 -5 
+M -1 -1 -2 -3 -2  0 -2 -2  0  2  2 -1  6  0 -2 -2 -1 -2  0  1 -2 -1 -1 -5 
+F -2 -2 -2 -4 -2 -4 -3 -3 -2  0  1 -3  0  8 -3 -2 -1  1  3  0 -3 -3 -1 -5 
+P -1 -2 -2 -1 -4 -1  0 -2 -2 -2 -3 -1 -2 -3  9 -1 -1 -3 -3 -3 -2 -1 -1 -5 
+S  1 -1  1  0 -1  0  0  0 -1 -2 -3 -1 -2 -2 -1  4  2 -4 -2 -1  0  0 -1 -5 
+T  0 -1  0 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -1 -1  2  5 -3 -1  0  0 -1 -1 -5 
+W -2 -2 -4 -4 -5 -2 -3 -2 -3 -2 -2 -2 -2  1 -3 -4 -3 15  3 -3 -4 -2 -1 -5 
+Y -2 -1 -2 -2 -3 -1 -2 -3  2  0  0 -1  0  3 -3 -2 -1  3  8 -1 -2 -2 -1 -5 
+V  0 -2 -3 -3 -1 -3 -3 -3 -3  3  1 -2  1  0 -3 -1  0 -3 -1  5 -3 -3 -1 -5 
+B -1 -1  4  5 -2  0  1 -1  0 -3 -3  0 -2 -3 -2  0  0 -4 -2 -3  4  2 -1 -5 
+Z -1  0  0  1 -3  4  4 -2  0 -3 -2  1 -1 -3 -1  0 -1 -2 -2 -3  2  4 -1 -5 
+X -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -5 
+* -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5  1 
diff --git a/websoft/data/blast/BLOSUM62 b/websoft/data/blast/BLOSUM62
new file mode 100755 (executable)
index 0000000..fcd15e8
--- /dev/null
@@ -0,0 +1,31 @@
+#  Matrix made by matblas from blosum62.iij
+#  * column uses minimum score
+#  BLOSUM Clustered Scoring Matrix in 1/2 Bit Units
+#  Blocks Database = /data/blocks_5.0/blocks.dat
+#  Cluster Percentage: >= 62
+#  Entropy =   0.6979, Expected =  -0.5209
+   A  R  N  D  C  Q  E  G  H  I  L  K  M  F  P  S  T  W  Y  V  B  Z  X  *
+A  4 -1 -2 -2  0 -1 -1  0 -2 -1 -1 -1 -1 -2 -1  1  0 -3 -2  0 -2 -1 -1 -4 
+R -1  5  0 -2 -3  1  0 -2  0 -3 -2  2 -1 -3 -2 -1 -1 -3 -2 -3 -1  0 -1 -4 
+N -2  0  6  1 -3  0  0  0  1 -3 -3  0 -2 -3 -2  1  0 -4 -2 -3  3  0 -1 -4 
+D -2 -2  1  6 -3  0  2 -1 -1 -3 -4 -1 -3 -3 -1  0 -1 -4 -3 -3  4  1 -1 -4 
+C  0 -3 -3 -3  9 -3 -4 -3 -3 -1 -1 -3 -1 -2 -3 -1 -1 -2 -2 -1 -3 -3 -1 -4 
+Q -1  1  0  0 -3  5  2 -2  0 -3 -2  1  0 -3 -1  0 -1 -2 -1 -2  0  3 -1 -4 
+E -1  0  0  2 -4  2  5 -2  0 -3 -3  1 -2 -3 -1  0 -1 -3 -2 -2  1  4 -1 -4 
+G  0 -2  0 -1 -3 -2 -2  6 -2 -4 -4 -2 -3 -3 -2  0 -2 -2 -3 -3 -1 -2 -1 -4 
+H -2  0  1 -1 -3  0  0 -2  8 -3 -3 -1 -2 -1 -2 -1 -2 -2  2 -3  0  0 -1 -4 
+I -1 -3 -3 -3 -1 -3 -3 -4 -3  4  2 -3  1  0 -3 -2 -1 -3 -1  3 -3 -3 -1 -4 
+L -1 -2 -3 -4 -1 -2 -3 -4 -3  2  4 -2  2  0 -3 -2 -1 -2 -1  1 -4 -3 -1 -4 
+K -1  2  0 -1 -3  1  1 -2 -1 -3 -2  5 -1 -3 -1  0 -1 -3 -2 -2  0  1 -1 -4 
+M -1 -1 -2 -3 -1  0 -2 -3 -2  1  2 -1  5  0 -2 -1 -1 -1 -1  1 -3 -1 -1 -4 
+F -2 -3 -3 -3 -2 -3 -3 -3 -1  0  0 -3  0  6 -4 -2 -2  1  3 -1 -3 -3 -1 -4 
+P -1 -2 -2 -1 -3 -1 -1 -2 -2 -3 -3 -1 -2 -4  7 -1 -1 -4 -3 -2 -2 -1 -1 -4 
+S  1 -1  1  0 -1  0  0  0 -1 -2 -2  0 -1 -2 -1  4  1 -3 -2 -2  0  0 -1 -4 
+T  0 -1  0 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -2 -1  1  5 -2 -2  0 -1 -1 -1 -4 
+W -3 -3 -4 -4 -2 -2 -3 -2 -2 -3 -2 -3 -1  1 -4 -3 -2 11  2 -3 -4 -3 -1 -4 
+Y -2 -2 -2 -3 -2 -1 -2 -3  2 -1 -1 -2 -1  3 -3 -2 -2  2  7 -1 -3 -2 -1 -4 
+V  0 -3 -3 -3 -1 -2 -2 -3 -3  3  1 -2  1 -1 -2 -2  0 -3 -1  4 -3 -2 -1 -4 
+B -2 -1  3  4 -3  0  1 -1  0 -3 -4  0 -3 -3 -2  0 -1 -4 -3 -3  4  1 -1 -4 
+Z -1  0  0  1 -3  3  4 -2  0 -3 -3  1 -1 -3 -1  0 -1 -3 -2 -2  1  4 -1 -4 
+X -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -4 
+* -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4  1 
diff --git a/websoft/data/blast/BLOSUM80 b/websoft/data/blast/BLOSUM80
new file mode 100755 (executable)
index 0000000..186f20f
--- /dev/null
@@ -0,0 +1,31 @@
+#  Matrix made by matblas from blosum80.iij
+#  * column uses minimum score
+#  BLOSUM Clustered Scoring Matrix in 1/2 Bit Units
+#  Blocks Database = /data/blocks_5.0/blocks.dat
+#  Cluster Percentage: >= 80
+#  Entropy =   0.9868, Expected =  -0.7442
+   A  R  N  D  C  Q  E  G  H  I  L  K  M  F  P  S  T  W  Y  V  B  Z  X  *  
+A  5 -2 -2 -2 -1 -1 -1  0 -2 -2 -2 -1 -1 -3 -1  1  0 -3 -2  0 -2 -1 -1 -6 
+R -2  6 -1 -2 -4  1 -1 -3  0 -3 -3  2 -2 -4 -2 -1 -1 -4 -3 -3 -2  0 -1 -6 
+N -2 -1  6  1 -3  0 -1 -1  0 -4 -4  0 -3 -4 -3  0  0 -4 -3 -4  4  0 -1 -6 
+D -2 -2  1  6 -4 -1  1 -2 -2 -4 -5 -1 -4 -4 -2 -1 -1 -6 -4 -4  4  1 -1 -6 
+C -1 -4 -3 -4  9 -4 -5 -4 -4 -2 -2 -4 -2 -3 -4 -2 -1 -3 -3 -1 -4 -4 -1 -6 
+Q -1  1  0 -1 -4  6  2 -2  1 -3 -3  1  0 -4 -2  0 -1 -3 -2 -3  0  3 -1 -6 
+E -1 -1 -1  1 -5  2  6 -3  0 -4 -4  1 -2 -4 -2  0 -1 -4 -3 -3  1  4 -1 -6 
+G  0 -3 -1 -2 -4 -2 -3  6 -3 -5 -4 -2 -4 -4 -3 -1 -2 -4 -4 -4 -1 -3 -1 -6 
+H -2  0  0 -2 -4  1  0 -3  8 -4 -3 -1 -2 -2 -3 -1 -2 -3  2 -4 -1  0 -1 -6 
+I -2 -3 -4 -4 -2 -3 -4 -5 -4  5  1 -3  1 -1 -4 -3 -1 -3 -2  3 -4 -4 -1 -6 
+L -2 -3 -4 -5 -2 -3 -4 -4 -3  1  4 -3  2  0 -3 -3 -2 -2 -2  1 -4 -3 -1 -6 
+K -1  2  0 -1 -4  1  1 -2 -1 -3 -3  5 -2 -4 -1 -1 -1 -4 -3 -3 -1  1 -1 -6 
+M -1 -2 -3 -4 -2  0 -2 -4 -2  1  2 -2  6  0 -3 -2 -1 -2 -2  1 -3 -2 -1 -6 
+F -3 -4 -4 -4 -3 -4 -4 -4 -2 -1  0 -4  0  6 -4 -3 -2  0  3 -1 -4 -4 -1 -6 
+P -1 -2 -3 -2 -4 -2 -2 -3 -3 -4 -3 -1 -3 -4  8 -1 -2 -5 -4 -3 -2 -2 -1 -6 
+S  1 -1  0 -1 -2  0  0 -1 -1 -3 -3 -1 -2 -3 -1  5  1 -4 -2 -2  0  0 -1 -6 
+T  0 -1  0 -1 -1 -1 -1 -2 -2 -1 -2 -1 -1 -2 -2  1  5 -4 -2  0 -1 -1 -1 -6 
+W -3 -4 -4 -6 -3 -3 -4 -4 -3 -3 -2 -4 -2  0 -5 -4 -4 11  2 -3 -5 -4 -1 -6 
+Y -2 -3 -3 -4 -3 -2 -3 -4  2 -2 -2 -3 -2  3 -4 -2 -2  2  7 -2 -3 -3 -1 -6 
+V  0 -3 -4 -4 -1 -3 -3 -4 -4  3  1 -3  1 -1 -3 -2  0 -3 -2  4 -4 -3 -1 -6 
+B -2 -2  4  4 -4  0  1 -1 -1 -4 -4 -1 -3 -4 -2  0 -1 -5 -3 -4  4  0 -1 -6 
+Z -1  0  0  1 -4  3  4 -3  0 -4 -3  1 -2 -4 -2  0 -1 -4 -3 -3  0  4 -1 -6 
+X -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -6 
+* -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6  1 
diff --git a/websoft/data/blast/KSat.flt b/websoft/data/blast/KSat.flt
new file mode 100755 (executable)
index 0000000..35cd220
--- /dev/null
@@ -0,0 +1,30 @@
+; comments must have a semicolon in the first column or else
+; unpredictable behavior after reading the file will result
+; the first value is the type of filter; the second is info; then data
+1                   1 = filter      2 = matrix
+250                 if 1, window    if 2, cutoff
+100                 { symbol "A", name "Adenine" },
+33                  { symbol "B" , name "G or T or C" },
+0                   { symbol "C", name "Cytosine" },
+67                  { symbol "D", name "G or A or T" },
+;                   { symbol "", name "" },
+;                   { symbol "", name "" },
+0                   { symbol "G", name "Guanine" },
+67                  { symbol "H", name "A or C or T" } ,
+;                   { symbol "", name "" },
+;                   { symbol "", name "" },
+50                  { symbol "K", name "G or T" },
+;                   { symbol "", name ""},
+50                  { symbol "M", name "A or C" },
+50                  { symbol "N", name "A or G or C or T" } ,
+;                   { symbol "", name "" },
+;                   { symbol "", name "" },
+;                   { symbol "", name ""},
+50                  { symbol "R", name "G or A"},
+0                   { symbol "S", name "G or C"},
+100                 { symbol "T", name "Thymine"},
+;                   { symbol "", name ""},
+33                  { symbol "V", name "G or C or A"},
+0                   { symbol "W", name "A or T" },
+;                   { symbol "", name ""},
+50                  { symbol "Y", name "T or C"}
diff --git a/websoft/data/blast/KSchoth.flt b/websoft/data/blast/KSchoth.flt
new file mode 100755 (executable)
index 0000000..e5e1a02
--- /dev/null
@@ -0,0 +1,29 @@
+;Chothia aa      ; 16 character descriptor
+;2               ; 1=Nucleic  2=Protein
+1                ; 1=Filter   2-64=No. Pos. in Matrix
+8                ; 3-256=Filter Window  0-100=Percent Cutoff Matrix Output
+  -0.27   A  Ala
+   0.55   BB Asx
+  -0.23   C  Cys   Note: Columns 1-8 must contain 1 numeric value only
+   0.50   D  Asp
+   0.33   E  Glu
+  -0.55   F  Phe
+  -0.22   G  Gly
+   0.37   H  His
+  -0.80   I  Ile
+   1.17   K  Lys
+  -0.44   L  Leu
+  -0.31   M  Met
+   0.61   N  Asn
+   0.36   P  Pro
+   1.00   Q  Gln
+   2.00   R  Arg
+   0.17   S  Ser
+   0.18   T  Thr
+  -0.65   V  Val
+   0.05   W  Trp
+   0.19   X- Unk
+   0.48   Y  Tyr
+   0.66   ZZ Glx
+   0.19   ** ***
+;Chothia -- dunno -- picked out of a FORTRAN file from Spouge
diff --git a/websoft/data/blast/KSgc.flt b/websoft/data/blast/KSgc.flt
new file mode 100755 (executable)
index 0000000..1eb9a6b
--- /dev/null
@@ -0,0 +1,30 @@
+; comments must have a semicolon in the first column or else
+; unpredictable behavior after reading the file will result
+; the first value is the type of filter; the second is info; then data
+1                   1 = filter      2 = matrix
+250                 if 1, window    if 2, cutoff
+0                   { symbol "A", name "Adenine" },
+67                  { symbol "B" , name "G or T or C" },
+100                 { symbol "C", name "Cytosine" },
+33                  { symbol "D", name "G or A or T" },
+;                   { symbol "", name "" },
+;                   { symbol "", name "" },
+100                 { symbol "G", name "Guanine" },
+33                  { symbol "H", name "A or C or T" } ,
+;                   { symbol "", name "" },
+;                   { symbol "", name "" },
+50                  { symbol "K", name "G or T" },
+;                   { symbol "", name ""},
+50                  { symbol "M", name "A or C" },
+50                  { symbol "N", name "A or G or C or T" } ,
+;                   { symbol "", name "" },
+;                   { symbol "", name "" },
+;                   { symbol "", name ""},
+50                  { symbol "R", name "G or A"},
+100                 { symbol "S", name "G or C"},
+0                   { symbol "T", name "Thymine"},
+;                   { symbol "", name ""},
+67                  { symbol "V", name "G or C or A"},
+0                   { symbol "W", name "A or T" },
+;                   { symbol "", name ""},
+50                  { symbol "Y", name "T or C"}
diff --git a/websoft/data/blast/KShopp.flt b/websoft/data/blast/KShopp.flt
new file mode 100755 (executable)
index 0000000..d9f57f2
--- /dev/null
@@ -0,0 +1,31 @@
+;Antigenicity    ; 16 character descriptor
+;2               ; 1=Nucleic  2=Protein
+1                ; 1=Filter   2-64=No. Pos. in Matrix
+6                ; 3-256=Filter Window  0-100=Percent Cutoff Matrix Output
+  -0.500   A  Ala
+   1.600   BB Asx
+  -1.000   C  Cys   Note: Columns 1-8 must contain 1 numeric value only
+   3.000   D  Asp
+   3.000   E  Glu
+  -2.500   F  Phe
+   0.000   G  Gly
+  -0.500   H  His
+  -1.800   I  Ile
+   3.000   K  Lys
+  -1.800   L  Leu
+  -1.300   M  Met
+   0.200   N  Asn
+   0.000   P  Pro
+   0.200   Q  Gln
+   3.000   R  Arg
+   0.300   S  Ser
+  -0.400   T  Thr
+  -1.500   V  Val
+  -3.400   W  Trp
+  -0.200   X- Unk
+  -2.300   Y  Tyr
+   1.600   ZZ Glx
+  -0.200   ** ***
+;Antigenicity - Hopp and Woods (Hydrophilicity Index)
+;A window of 6 residues is the published (and recomended)
+;value for calculating the moving average
diff --git a/websoft/data/blast/KSkyte.flt b/websoft/data/blast/KSkyte.flt
new file mode 100755 (executable)
index 0000000..5580df6
--- /dev/null
@@ -0,0 +1,31 @@
+;Hydropathy      ; 16 character descriptor
+;2               ; 1=Nucleic  2=Protein
+1                ; 1=Filter   2-64=No. Pos. in Matrix
+19               ; 3-256=Filter Window  0-100=Percent Cutoff Matrix Output
+   1.800   A  Ala
+  -3.500   BB Asx
+   2.500   C  Cys   Note: Columns 1-8 must contain 1 numeric value only
+  -3.500   D  Asp
+  -3.500   E  Glu   Note: This file is required for amphpathic helic
+   2.800   F  Phe
+  -0.400   G  Gly
+  -3.200   H  His
+   4.500   I  Ile
+  -3.900   K  Lys
+   3.800   L  Leu
+   1.900   M  Met
+  -3.500   N  Asn
+  -1.600   P  Pro
+  -3.500   Q  Gln
+  -4.500   R  Arg
+  -0.800   S  Ser
+  -0.700   T  Thr
+   4.200   V  Val
+  -0.900   W  Trp
+  -0.490   X- Unk
+  -1.300   Y  Tyr
+  -3.500   ZZ Glx
+  -0.490   ** ***
+;Hydropathy - Kyte and Doolittle (Hydrophobicity Index)
+;A window of 19 residues is the published (and recomended) value
+;for calculating the moving average to find membrane spanning regions
diff --git a/websoft/data/blast/KSpcc.mat b/websoft/data/blast/KSpcc.mat
new file mode 100755 (executable)
index 0000000..7c2a29d
--- /dev/null
@@ -0,0 +1,25 @@
+; original matrix
+A 1.297  1.551  1.084  2.612  0.377  1.248  0.877 ; A
+B 0.000  0.000  0.000  0.000  0.000  0.000  0.000 ; BDN
+C 0.824  0.022  0.308  0.152  0.180  0.156  0.044 ; C
+D 0.030  2.352  2.268  0.237  0.663  1.620  1.448 ; D
+E 0.262  3.496  3.108  0.998  5.685  2.494  3.048 ; E
+F 0.531  0.076  0.403  0.662  0.189  0.106  0.013 ; F
+G 0.045  0.275  0.578  0.216  0.211  0.426  0.156 ; G
+H 0.347  0.275  0.679  0.395  0.294  0.579  0.213 ; H
+I 2.597  0.098  0.345  0.894  0.514  0.471  0.431 ; I
+K 1.375  2.639  1.763  0.191  1.815  1.961  2.795 ; K
+L 3.167  0.297  0.398  3.902  0.585  0.501  0.483 ; L
+M 2.240  0.370  0.480  1.409  0.541  0.772  0.663 ; M
+N 0.835  1.475  1.534  0.039  1.722  2.456  2.280 ; N
+P 0.000  0.008  0.000  0.013  0.000  0.000  0.000 ; P
+Q 0.179  2.114  1.778  0.631  2.550  1.578  2.526 ; Q
+R 0.659  1.163  1.210  0.031  1.358  1.937  1.798 ; R
+S 0.382  0.583  1.052  0.419  0.525  0.916  0.628 ; S
+T 0.169  0.702  0.955  0.654  0.791  0.843  0.647 ; T
+V 1.665  0.403  0.386  0.949  0.211  0.342  0.360 ; V
+W 0.240  0.000  0.000  0.456  0.019  0.000  0.000 ; W
+X 0.000  0.000  0.000  0.000  0.000  0.000  0.000 ; X-
+Y 1.417  0.090  0.122  1.659  0.190  0.130  0.155 ; Y
+Z 0.000  0.000  0.000  0.000  0.000  0.000  0.000 ; ZEQ
+* 0.000  0.000  0.000  0.000  0.000  0.000  0.000 ; **
diff --git a/websoft/data/blast/KSpur.flt b/websoft/data/blast/KSpur.flt
new file mode 100755 (executable)
index 0000000..937d9df
--- /dev/null
@@ -0,0 +1,30 @@
+; comments must have a semicolon in the first column or else
+; unpredictable behavior after reading the file will result
+; the first value is the type of filter; the second is info; then data
+1                   1 = filter      2 = matrix
+250                 if 1, window    if 2, cutoff
+100                 { symbol "A", name "Adenine" },
+33                  { symbol "B" , name "G or T or C" },
+0                   { symbol "C", name "Cytosine" },
+67                  { symbol "D", name "G or A or T" },
+;                   { symbol "", name "" },
+;                   { symbol "", name "" },
+100                 { symbol "G", name "Guanine" },
+33                  { symbol "H", name "A or C or T" } ,
+;                   { symbol "", name "" },
+;                   { symbol "", name "" },
+50                  { symbol "K", name "G or T" },
+;                   { symbol "", name ""},
+50                  { symbol "M", name "A or C" },
+50                  { symbol "N", name "A or G or C or T" } ,
+;                   { symbol "", name "" },
+;                   { symbol "", name "" },
+;                   { symbol "", name ""},
+100                 { symbol "R", name "G or A"},
+50                  { symbol "S", name "G or C"},
+0                   { symbol "T", name "Thymine"},
+;                   { symbol "", name ""},
+67                  { symbol "V", name "G or C or A"},
+50                  { symbol "W", name "A or T" },
+;                   { symbol "", name ""},
+0                   { symbol "Y", name "T or C"}
diff --git a/websoft/data/blast/KSpyr.flt b/websoft/data/blast/KSpyr.flt
new file mode 100755 (executable)
index 0000000..b147a6c
--- /dev/null
@@ -0,0 +1,30 @@
+; comments must have a semicolon in the first column or else
+; unpredictable behavior after reading the file will result
+; the first value is the type of filter; the second is info; then data
+1                   1 = filter      2 = matrix
+250                 if 1, window    if 2, cutoff
+0                   { symbol "A", name "Adenine" },
+67                  { symbol "B" , name "G or T or C" },
+100                 { symbol "C", name "Cytosine" },
+33                  { symbol "D", name "G or A or T" },
+;                   { symbol "", name "" },
+;                   { symbol "", name "" },
+0                   { symbol "G", name "Guanine" },
+67                  { symbol "H", name "A or C or T" } ,
+;                   { symbol "", name "" },
+;                   { symbol "", name "" },
+50                  { symbol "K", name "G or T" },
+;                   { symbol "", name ""},
+50                  { symbol "M", name "A or C" },
+50                  { symbol "N", name "A or G or C or T" } ,
+;                   { symbol "", name "" },
+;                   { symbol "", name "" },
+;                   { symbol "", name ""},
+0                   { symbol "R", name "G or A"},
+50                  { symbol "S", name "G or C"},
+100                 { symbol "T", name "Thymine"},
+;                   { symbol "", name ""},
+33                  { symbol "V", name "G or C or A"},
+0                   { symbol "W", name "A or T" },
+;                   { symbol "", name ""},
+100                 { symbol "Y", name "T or C"}
diff --git a/websoft/data/blast/PAM30 b/websoft/data/blast/PAM30
new file mode 100755 (executable)
index 0000000..8a01c88
--- /dev/null
@@ -0,0 +1,34 @@
+#
+# This matrix was produced by "pam" Version 1.0.6 [28-Jul-93]
+#
+# PAM 30 substitution matrix, scale = ln(2)/2 = 0.346574
+#
+# Expected score = -5.06, Entropy = 2.57 bits
+#
+# Lowest score = -17, Highest score = 13
+#
+    A   R   N   D   C   Q   E   G   H   I   L   K   M   F   P   S   T   W   Y   V   B   Z   X   *
+A   6  -7  -4  -3  -6  -4  -2  -2  -7  -5  -6  -7  -5  -8  -2   0  -1 -13  -8  -2  -3  -3  -3 -17
+R  -7   8  -6 -10  -8  -2  -9  -9  -2  -5  -8   0  -4  -9  -4  -3  -6  -2 -10  -8  -7  -4  -6 -17
+N  -4  -6   8   2 -11  -3  -2  -3   0  -5  -7  -1  -9  -9  -6   0  -2  -8  -4  -8   6  -3  -3 -17
+D  -3 -10   2   8 -14  -2   2  -3  -4  -7 -12  -4 -11 -15  -8  -4  -5 -15 -11  -8   6   1  -5 -17
+C  -6  -8 -11 -14  10 -14 -14  -9  -7  -6 -15 -14 -13 -13  -8  -3  -8 -15  -4  -6 -12 -14  -9 -17
+Q  -4  -2  -3  -2 -14   8   1  -7   1  -8  -5  -3  -4 -13  -3  -5  -5 -13 -12  -7  -3   6  -5 -17
+E  -2  -9  -2   2 -14   1   8  -4  -5  -5  -9  -4  -7 -14  -5  -4  -6 -17  -8  -6   1   6  -5 -17
+G  -2  -9  -3  -3  -9  -7  -4   6  -9 -11 -10  -7  -8  -9  -6  -2  -6 -15 -14  -5  -3  -5  -5 -17
+H  -7  -2   0  -4  -7   1  -5  -9   9  -9  -6  -6 -10  -6  -4  -6  -7  -7  -3  -6  -1  -1  -5 -17
+I  -5  -5  -5  -7  -6  -8  -5 -11  -9   8  -1  -6  -1  -2  -8  -7  -2 -14  -6   2  -6  -6  -5 -17
+L  -6  -8  -7 -12 -15  -5  -9 -10  -6  -1   7  -8   1  -3  -7  -8  -7  -6  -7  -2  -9  -7  -6 -17
+K  -7   0  -1  -4 -14  -3  -4  -7  -6  -6  -8   7  -2 -14  -6  -4  -3 -12  -9  -9  -2  -4  -5 -17
+M  -5  -4  -9 -11 -13  -4  -7  -8 -10  -1   1  -2  11  -4  -8  -5  -4 -13 -11  -1 -10  -5  -5 -17
+F  -8  -9  -9 -15 -13 -13 -14  -9  -6  -2  -3 -14  -4   9 -10  -6  -9  -4   2  -8 -10 -13  -8 -17
+P  -2  -4  -6  -8  -8  -3  -5  -6  -4  -8  -7  -6  -8 -10   8  -2  -4 -14 -13  -6  -7  -4  -5 -17
+S   0  -3   0  -4  -3  -5  -4  -2  -6  -7  -8  -4  -5  -6  -2   6   0  -5  -7  -6  -1  -5  -3 -17
+T  -1  -6  -2  -5  -8  -5  -6  -6  -7  -2  -7  -3  -4  -9  -4   0   7 -13  -6  -3  -3  -6  -4 -17
+W -13  -2  -8 -15 -15 -13 -17 -15  -7 -14  -6 -12 -13  -4 -14  -5 -13  13  -5 -15 -10 -14 -11 -17
+Y  -8 -10  -4 -11  -4 -12  -8 -14  -3  -6  -7  -9 -11   2 -13  -7  -6  -5  10  -7  -6  -9  -7 -17
+V  -2  -8  -8  -8  -6  -7  -6  -5  -6   2  -2  -9  -1  -8  -6  -6  -3 -15  -7   7  -8  -6  -5 -17
+B  -3  -7   6   6 -12  -3   1  -3  -1  -6  -9  -2 -10 -10  -7  -1  -3 -10  -6  -8   6   0  -5 -17
+Z  -3  -4  -3   1 -14   6   6  -5  -1  -6  -7  -4  -5 -13  -4  -5  -6 -14  -9  -6   0   6  -5 -17
+X  -3  -6  -3  -5  -9  -5  -5  -5  -5  -5  -6  -5  -5  -8  -5  -3  -4 -11  -7  -5  -5  -5  -5 -17
+* -17 -17 -17 -17 -17 -17 -17 -17 -17 -17 -17 -17 -17 -17 -17 -17 -17 -17 -17 -17 -17 -17 -17   1
diff --git a/websoft/data/blast/PAM70 b/websoft/data/blast/PAM70
new file mode 100755 (executable)
index 0000000..b20cdf0
--- /dev/null
@@ -0,0 +1,34 @@
+#
+# This matrix was produced by "pam" Version 1.0.6 [28-Jul-93]
+#
+# PAM 70 substitution matrix, scale = ln(2)/2 = 0.346574
+#
+# Expected score = -2.77, Entropy = 1.60 bits
+#
+# Lowest score = -11, Highest score = 13
+#
+    A   R   N   D   C   Q   E   G   H   I   L   K   M   F   P   S   T   W   Y   V   B   Z   X   *
+A   5  -4  -2  -1  -4  -2  -1   0  -4  -2  -4  -4  -3  -6   0   1   1  -9  -5  -1  -1  -1  -2 -11
+R  -4   8  -3  -6  -5   0  -5  -6   0  -3  -6   2  -2  -7  -2  -1  -4   0  -7  -5  -4  -2  -3 -11
+N  -2  -3   6   3  -7  -1   0  -1   1  -3  -5   0  -5  -6  -3   1   0  -6  -3  -5   5  -1  -2 -11
+D  -1  -6   3   6  -9   0   3  -1  -1  -5  -8  -2  -7 -10  -4  -1  -2 -10  -7  -5   5   2  -3 -11
+C  -4  -5  -7  -9   9  -9  -9  -6  -5  -4 -10  -9  -9  -8  -5  -1  -5 -11  -2  -4  -8  -9  -6 -11
+Q  -2   0  -1   0  -9   7   2  -4   2  -5  -3  -1  -2  -9  -1  -3  -3  -8  -8  -4  -1   5  -2 -11
+E  -1  -5   0   3  -9   2   6  -2  -2  -4  -6  -2  -4  -9  -3  -2  -3 -11  -6  -4   2   5  -3 -11
+G   0  -6  -1  -1  -6  -4  -2   6  -6  -6  -7  -5  -6  -7  -3   0  -3 -10  -9  -3  -1  -3  -3 -11
+H  -4   0   1  -1  -5   2  -2  -6   8  -6  -4  -3  -6  -4  -2  -3  -4  -5  -1  -4   0   1  -3 -11
+I  -2  -3  -3  -5  -4  -5  -4  -6  -6   7   1  -4   1   0  -5  -4  -1  -9  -4   3  -4  -4  -3 -11
+L  -4  -6  -5  -8 -10  -3  -6  -7  -4   1   6  -5   2  -1  -5  -6  -4  -4  -4   0  -6  -4  -4 -11
+K  -4   2   0  -2  -9  -1  -2  -5  -3  -4  -5   6   0  -9  -4  -2  -1  -7  -7  -6  -1  -2  -3 -11
+M  -3  -2  -5  -7  -9  -2  -4  -6  -6   1   2   0  10  -2  -5  -3  -2  -8  -7   0  -6  -3  -3 -11
+F  -6  -7  -6 -10  -8  -9  -9  -7  -4   0  -1  -9  -2   8  -7  -4  -6  -2   4  -5  -7  -9  -5 -11
+P   0  -2  -3  -4  -5  -1  -3  -3  -2  -5  -5  -4  -5  -7   7   0  -2  -9  -9  -3  -4  -2  -3 -11
+S   1  -1   1  -1  -1  -3  -2   0  -3  -4  -6  -2  -3  -4   0   5   2  -3  -5  -3   0  -2  -1 -11
+T   1  -4   0  -2  -5  -3  -3  -3  -4  -1  -4  -1  -2  -6  -2   2   6  -8  -4  -1  -1  -3  -2 -11
+W  -9   0  -6 -10 -11  -8 -11 -10  -5  -9  -4  -7  -8  -2  -9  -3  -8  13  -3 -10  -7 -10  -7 -11
+Y  -5  -7  -3  -7  -2  -8  -6  -9  -1  -4  -4  -7  -7   4  -9  -5  -4  -3   9  -5  -4  -7  -5 -11
+V  -1  -5  -5  -5  -4  -4  -4  -3  -4   3   0  -6   0  -5  -3  -3  -1 -10  -5   6  -5  -4  -2 -11
+B  -1  -4   5   5  -8  -1   2  -1   0  -4  -6  -1  -6  -7  -4   0  -1  -7  -4  -5   5   1  -2 -11
+Z  -1  -2  -1   2  -9   5   5  -3   1  -4  -4  -2  -3  -9  -2  -2  -3 -10  -7  -4   1   5  -3 -11
+X  -2  -3  -2  -3  -6  -2  -3  -3  -3  -3  -4  -3  -3  -5  -3  -1  -2  -7  -5  -2  -2  -3  -3 -11
+* -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11   1
diff --git a/websoft/data/blast/asn2ff.prt b/websoft/data/blast/asn2ff.prt
new file mode 100755 (executable)
index 0000000..0445e9a
--- /dev/null
@@ -0,0 +1,2725 @@
+PrintTemplateSet ::= {
+  {
+    name "StdSeqDescrElement" ,
+    format {
+      asn1 "Seq-descr.E" ,
+      form
+        block {
+          separator " " ,
+          components {
+            {
+              asn1 "Seq-descr.E.mol-type" ,
+              label "Molecule type" ,
+              prefix " " ,
+              form
+                enum {
+                   } } ,
+            {
+              asn1 "Seq-descr.E.modif" ,
+              label "Modifiers" ,
+              prefix " " ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Seq-descr.E.modif.E" ,
+                      form
+                        enum {
+                           } } } } } ,
+            {
+              asn1 "Seq-descr.E.method" ,
+              label "Method" ,
+              prefix " " ,
+              form
+                enum {
+                   } } ,
+            {
+              asn1 "Seq-descr.E.name" ,
+              label "Name" ,
+              prefix " " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Seq-descr.E.title" ,
+              label "Title" ,
+              prefix " " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Seq-descr.E.org" ,
+              label "Organism" ,
+              prefix " " ,
+              form
+                use-template "StdOrgRef" } ,
+            {
+              asn1 "Seq-descr.E.comment" ,
+              label "Comment" ,
+              prefix " " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Seq-descr.E.num" ,
+              label "Numbering" ,
+              prefix " " ,
+              form
+                use-template "StdNumbering" } ,
+            {
+              asn1 "Seq-descr.E.maploc" ,
+              label "Map location" ,
+              prefix " " ,
+              form
+                use-template "StdDbtag" } ,
+            {
+              asn1 "Seq-descr.E.pir" ,
+              label "PIR block" ,
+              prefix " " ,
+              form
+                null NULL } ,
+            {
+              asn1 "Seq-descr.E.genbank" ,
+              label "GenBank block" ,
+              prefix " " ,
+              form
+                null NULL } ,
+            {
+              asn1 "Seq-descr.E.pub" ,
+              label "Citation" ,
+              prefix " " ,
+              form
+                use-template "StdPubdesc" } ,
+            {
+              asn1 "Seq-descr.E.region" ,
+              label "Region" ,
+              prefix " " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Seq-descr.E.user" ,
+              label "User Type" ,
+              prefix " " ,
+              form
+                use-template "StdUserObj" } ,
+            {
+              asn1 "Seq-descr.E.sp" ,
+              label "SWISS-PROT block" ,
+              prefix " " ,
+              form
+                use-template "StdSPBlock"} ,
+            {
+              asn1 "Seq-descr.E.neighbors" ,
+              label "Neighbors" ,
+              prefix " " ,
+              form
+                null NULL } ,
+            {
+              asn1 "Seq-descr.E.embl" ,
+              label "EMBL block" ,
+              prefix " " ,
+              form
+                null NULL } ,
+            {
+              asn1 "Seq-descr.E.create-date" ,
+              label "Create date" ,
+              prefix " " ,
+              form
+                user {
+                  printfunc "StdDatePrint" } } ,
+            {
+              asn1 "Seq-descr.E.update-date" ,
+              label "Update date" ,
+              prefix " " ,
+              form
+                user {
+                  printfunc "StdDatePrint" } } ,
+            {
+              asn1 "Seq-descr.E.prf" ,
+              label "PRF block" ,
+              prefix " " ,
+              form
+                null NULL } ,
+            {
+              asn1 "Seq-descr.E.pdb" ,
+              label "PDB block" ,
+              prefix " " ,
+              form
+                null NULL } ,
+            {
+              asn1 "Seq-descr.E.het" ,
+              label "Heterogen" ,
+              prefix " " ,
+              form
+                text {
+                   } } } } } } ,
+  {
+    name "StdBioseqId" ,
+    format {
+      asn1 "Bioseq" ,
+      form
+        block {
+          separator " " ,
+          components {
+            {
+              asn1 "Bioseq.id" ,
+              prefix "" ,
+             suffix ";" ,
+               form
+        block {
+          components {
+            {
+              asn1 "Bioseq.id.E.pir" ,
+             label "pir:" ,
+             prefix " " ,
+              form
+                use-template "StdPIRseqId" } ,
+            {
+              asn1 "Bioseq.id.E.other" ,
+             label "REFSEQ:" ,
+             prefix " " ,
+              form
+                use-template "StdOtherId" } ,
+            {
+              asn1 "Bioseq.id.E.local" ,
+             label "userid:" ,
+             prefix " " ,
+              form
+                use-template "StdLocalId" } ,
+            {
+              asn1 "Bioseq.id.E.genbank" ,
+             label "genbank:" ,
+             prefix " " ,
+              form
+                use-template "StdGPseqId" } ,
+            {
+              asn1 "Bioseq.id.E.swissprot" ,
+             label "swissprot:" ,
+             prefix " " ,
+              form
+                use-template "StdSPseqId" } ,
+            {
+              asn1 "Bioseq.id.E.prf" ,
+             label "prf:" ,
+             prefix " " ,
+              form
+                use-template "StdPRFseqId" } ,
+            {
+              asn1 "Bioseq.id.E.pdb" ,
+             label "pdb:" ,
+             prefix " " ,
+              form
+                use-template "StdPDBseqId" } } } } } } } } ,
+  {
+    name "VersionBioseqId" ,
+    format {
+      asn1 "Bioseq" ,
+      form
+        block {
+          separator " " ,
+          components {
+            {
+              asn1 "Bioseq.id" ,
+              prefix "" ,
+             suffix ";" ,
+               form
+        block {
+          components {
+            {
+              asn1 "Bioseq.id.E.pir" ,
+             label "pir:" ,
+             prefix " " ,
+              form
+                use-template "StdPIRseqId" } ,
+            {
+              asn1 "Bioseq.id.E.local" ,
+             label "userid:" ,
+             prefix " " ,
+              form
+                use-template "StdLocalId" } ,
+            {
+              asn1 "Bioseq.id.E.genbank" ,
+             label "genbank:" ,
+             prefix " " ,
+              form
+                use-template "VersionGPseqId" } ,
+            {
+              asn1 "Bioseq.id.E.swissprot" ,
+             label "swissprot:" ,
+             prefix " " ,
+              form
+                use-template "StdSPseqId" } ,
+            {
+              asn1 "Bioseq.id.E.prf" ,
+             label "prf:" ,
+             prefix " " ,
+              form
+                use-template "StdPRFseqId" } ,
+            {
+              asn1 "Bioseq.id.E.pdb" ,
+             label "pdb:" ,
+             prefix " " ,
+              form
+                use-template "StdPDBseqId" } } } } } } } } ,
+  {
+    name "StdSeqFeatLocation" ,
+    format {
+      asn1 "Seq-feat.location" ,
+      label "Location" ,
+      prefix "\t" ,
+      form
+        user {
+          printfunc "StdSeqLocPrint" } } } ,
+  {
+    name "StdSeqFeatProduct" ,
+    format {
+      asn1 "Seq-feat.product" ,
+      label "Product" ,
+      prefix "\t" ,
+      form
+        user {
+          printfunc "StdSeqLocPrint" } } } ,
+  {
+    name "EntrySeqFeatData" ,
+    labelfrom "Seq-feat.data" ,
+    format {
+      asn1 "Seq-feat.data" ,
+      prefix "\t" ,
+      form
+        use-template "StdSeqFeatData" } } ,
+  {
+    name "StdSeqFeat" ,
+    labelfrom "Seq-feat.data" ,
+    format {
+      asn1 "Seq-feat" ,
+      prefix " " ,
+      suffix "  " ,
+      form
+        block {
+          separator " " ,
+          components {
+            {
+              asn1 "Seq-feat.data" ,
+              form
+                use-template "StdSeqFeatData" } ,
+            {
+              asn1 "Seq-feat" ,
+              form
+                use-template "StdSeqFeatCommon" } ,
+            {
+              asn1 "Seq-feat.product" ,
+              label "Product" ,
+              prefix " " ,
+              form
+                user {
+                  printfunc "StdSeqLocPrint" } } ,
+            {
+              asn1 "Seq-feat.location" ,
+              label "Location" ,
+              prefix " " ,
+              form
+                user {
+                  printfunc "StdSeqLocPrint" } } ,
+            {
+              asn1 "Seq-feat.cit" ,
+              label "Citations" ,
+              prefix " " ,
+              form
+                block {
+                  separator " " ,
+                  components {
+                    {
+                      asn1 "Seq-feat.cit.pub.E" ,
+                      form
+                        use-template "StdPub" } } } } ,
+            {
+              asn1 "Seq-feat.xref" ,
+              label "Cross-reference" ,
+              prefix " " ,
+              form
+                block {
+                  separator " " ,
+                  components {
+                    {
+                      asn1 "Seq-feat.xref.E" ,
+                      form
+                        use-template "StdSeqFeatXref" } } } } } } } } ,
+  {
+    name "StdSeqFeatData" ,
+    format {
+      asn1 "SeqFeatData" ,
+      form
+        block {
+          components {
+            {
+              asn1 "SeqFeatData.gene" ,
+              label "Gene" ,
+              form
+                use-template "StdGeneRef" } ,
+            {
+              asn1 "SeqFeatData.org" ,
+              label "Organism" ,
+              form
+                use-template "StdOrgRef" } ,
+            {
+              asn1 "SeqFeatData.cdregion" ,
+              label "Coding Region" ,
+              form
+                use-template "StdCdRegion" } ,
+            {
+              asn1 "SeqFeatData.prot" ,
+              label "Protein" ,
+              form
+                use-template "StdProtRef" } ,
+            {
+              asn1 "SeqFeatData.rna" ,
+              label "RNA" ,
+              form
+                use-template "StdRNARef" } ,
+            {
+              asn1 "SeqFeatData.pub" ,
+              label "Citation" ,
+              form
+                use-template "StdPubdesc" } ,
+            {
+              asn1 "SeqFeatData.seq" ,
+              label "Sequence" ,
+              form
+                user {
+                  printfunc "StdSeqLocPrint" } } ,
+            {
+              asn1 "SeqFeatData.imp.key" ,
+              label "Import" ,
+              form
+                use-template "StdImpFeat" } ,
+            {
+              asn1 "SeqFeatData.region" ,
+              label "Region" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "SeqFeatData.comment" ,
+              label "Comment" ,
+              form
+                null NULL } ,
+            {
+              asn1 "SeqFeatData.bond" ,
+              label "Bond" ,
+              form
+                enum {
+                   } } ,
+            {
+              asn1 "SeqFeatData.site" ,
+              label "Site" ,
+              form
+                enum {
+                   } } ,
+            {
+              asn1 "SeqFeatData.rsite" ,
+              label "Rest. Site" ,
+              form
+                use-template "StdRsiteRef" } ,
+            {
+              asn1 "SeqFeatData.user" ,
+              label "User Type" ,
+              form
+                use-template "StdUserObj" } ,
+            {
+              asn1 "SeqFeatData.txinit" ,
+              label "TxInit" ,
+              form
+                use-template "StdTxInit" } ,
+            {
+              asn1 "SeqFeatData.num" ,
+              label "Numbering" ,
+              form
+                use-template "StdNumbering" } ,
+            {
+              asn1 "SeqFeatData.psec-str" ,
+              label "Sec. Struct" ,
+              form
+                enum {
+                   } } ,
+            {
+              asn1 "SeqFeatData.non-std-residue" ,
+              label "NonStd Residue" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "SeqFeatData.het" ,
+              label "Heterogen" ,
+              form
+                text {
+                   } } } } } } ,
+  {
+    name "StdGeneRef" ,
+    format {
+      asn1 "Gene-ref" ,
+      form
+        block {
+          separator " " ,
+          components {
+            {
+              asn1 "Gene-ref" ,
+              form
+                block {
+                  components {
+                    {
+                      asn1 "Gene-ref.locus" ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Gene-ref.allele" ,
+                      prefix " " ,
+                      form
+                        text {
+                           } } } } } ,
+            {
+              asn1 "Gene-ref.desc" ,
+              prefix "[" ,
+              suffix "]" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Gene-ref.pseudo" ,
+              form
+                boolean {
+                  true "This is a pseudogene." } } ,
+            {
+              asn1 "Gene-ref.syn" ,
+              label "Synonyms" ,
+              prefix " (" ,
+              suffix ")" ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Gene-ref.syn.E" ,
+                      form
+                        text {
+                           } } } } } ,
+            {
+              asn1 "Gene-ref.maploc" ,
+              label "Map Location" ,
+              prefix " " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Gene-ref.db" ,
+              label "Cross Reference" ,
+              prefix " " ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Gene-ref.db.E" ,
+                      prefix "(" ,
+                      suffix ")" ,
+                      form
+                        use-template "StdDbtag" } } } } } } } } ,
+  {
+    name "StdUserObj" ,
+    format {
+      asn1 "User-object" ,
+      label "User-object" ,
+      form
+        block {
+          separator " " ,
+          components {
+            {
+              asn1 "User-object.class" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "User-object.type" ,
+              form
+                use-template "StdObjectId" } } } } } ,
+  {
+    name "StdSPBlock" ,
+    format {
+      asn1 "SP-block" ,
+      prefix "" ,
+      suffix " " ,
+      form
+        block {
+          separator ";~" ,
+          components {
+            {
+              asn1 "SP-block.class" ,
+             label "class: " ,
+              form
+                enum {
+                   } } ,
+            {
+              asn1 "SP-block.extra-acc" ,
+             label "extra accessions:" ,
+             prefix " " ,
+             form
+               block {
+                 separator ", ",
+                 components {
+                   {
+                    asn1 "SP-block.extra-acc.E" ,
+                     form
+                       text {
+                                 } } } } } ,
+            {
+              asn1 "SP-block.imeth" ,
+              form
+                boolean {
+                true "seq starts with Met"   } } ,
+            {
+              asn1 "SP-block.plasnm" ,
+             prefix " " ,
+             form
+               block {
+                 separator ", ",
+                 components {
+                   {
+                    asn1 "SP-block.plasnm.E" ,
+                     form
+                       text {
+                                 } } } } } ,
+            {
+              asn1 "SP-block.seqref" ,
+             label "xrefs:" ,
+             prefix " " ,
+             form
+               block {
+                 separator ", ",
+                  components {
+                    {
+                      asn1 "Seq-id.local" ,
+                      form
+                        use-template "StdObjectId" } ,
+                    {
+                      asn1 "Seq-id.genbank" ,
+                     label "genbank" ,
+                     prefix " " ,
+                      form
+                        use-template "StdTextseqId" } ,
+                    {
+                      asn1 "Seq-id.embl" ,
+                     label "embl" ,
+                     prefix " " ,
+                      form
+                        use-template "StdEMBLseqId" } ,
+                    {
+                      asn1 "Seq-id.pir" ,
+                     label "pir" ,
+                     prefix " " ,
+                      form
+                        use-template "StdTextseqId" } ,
+                    {
+                      asn1 "Seq-id.swissprot" ,
+                     label "swissprot" ,
+                     prefix " " ,
+                      form
+                        use-template "StdTextseqId" } ,
+                    {
+                      asn1 "Seq-id.patent" ,
+                      form
+                        use-template "StdPatentSeqId" } ,
+                    {
+                      asn1 "Seq-id.other" ,
+                               label "REFSEQ:" ,
+                               prefix " " ,
+                      form
+                        use-template "StdTextseqId" } ,
+                    {
+                      asn1 "Seq-id.general" ,
+                      form
+                        use-template "StdDbtag" } ,
+                    {
+                      asn1 "Seq-id.gi" ,
+                     label "gi:" ,
+                     prefix " " ,
+                      form
+                       text {
+                         } } ,
+                    {
+                      asn1 "Seq-id.ddbj" ,
+                     label "ddbj" ,
+                     prefix " " ,
+                      form
+                        use-template "StdTextseqId" } ,
+                    {
+                      asn1 "Seq-id.prf" ,
+                     label "prf" ,
+                     prefix " " ,
+                      form
+                        use-template "StdTextseqId" } ,
+                    {
+                      asn1 "Seq-id.pdb" ,
+                      form
+                        use-template "StdPDBseqId" } ,
+                  } } } ,
+             {
+              asn1 "SP-block.dbref" ,
+              label "xrefs (non-sequence databases):" ,
+              prefix " " ,
+              form
+                block {
+                  separator ", ",
+                components {
+                {
+                  asn1 "SP-block.dbref.E" ,
+                 form
+                   block {
+                   components {    
+                {
+                  asn1 "Dbtag.db" ,
+                 suffix ": " ,
+                 form
+                 text {
+                    } } ,
+                {
+                 asn1 "Dbtag.tag" ,
+                 form
+                 use-template "StdObjectId" } ,
+                 } } } } } } ,
+            {
+              asn1 "SP-block.created" ,
+             label "created:" ,
+             prefix " " ,
+             form
+                user {
+                  printfunc "StdDatePrint" } } ,
+            {
+              asn1 "SP-block.sequpd" ,
+             label "sequence updated:" ,
+             prefix " " ,
+             form
+                user {
+                  printfunc "StdDatePrint" } } ,
+            {
+              asn1 "SP-block.annotupd" ,
+             label "annotation updated:" ,
+             prefix " " ,
+             form
+                user {
+                  printfunc "StdDatePrint" } } ,
+                  } } } } ,
+  {
+    name "StdPirBlock" ,
+    format {
+      asn1 "PIR-block" ,
+      prefix "" ,
+      suffix "" ,
+      form
+        block {
+          separator ";~" ,
+          components {
+            {
+              asn1 "PIR-block.host" ,
+             label "host:" ,
+              form
+                text {
+                     } } ,
+            {
+              asn1 "PIR-block.source" ,
+             label "source: " ,
+              form
+                text {
+                     } } ,
+            {
+              asn1 "PIR-block.summary" ,
+             label "summary: " ,
+              form
+                text {
+                     } } ,
+            {
+              asn1 "PIR-block.genetic" ,
+             label "genetic: " ,
+              form
+                text {
+                     } } ,
+            {
+              asn1 "PIR-block.includes" ,
+             label "includes: " ,
+              form
+                text {
+                     } } ,
+            {
+              asn1 "PIR-block.placement" ,
+             label "placement: " ,
+              form
+                text {
+                     } } ,
+            {
+              asn1 "PIR-block.superfamily" ,
+             label "superfamily: " ,
+              form
+                text {
+                     } } ,
+            {
+              asn1 "PIR-block.cross-reference" ,
+             label "xref: " ,
+              form
+                text {
+                     } } ,
+            {
+              asn1 "PIR-block.date" ,
+             label "PIR dates: " ,
+              form
+                text {
+                     } } ,
+            {
+              asn1 "PIR-block.had-punct" ,
+              form
+                boolean {
+                true "punctuation in sequence" } } ,
+            {
+              asn1 "PIR-block.seqref" ,
+             label "xrefs:" ,
+             prefix " " ,
+             form
+               block {
+                 separator ", ",
+                  components {
+                    {
+                      asn1 "Seq-id.local" ,
+                      form
+                        use-template "StdObjectId" } ,
+                    {
+                      asn1 "Seq-id.genbank" ,
+                     label "genbank" ,
+                      form
+                        use-template "StdTextseqId" } ,
+                    {
+                      asn1 "Seq-id.embl" ,
+                     label "embl" ,
+                     prefix " " ,
+                      form
+                        use-template "StdEMBLseqId" } ,
+                    {
+                      asn1 "Seq-id.pir" ,
+                     label "pir" ,
+                     prefix " " ,
+                      form
+                        use-template "StdTextseqId" } ,
+                    {
+                      asn1 "Seq-id.swissprot" ,
+                     label "swissprot" ,
+                     prefix " " ,
+                      form
+                        use-template "StdTextseqId" } ,
+                    {
+                      asn1 "Seq-id.patent" ,
+                      form
+                        use-template "StdPatentSeqId" } ,
+                    {
+                      asn1 "Seq-id.other" ,
+                      form
+                        use-template "StdTextseqId" } ,
+                    {
+                      asn1 "Seq-id.general" ,
+                      form
+                        null NULL } ,
+                    {
+                      asn1 "Seq-id.gi" ,
+                     label "gi:" ,
+                     prefix " " ,
+                      form
+                       text {
+                                         } } ,
+                    {
+                      asn1 "Seq-id.ddbj" ,
+                     label "ddbj" ,
+                     prefix " " ,
+                      form
+                        use-template "StdTextseqId" } ,
+                    {
+                      asn1 "Seq-id.prf" ,
+                     label "prf" ,
+                     prefix " " ,
+                      form
+                        use-template "StdTextseqId" } ,
+                    {
+                      asn1 "Seq-id.pdb" ,
+                      form
+                        use-template "StdPDBseqId" } ,
+                  } } } ,
+                  } } } } ,
+  {
+    name "StdPDBBlock" ,
+    format {
+      asn1 "PDB-block" ,
+      prefix "" ,
+      suffix "" ,
+      form
+        block {
+          separator ";~" ,
+          components {
+            {
+              asn1 "PDB-block.deposition" ,
+             label "deposition: " ,
+              form
+                user {
+                  printfunc "StdDatePrint" } } ,
+            {
+              asn1 "PDB-block.class" ,
+             label "class: " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "PDB-block.source" ,
+             label "source:" ,
+             prefix " " ,
+             form
+               block {
+                 separator ", ",
+                 components {
+                   {
+                    asn1 "PDB-block.source.E" ,
+                     form
+                       text {
+                                 } } } } } ,
+            {
+              asn1 "PDB-block.exp-method" ,
+             label "Non X-ray method: " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "PDB-block.replace" ,
+             prefix "" ,
+             form
+               use-template "Pdb-replace" } ,
+                  } } } } ,
+  {
+    name "Pdb-replace" ,
+    format {
+      asn1 "PDB-replace" ,
+      prefix "" ,
+      suffix "" ,
+      form
+        block {
+          separator ";~" ,
+          components {
+            {
+              asn1 "PDB-replace.date" ,
+             label "replacement date:" ,
+             prefix " " ,
+             form
+                user {
+                  printfunc "StdDatePrint" } } ,
+            {
+              asn1 "PDB-replace.ids" ,
+             label "ids replaced:" ,
+             prefix " " ,
+             form
+               block {
+                 separator ", ",
+                 components {
+                   {
+                    asn1 "PDB-replace.ids.E" ,
+                     form
+                       text {
+                                 } } } } } ,
+                  } } } } ,
+  {
+    name "StdPRFBlock" ,
+    format {
+      asn1 "PRF-block" ,
+      prefix "" ,
+      suffix "" ,
+      form
+        block {
+          separator ";~" ,
+          components {
+            {
+              asn1 "PRF-block.extra-src" ,
+             prefix "" ,
+             form
+               use-template "Prf-Extra-src" } ,
+                  } } } } ,
+  {
+    name "Prf-Extra-src" ,
+    format {
+      asn1 "PRF-ExtraSrc" ,
+      prefix "" ,
+      suffix "" ,
+      form
+        block {
+          separator ";~" ,
+          components {
+            {
+              asn1 "PRF-ExtraSrc.host" ,
+             label "host:" ,
+             prefix " " ,
+             form
+                text {
+                         } } ,
+            {
+              asn1 "PRF-ExtraSrc.part" ,
+             label "part:" ,
+             prefix " " ,
+             form
+                text {
+                         } } ,
+            {
+              asn1 "PRF-ExtraSrc.state" ,
+             label "state:" ,
+             prefix " " ,
+             form
+                text {
+                         } } ,
+            {
+              asn1 "PRF-ExtraSrc.strain" ,
+             label "strain:" ,
+             prefix " " ,
+             form
+                text {
+                         } } ,
+            {
+              asn1 "PRF-ExtraSrc.taxon" ,
+             label "taxonomy:" ,
+             prefix " " ,
+             form
+                text {
+                                } } ,
+                  } } } } ,
+  {
+    name "StdSPBXRef" ,
+    format {
+      asn1 "SP-block" ,
+      prefix " " ,
+      suffix "  " ,
+      form
+        block {
+          separator " " ,
+          components {
+            {
+              asn1 "SP-block.seqref" ,
+             prefix " " ,
+             form
+               block {
+                 separator ", ",
+                  components {
+                    {
+                      asn1 "Seq-id.local" ,
+                      form
+                        use-template "StdObjectId" } ,
+                    {
+                      asn1 "Seq-id.genbank" ,
+                     label "genbank" ,
+                      form
+                        use-template "StdTextseqId" } ,
+                    {
+                      asn1 "Seq-id.embl" ,
+                     label "embl" ,
+                     prefix " " ,
+                      form
+                        use-template "StdEMBLseqId" } ,
+                    {
+                      asn1 "Seq-id.pir" ,
+                     label "pir" ,
+                     prefix " " ,
+                      form
+                        use-template "StdTextseqId" } ,
+                    {
+                      asn1 "Seq-id.swissprot" ,
+                     label "swissprot" ,
+                     prefix " " ,
+                      form
+                        use-template "StdTextseqId" } ,
+                    {
+                      asn1 "Seq-id.patent" ,
+                      form
+                        use-template "StdPatentSeqId" } ,
+                    {
+                      asn1 "Seq-id.other" ,
+                      form
+                        use-template "StdTextseqId" } ,
+                    {
+                      asn1 "Seq-id.general" ,
+                      form
+                        null NULL } ,
+                    {
+                      asn1 "Seq-id.gi" ,
+                     label "gi:" ,
+                     prefix " " ,
+                      form
+                       text {
+                         } } ,
+                    {
+                      asn1 "Seq-id.ddbj" ,
+                     label "ddbj" ,
+                     prefix " " ,
+                      form
+                        use-template "StdTextseqId" } ,
+                    {
+                      asn1 "Seq-id.prf" ,
+                     label "prf" ,
+                     prefix " " ,
+                      form
+                        use-template "StdTextseqId" } ,
+                    {
+                      asn1 "Seq-id.pdb" ,
+                      form
+                        use-template "StdPDBseqId" } ,
+                  } } } ,
+                  } } } } ,
+  {
+    name "StdPub" ,
+    format {
+      asn1 "Pub" ,
+      form
+        block {
+          separator " " ,
+          components {
+            {
+              asn1 "Pub.gen" ,
+              form
+                use-template "StdCitGen" } ,
+            {
+              asn1 "Pub.sub" ,
+              form
+                use-template "StdCitSub" } ,
+            {
+              asn1 "Pub.medline" ,
+              form
+                use-template "StdMedlineEntry" } ,
+            {
+              asn1 "Pub.muid" ,
+              label "MEDLINE uid: " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Pub.article" ,
+              form
+                use-template "StdCitArt" } ,
+            {
+              asn1 "Pub.journal" ,
+              form
+                use-template "StdCitJour" } ,
+            {
+              asn1 "Pub.book" ,
+              form
+                use-template "StdCitBook" } ,
+            {
+              asn1 "Pub.proc" ,
+              form
+                use-template "StdCitProc" } ,
+            {
+              asn1 "Pub.patent" ,
+              form
+                use-template "StdCitPat" } ,
+            {
+              asn1 "Pub.pat-id" ,
+              form
+                use-template "StdIdPat" } ,
+            {
+              asn1 "Pub.man" ,
+              form
+                use-template "StdCitLet" } ,
+            {
+              asn1 "Pub.equiv" ,
+              form
+                use-template "StdPubEquiv" } } } } } ,
+  {
+    name "StdCitGen" ,
+    format {
+      asn1 "Cit-gen" ,
+      form
+        block {
+          separator " " ,
+          components {
+            {
+              asn1 "Cit-gen.serial-number" ,
+              prefix "[" ,
+              suffix "]" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Cit-gen.authors" ,
+              form
+                use-template "StdAuthList" } ,
+            {
+              asn1 "Cit-gen.date" ,
+              prefix "(" ,
+              suffix ")" ,
+              form
+                user {
+                  printfunc "StdDatePrint" } } ,
+            {
+              asn1 "Cit-gen.title" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Cit-gen.cit" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Cit-gen" ,
+              form
+                block {
+                  separator " " ,
+                  components {
+                    {
+                      asn1 "Cit-gen.journal" ,
+                      suffix ":" ,
+                      form
+                        use-template "StdTitle" } ,
+                    {
+                      asn1 "Cit-gen.issue" ,
+                      suffix ";" ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Cit-gen.pages" ,
+                      form
+                        text {
+                           } } } } } } } } } ,
+  {
+    name "StdCitSub" ,
+    format {
+      asn1 "Cit-sub" ,
+      prefix "Data Submission " ,
+      form
+        block {
+          components {
+            {
+              asn1 "Cit-sub.medium" ,
+              prefix "on " ,
+              suffix " " ,
+              form
+                enum {
+                   } } ,
+            {
+              asn1 "Cit-sub.imp.date" ,
+              prefix "(" ,
+              suffix ")" ,
+              form
+                user {
+                  printfunc "StdDatePrint" } } ,
+            {
+              asn1 "Cit-sub.authors" ,
+              prefix " " ,
+              form
+                use-template "StdAuthList" } } } } } ,
+  {
+    name "StdMedlineEntry" ,
+    format {
+      asn1 "Medline-entry" ,
+      form
+        block {
+          separator " " ,
+          components {
+            {
+              asn1 "Medline-entry" ,
+              form
+                block {
+                  separator "   " ,
+                  components {
+                    {
+                      asn1 "Medline-entry.uid" ,
+                      label "uid" ,
+                      prefix ": " ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Medline-entry.em" ,
+                      label "entry month" ,
+                      prefix ": " ,
+                      form
+                        user {
+                          printfunc "StdDatePrint" } } } } } ,
+            {
+              asn1 "Medline-entry.cit" ,
+              form
+                use-template "StdCitArt" } ,
+            {
+              asn1 "Medline-entry.abstract" ,
+              label "abstract" ,
+              prefix ": " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Medline-entry.mesh" ,
+              label "Mesh Terms" ,
+              prefix " " ,
+              form
+                block {
+                  separator " " ,
+                  components {
+                    {
+                      asn1 "Medline-entry.mesh.E" ,
+                      form
+                        block {
+                          components {
+                            {
+                              asn1 "Medline-mesh.term" ,
+                              form
+                                text {
+                                   } } ,
+                            {
+                              asn1 "Medline-mesh.mp" ,
+                              form
+                                boolean {
+                                  true " (Main Point)" } } ,
+                            {
+                              asn1 "Medline-mesh.qual" ,
+                              form
+                                block {
+                                  separator " " ,
+                                  components {
+                                    {
+                                      asn1 "Medline-mesh.qual.E" ,
+                                      form
+                                        block {
+                                          components {
+                                            {
+                                              asn1 "Medline-qual.subh" ,
+                                              form
+                                                text {
+                                                   } } ,
+                                            {
+                                              asn1 "Medline-qual.mp" ,
+                                              form
+                                                boolean {
+                                                  true " (Main Point)" } } } } } } } } } } } } } } ,
+            {
+              asn1 "Medline-entry.substance" ,
+              label "Substance" ,
+              prefix " " ,
+              form
+                block {
+                  separator " " ,
+                  components {
+                    {
+                      asn1 "Medline-entry.substance.E" ,
+                      form
+                        block {
+                          components {
+                            {
+                              asn1 "Medline-rn.name" ,
+                              form
+                                text {
+                                   } } ,
+                            {
+                              asn1 "Medline-rn.type" ,
+                              form
+                                enum {
+                                  values {
+                                    "" ,
+                                    " CAS: " ,
+                                    "EC " } } } ,
+                            {
+                              asn1 "Medline-rn.cit" ,
+                              form
+                                text {
+                                   } } } } } } } } ,
+            {
+              asn1 "Medline-entry.xref" ,
+              label "Cross Reference" ,
+              prefix " " ,
+              form
+                block {
+                  separator " " ,
+                  components {
+                    {
+                      asn1 "Medline-entry.xref.E" ,
+                      form
+                        block {
+                          separator ": " ,
+                          components {
+                            {
+                              asn1 "Medline-si.type" ,
+                              form
+                                enum {
+                                   } } ,
+                            {
+                              asn1 "Medline-si.cit" ,
+                              form
+                                text {
+                                   } } } } } } } } ,
+            {
+              asn1 "Medline-entry.gene" ,
+              label "Possible Gene Symbols" ,
+              prefix ": " ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Medline-entry.gene.E" ,
+                      form
+                        text {
+                           } } } } } ,
+            {
+              asn1 "Medline-entry.idnum" ,
+              label "Support" ,
+              prefix ": " ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Medline-entry.idnum.E" ,
+                      form
+                        text {
+                           } } } } } } } } } ,
+  {
+    name "StdCitArt" ,
+    format {
+      asn1 "Cit-art" ,
+      form
+        block {
+          separator " " ,
+          components {
+            {
+              asn1 "Cit-art.title" ,
+              form
+                use-template "StdTitle" } ,
+            {
+              asn1 "Cit-art.authors" ,
+              form
+                use-template "StdAuthList" } ,
+            {
+              asn1 "Cit-art.from.journal" ,
+              form
+                use-template "StdCitJour" } ,
+            {
+              asn1 "Cit-art.from.book" ,
+              prefix "(in) " ,
+              form
+                use-template "StdCitBook" } ,
+            {
+              asn1 "Cit-art.from.proc" ,
+              prefix "(in) " ,
+              form
+                use-template "StdCitProc" } } } } } ,
+  {
+    name "StdCitJour" ,
+    format {
+      asn1 "Cit-jour" ,
+      form
+        block {
+          separator " " ,
+          components {
+            {
+              asn1 "Cit-jour.title" ,
+              form
+                use-template "StdTitle" } ,
+            {
+              asn1 "Cit-jour.imp" ,
+              form
+                use-template "StdImprint" } } } } } ,
+  {
+    name "StdCitBook" ,
+    format {
+      asn1 "Cit-book" ,
+      form
+        block {
+          separator " " ,
+          components {
+            {
+              asn1 "Cit-book.title" ,
+              form
+                use-template "StdTitle" } ,
+            {
+              asn1 "Cit-book.coll" ,
+              prefix "Collection: " ,
+              form
+                use-template "StdTitle" } ,
+            {
+              asn1 "Cit-book.authors" ,
+              form
+                use-template "StdAuthList" } ,
+            {
+              asn1 "Cit-book.imp" ,
+              form
+                use-template "StdImprint" } } } } } ,
+  {
+    name "StdCitProc" ,
+    format {
+      asn1 "Cit-proc" ,
+      form
+        block {
+          separator " " ,
+          components {
+            {
+              asn1 "Cit-proc.book" ,
+              form
+                use-template "StdCitBook" } ,
+            {
+              asn1 "Cit-proc.meet" ,
+              label "Meeting " ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Meeting.number" ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Meeting.date" ,
+                      form
+                        user {
+                          printfunc "StdDatePrint" } } ,
+                    {
+                      asn1 "Meeting.place" ,
+                      form
+                        use-template "StdAffil" } } } } } } } } ,
+  {
+    name "StdCitPat" ,
+    format {
+      asn1 "Cit-pat" ,
+      form
+        block {
+          separator " " ,
+          components {
+            {
+              asn1 "Cit-pat.title" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Cit-pat.authors" ,
+              form
+                use-template "StdAuthList" } ,
+            {
+              asn1 "Cit-pat" ,
+              form
+                block {
+                  components {
+                    {
+                      asn1 "Cit-pat.country" ,
+                      suffix " " ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Cit-pat.doc-type" ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Cit-pat.number" ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Cit-pat.date-issue" ,
+                      prefix " (" ,
+                      suffix ")" ,
+                      form
+                        user {
+                          printfunc "StdDatePrint" } } ,
+                    {
+                      asn1 "Cit-pat.app-number" ,
+                      prefix " Appl: " ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Cit-pat.app-date" ,
+                      prefix " (" ,
+                      suffix ")" ,
+                      form
+                        user {
+                          printfunc "StdDatePrint" } } } } } } } } } ,
+  {
+    name "StdIdPat" ,
+    format {
+      asn1 "Id-pat" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Id-pat.country" ,
+              suffix " " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Id-pat.id.number" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Id-pat.id.app-number" ,
+              prefix "Appl: " ,
+              form
+                text {
+                   } } } } } } ,
+  {
+    name "StdPatentSeqId" ,
+    format {
+      asn1 "Patent-seq-id" ,
+      label "patent: " ,
+      form
+        block {
+          components {
+            {
+              asn1 "Patent-seq-id.seqid" ,
+              suffix " " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Patent-seq-id.cit" ,
+              prefix " " ,
+             form
+                use-template "StdIdPat" } } } } } ,
+  {
+    name "StdCitLet" ,
+    format {
+      asn1 "Cit-let" ,
+      form
+        block {
+          separator " " ,
+          components {
+            {
+              asn1 "Cit-let.type" ,
+              prefix "[" ,
+              suffix "]" ,
+              form
+                enum {
+                   } } ,
+            {
+              asn1 "Cit-let.man-id" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Cit-let.cit" ,
+              form
+                use-template "StdCitBook" } } } } } ,
+  {
+    name "StdPubEquiv" ,
+    format {
+      asn1 "Pub-equiv" ,
+      form
+        block {
+          separator " " ,
+          components {
+            {
+              asn1 "Pub-equiv.E" ,
+              form
+                use-template "StdPub" } } } } } ,
+  {
+    name "StdTitle" ,
+    format {
+      asn1 "Title" ,
+      form
+        block {
+          separator ", " ,
+          components {
+            {
+              asn1 "Title.E.trans" ,
+              prefix "[" ,
+              suffix "]" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Title.E.name" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Title.E.tsub" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Title.E.abr" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Title.E.iso-jta" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Title.E.ml-jta" ,
+              label "MEDLINE" ,
+              prefix ": " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Title.E.jta" ,
+              label "jta" ,
+              prefix ": " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Title.E.issn" ,
+              label "ISSN" ,
+              prefix ": " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Title.E.coden" ,
+              label "CODEN" ,
+              prefix ": " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Title.E.isbn" ,
+              label "ISBN" ,
+              prefix ": " ,
+              form
+                text {
+                   } } } } } } ,
+  {
+    name "StdAuthList" ,
+    format {
+      asn1 "Auth-list" ,
+      form
+        block {
+          separator " " ,
+          components {
+            {
+              asn1 "Auth-list" ,
+              form
+                user {
+                  printfunc "StdAuthListNamesPrint" } } ,
+            {
+              asn1 "Auth-list.affil" ,
+              form
+                use-template "StdAffil" } } } } } ,
+  {
+    name "StdAffil" ,
+    format {
+      asn1 "Affil" ,
+      form
+        block {
+          separator " " ,
+          components {
+            {
+              asn1 "Affil.str" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Affil.std.affil" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Affil.std.div" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Affil.std.street" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Affil.std" ,
+              form
+                block {
+                  separator " " ,
+                  components {
+                    {
+                      asn1 "Affil.std.city" ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Affil.std.sub" ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Affil.std.country" ,
+                      form
+                        text {
+                           } } } } } } } } } ,
+  {
+    name "StdImprint" ,
+    format {
+      asn1 "Imprint" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Imprint.date" ,
+              prefix "(" ,
+              suffix ") " ,
+              form
+                user {
+                  printfunc "StdDatePrint" } } ,
+            {
+              asn1 "Imprint.volume" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Imprint.issue" ,
+              prefix " (" ,
+              suffix ")" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Imprint.section" ,
+              prefix " (" ,
+              suffix ")" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Imprint.part-sup" ,
+              prefix " (" ,
+              suffix ")" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Imprint.pages" ,
+              prefix ": " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Imprint.prepub" ,
+              prefix " (" ,
+              suffix ")" ,
+              form
+                enum {
+                   } } ,
+            {
+              asn1 "Imprint.pub" ,
+              label " Publisher: " ,
+              form
+                use-template "StdAffil" } ,
+            {
+              asn1 "Imprint.cprt" ,
+              label " Copyright: " ,
+              form
+                user {
+                  printfunc "StdDatePrint" } } } } } } ,
+  {
+    name "StdSeqFeatXref" ,
+    format {
+      asn1 "SeqFeatXref" ,
+      form
+        block {
+          separator " " ,
+          components {
+            {
+              asn1 "SeqFeatXref.id" ,
+              label "Id=" ,
+              form
+                use-template "StdFeatId" } ,
+            {
+              asn1 "SeqFeatXref.data" ,
+              form
+                use-template "StdSeqFeatData" } } } } } ,
+  {
+    name "StdOrgRef" ,
+    format {
+      asn1 "Org-ref" ,
+      label "Org-ref" ,
+      prefix " " ,
+      form
+        block {
+          separator " " ,
+          components {
+            {
+              asn1 "Org-ref" ,
+              form
+                block {
+                  separator " " ,
+                  components {
+                    {
+                      asn1 "Org-ref.taxname" ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Org-ref.common" ,
+                      prefix "(" ,
+                      suffix ")" ,
+                      form
+                        text {
+                           } } } } } ,
+            {
+              asn1 "Org-ref.mod" ,
+              label "Modifiers" ,
+              prefix " (" ,
+              suffix ")" ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Org-ref.mod.E" ,
+                      form
+                        text {
+                           } } } } } ,
+            {
+              asn1 "Org-ref.db" ,
+              label "Cross Reference" ,
+              prefix " " ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Org-ref.db.E" ,
+                      prefix "(" ,
+                      suffix ")" ,
+                      form
+                        use-template "StdDbtag" } } } } ,
+            {
+              asn1 "Org-ref.syn" ,
+              label "Synonyms" ,
+              prefix " (" ,
+              suffix ")" ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Org-ref.syn.E" ,
+                      form
+                        text {
+                           } } } } } } } } } ,
+  {
+    name "StdCdRegion" ,
+    format {
+      asn1 "Cdregion" ,
+      label "Cdregion" ,
+      form
+        block {
+          separator " " ,
+          components {
+            {
+              asn1 "Cdregion.orf" ,
+              form
+                boolean {
+                  true "Uncharacterized Open Reading Frame" } } ,
+            {
+              asn1 "Cdregion.frame" ,
+              label "Reading Frame = " ,
+              form
+                enum {
+                   } } ,
+            {
+              asn1 "Cdregion.code" ,
+              label "Genetic Code: " ,
+              suffix ";" ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Genetic-code.E.name" ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Genetic-code.E.id" ,
+                      label "id= " ,
+                      form
+                        text {
+                           } } } } } ,
+            {
+              asn1 "Cdregion.conflict" ,
+              form
+                boolean {
+                  true "Translation conflicts with protein sequence" } } ,
+            {
+              asn1 "Cdregion.stops" ,
+              prefix "Translation contains " ,
+              suffix " stop codons" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Cdregion.gaps" ,
+              prefix "Translation contains " ,
+              suffix " gaps when aligned to protein" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Cdregion.mismatch" ,
+              prefix "Translation contains " ,
+              suffix " mismatches when aligned to protein" ,
+              form
+                text {
+                   } } } } } } ,
+  {
+    name "StdProtRef" ,
+    format {
+      asn1 "Prot-ref" ,
+      label "Prot-ref" ,
+      form
+        block {
+          separator " " ,
+          components {
+            {
+              asn1 "Prot-ref.name" ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Prot-ref.name.E" ,
+                      form
+                        text {
+                           } } } } } ,
+            {
+              asn1 "Prot-ref.desc" ,
+              prefix "[" ,
+              suffix "]" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Prot-ref.ec" ,
+              label "ec" ,
+              prefix ": " ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Prot-ref.ec.E" ,
+                      form
+                        text {
+                           } } } } } ,
+            {
+              asn1 "Prot-ref.activity" ,
+              label "activity" ,
+              prefix ": " ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Prot-ref.activity.E" ,
+                      form
+                        text {
+                           } } } } } ,
+            {
+              asn1 "Prot-ref.db" ,
+              form
+                use-template "StdDbtag" } } } } } ,
+  {
+    name "StdRNARef" ,
+    format {
+      asn1 "RNA-ref" ,
+      label "RNA-ref" ,
+      form
+        block {
+          separator " " ,
+          components {
+            {
+              asn1 "RNA-ref.type" ,
+              form
+                enum {
+                   } } ,
+            {
+              asn1 "RNA-ref.pseudo" ,
+              form
+                boolean {
+                  true "This is an RNA pseudogene." } } ,
+            {
+              asn1 "RNA-ref.ext.name" ,
+              form
+                text {
+                   } } } } } } ,
+  {
+    name "StdPubdesc" ,
+    format {
+      asn1 "Pubdesc" ,
+      label "Pubdesc" ,
+      form
+        block {
+          separator " " ,
+          components {
+            {
+              asn1 "Pubdesc.pub" ,
+              form
+                use-template "StdPubEquiv" } ,
+            {
+              asn1 "Pubdesc" ,
+              prefix "In this article: " ,
+              form
+                block {
+                  separator " " ,
+                  components {
+                    {
+                      asn1 "Pubdesc.name" ,
+                      label "name=" ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Pubdesc.fig" ,
+                      label "figure=" ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Pubdesc.poly-a" ,
+                      form
+                        boolean {
+                          true "poly(A) shown" } } ,
+                    {
+                      asn1 "Pubdesc.maploc" ,
+                      label "map location=" ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Pubdesc.num" ,
+                      form
+                        use-template "StdNumbering" } ,
+                    {
+                      asn1 "Pubdesc.numexc" ,
+                      form
+                        boolean {
+                          true "numbering inconsistent" } } } } } ,
+            {
+              asn1 "Pubdesc.comment" ,
+              form
+                text {
+                   } } } } } } ,
+  {
+    name "StdImpFeat" ,
+    format {
+      asn1 "Imp-feat.key" ,
+      label "Imp-feat" ,
+      form
+        text {
+           } } } ,
+  {
+    name "StdRsiteRef" ,
+    format {
+      asn1 "Rsite-ref" ,
+      label "Rsite-ref" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Rsite-ref.str" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Rsite-ref.std" ,
+              form
+                use-template "StdDbtag" } } } } } ,
+  {
+    name "StdTxInit" ,
+    format {
+      asn1 "TxInit" ,
+      label "TxInit" ,
+      form
+        null NULL } } ,
+  {
+    name "StdNumbering" ,
+    format {
+      asn1 "Numbering" ,
+      label "Numbering" ,
+      form
+        null NULL } } ,
+  {
+    name "StdFeatId" ,
+    format {
+      asn1 "Feat-id" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Feat-id.gibb" ,
+              label "GenInfo Backbone: " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Feat-id.giim.id" ,
+              label "GenInfo Import Id: " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Feat-id.local" ,
+              label "Local: " ,
+              form
+                use-template "StdObjectId" } ,
+            {
+              asn1 "Feat-id.general" ,
+              form
+                use-template "StdDbtag" } } } } } ,
+  {
+    name "StdSeqFeatCommon" ,
+    format {
+      asn1 "Seq-feat" ,
+      form
+        block {
+          separator " " ,
+          components {
+            {
+              asn1 "Seq-feat.id" ,
+              label "Id=" ,
+              form
+                use-template "StdFeatId" } ,
+            {
+              asn1 "Seq-feat.title" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Seq-feat" ,
+              suffix ";" ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Seq-feat.partial" ,
+                      form
+                        boolean {
+                          true "Partial" } } ,
+                    {
+                      asn1 "Seq-feat.except" ,
+                      form
+                        boolean {
+                          true "Biological Exception" } } ,
+                    {
+                      asn1 "Seq-feat.exp-ev" ,
+                      label "Evidence" ,
+                      prefix " is " ,
+                      form
+                        enum {
+                           } } } } } ,
+            {
+              asn1 "Seq-feat.comment" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Seq-feat.ext" ,
+              form
+                use-template "StdUserObj" } ,
+            {
+              asn1 "Seq-feat.qual" ,
+              label "Qualifiers" ,
+              prefix " " ,
+              form
+                block {
+                  separator " " ,
+                  components {
+                    {
+                      asn1 "Seq-feat.qual.E" ,
+                      prefix "\\" ,
+                      form
+                        block {
+                          separator "= " ,
+                          components {
+                            {
+                              asn1 "Gb-qual.qual" ,
+                              form
+                                text {
+                                   } } ,
+                            {
+                              asn1 "Gb-qual.val" ,
+                              form
+                                text {
+                                   } } } } } } } } } } } } ,
+  {
+    name "StdDbtag" ,
+    format {
+      asn1 "Dbtag" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Dbtag.db" ,
+              suffix ": " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Dbtag.tag" ,
+              form
+                use-template "StdObjectId" } } } } } ,
+  {
+    name "StdObjectId" ,
+    format {
+      asn1 "Object-id" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Object-id.id" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Object-id.str" ,
+              form
+                text {
+                   } } } } } } ,
+  {
+    name "StdTextseqId" ,
+    format {
+      asn1 "Textseq-id" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Textseq-id.name" ,
+             label "locus" ,
+             prefix " " ,
+             suffix " " ,
+              form
+                text { 
+                 } } ,
+            {
+              asn1 "Textseq-id.accession" ,
+             label "accession" ,
+             prefix " " ,
+              form
+                text { 
+                 } } ,
+            {
+              asn1 "Textseq-id.release" ,
+             label "release" ,
+             prefix " " ,
+              form
+                text { 
+                 } } ,
+            {
+              asn1 "Textseq-id.version" ,
+             label "" ,
+              form
+                text { 
+                   } } } } } } ,
+  {
+    name "VersionTextseqId" ,
+    format {
+      asn1 "Textseq-id" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Textseq-id.name" ,
+             label "locus" ,
+             prefix " " ,
+             suffix " " ,
+              form
+                text { 
+                 } } ,
+            {
+              asn1 "Textseq-id.accession" ,
+             label "accession" ,
+             prefix " " ,
+              form
+                text { 
+                 } } ,
+            {
+              asn1 "Textseq-id.release" ,
+             label "release" ,
+             prefix " " ,
+              form
+                text { 
+                 } } ,
+            {
+              asn1 "Textseq-id.version" ,
+             label "." ,
+             prefix "" ,
+              form
+                text { 
+                   } } } } } } ,
+  {
+    name "StdPDBseqId" ,
+    format {
+      asn1 "PDB-seq-id" ,
+      label "PDB Id: " ,
+      form
+        block {
+          components {
+            {
+              asn1 "PDB-seq-id.mol" ,
+             label "molecule" ,
+             prefix " " ,
+             suffix ", " ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "PDB-mol-id" ,
+                      form
+                        text {
+                           } } } } } ,
+            {
+              asn1 "PDB-seq-id.chain" ,
+             label "chain" ,
+             prefix " " ,
+             suffix ", " ,
+              form
+                text { 
+                 } } ,
+            {
+              asn1 "PDB-seq-id.rel" ,
+             label "release" ,
+             prefix " " ,
+              form
+                user {
+                  printfunc "StdDatePrint" } } } } } } ,
+  {
+    name "StdEMBLseqId" ,
+    format {
+      asn1 "Textseq-id" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Textseq-id.name" ,
+             label "locus" ,
+             prefix " " ,
+             suffix ", " ,
+              form
+                text { 
+                 } } ,
+            {
+              asn1 "Textseq-id.accession" ,
+             label "accession" ,
+             prefix " " ,
+              form
+                text { 
+                 } } ,
+            {
+              asn1 "Textseq-id.release" ,
+             label "release" ,
+             prefix " " ,
+              form
+                text { 
+                 } } ,
+            {
+              asn1 "Textseq-id.version" ,
+             label "." ,
+             prefix "" ,
+             form
+                text { 
+                 } } ,
+                 } } } } ,
+  {
+    name "StdPIRseqId" ,
+    format {
+      asn1 "Textseq-id" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Textseq-id.name" ,
+             label "locus" ,
+             prefix " " ,
+             suffix "" ,
+              form
+                text { 
+                 } } ,
+            {
+              asn1 "Textseq-id.accession" ,
+             label " accession" ,
+             prefix " " ,
+              form
+                text { 
+                 } } ,
+                   } } } } ,
+  {
+    name "StdPRFseqId" ,
+    format {
+      asn1 "Textseq-id" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Textseq-id.name" ,
+             label "locus" ,
+             prefix " " ,
+             suffix "" ,
+              form
+                text { 
+                 } } ,
+            {
+              asn1 "Textseq-id.accession" ,
+             label " accession" ,
+             prefix " " ,
+              form
+                text { 
+                 } } ,
+                   } } } } ,
+  {
+    name "StdPDBseqId" ,
+    format {
+      asn1 "Textseq-id" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Textseq-id.name" ,
+             label "locus" ,
+             prefix " " ,
+             suffix "" ,
+              form
+                text { 
+                 } } ,
+            {
+              asn1 "Textseq-id.accession" ,
+             label " accession" ,
+             prefix " " ,
+              form
+                text { 
+                 } } ,
+                   } } } } ,
+  {
+    name "StdSPseqId" ,
+    format {
+      asn1 "Textseq-id" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Textseq-id.name" ,
+             label "locus" ,
+             prefix " " ,
+             suffix "," ,
+              form
+                text { 
+                 } } ,
+            {
+              asn1 "Textseq-id.accession" ,
+             label " accession" ,
+             prefix " " ,
+              form
+                text { 
+                 } } ,
+                   } } } } ,
+  {
+    name "StdLocalId" ,
+    format {
+      asn1 "Object-id" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Object-id.id" ,
+             prefix " " ,
+             suffix "" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Object-id.str" ,
+             prefix " " ,
+             suffix "" ,
+              form
+                text {
+                   } } } } } } ,
+  {
+    name "StdOtherId" ,
+    format {
+      asn1 "Textseq-id" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Textseq-id.name" ,
+             label "locus" ,
+             prefix " " ,
+             suffix "," ,
+              form
+                text { 
+                 } } ,
+            {
+              asn1 "Textseq-id.accession" ,
+             label " accession" ,
+             prefix " " ,
+              form
+                text { 
+                 } } ,
+                   } } } } ,
+  {
+    name "StdGPseqId" ,
+    format {
+      asn1 "Textseq-id" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Textseq-id.name" ,
+             label "locus" ,
+             prefix " " ,
+             suffix "," ,
+              form
+                text { 
+                 } } ,
+            {
+              asn1 "Textseq-id.accession" ,
+             label " accession" ,
+             prefix " " ,
+              form
+                text { 
+                 } } ,
+                   } } } } ,
+  {
+    name "StdSeqId" ,
+    format {
+      asn1 "Seq-id" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Seq-id.local" ,
+              form
+                use-template "StdObjectId" } ,
+            {
+              asn1 "Seq-id.genbank" ,
+              form
+                use-template "StdTextseqId" } ,
+            {
+              asn1 "Seq-id.embl" ,
+             label "embl" ,
+             prefix " " ,
+              form
+                use-template "StdEMBLseqId" } ,
+            {
+              asn1 "Seq-id.pir" ,
+             label "pir" ,
+             prefix " " ,
+              form
+                use-template "StdTextseqId" } ,
+            {
+              asn1 "Seq-id.swissprot" ,
+              form
+                use-template "StdTextseqId" } ,
+            {
+               asn1 "Seq-id.patent" ,
+               form
+                 use-template "StdPatentSeqId" } ,
+            {
+              asn1 "Seq-id.other" ,
+             label "REFSEQ:" ,
+             prefix " " ,
+              form
+                use-template "StdTextseqId" } ,
+            {
+              asn1 "Seq-id.general" ,
+              form
+                null NULL } ,
+            {
+               asn1 "Seq-id.gi" ,
+             label "gi:" ,
+             prefix " " ,
+              form
+               text {
+                         } } ,
+            {
+              asn1 "Seq-id.ddbj" ,
+              form
+                use-template "StdTextseqId" } ,
+            {
+              asn1 "Seq-id.prf" ,
+              form
+                use-template "StdTextseqId" } ,
+            {
+              asn1 "Seq-id.pdb" ,
+              form
+                use-template "StdPDBseqId" } ,
+                  } 
+                  } } } , 
+  {
+    name "VersionSeqId" ,
+    format {
+      asn1 "Seq-id" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Seq-id.local" ,
+              form
+                use-template "StdObjectId" } ,
+            {
+              asn1 "Seq-id.genbank" ,
+              form
+                use-template "VersionTextseqId" } ,
+            {
+              asn1 "Seq-id.embl" ,
+             label "embl" ,
+             prefix " " ,
+              form
+                use-template "StdEMBLseqId" } ,
+            {
+              asn1 "Seq-id.pir" ,
+             label "pir" ,
+             prefix " " ,
+              form
+                use-template "VersionTextseqId" } ,
+            {
+              asn1 "Seq-id.swissprot" ,
+              form
+                use-template "VersionTextseqId" } ,
+            {
+               asn1 "Seq-id.patent" ,
+               form
+                 use-template "StdPatentSeqId" } ,
+            {
+              asn1 "Seq-id.other" ,
+             label "REFSEQ:" ,
+             prefix " " ,
+              form
+                use-template "VersionTextseqId" } ,
+            {
+              asn1 "Seq-id.general" ,
+              form
+                null NULL } ,
+            {
+               asn1 "Seq-id.gi" ,
+             label "gi:" ,
+             prefix " " ,
+              form
+               text {
+                         } } ,
+            {
+              asn1 "Seq-id.ddbj" ,
+              form
+                use-template "VersionTextseqId" } ,
+            {
+              asn1 "Seq-id.prf" ,
+              form
+                use-template "VersionTextseqId" } ,
+            {
+              asn1 "Seq-id.pdb" ,
+              form
+                use-template "StdPDBseqId" } ,
+                  } 
+                  } } } }
diff --git a/websoft/data/blast/bstdt.val b/websoft/data/blast/bstdt.val
new file mode 100755 (executable)
index 0000000..0f841cb
Binary files /dev/null and b/websoft/data/blast/bstdt.val differ
diff --git a/websoft/data/blast/featdef.val b/websoft/data/blast/featdef.val
new file mode 100755 (executable)
index 0000000..9c57282
Binary files /dev/null and b/websoft/data/blast/featdef.val differ
diff --git a/websoft/data/blast/gc.val b/websoft/data/blast/gc.val
new file mode 100755 (executable)
index 0000000..84fa7f0
Binary files /dev/null and b/websoft/data/blast/gc.val differ
diff --git a/websoft/data/blast/humrep.fsa b/websoft/data/blast/humrep.fsa
new file mode 100755 (executable)
index 0000000..4559c38
--- /dev/null
@@ -0,0 +1,1070 @@
+>Alu  
+ggccgggcgcggtggctcacgcctgtaatcccagcactttgggaggccga
+ggcgggcggatcacctgaggtcaggagttcgagaccagcctggccaacat
+ggtgaaaccccgtctctactaaaaatacaaaaattagccgggcgtggtgg
+cgcgcgcctgtaatcccagctactcgggaggctgaggcaggagaatcgct
+tgaacccgggaggcggaggttgcagtgagccgagatcgcgccactgcact
+ccagcctgggcgacagagcgagactccgtctcaaaaaaaaaaaaaaaaaa
+>MIR  
+acagyayagcatagtggttaagagcacggrctctggagccagactgcctg
+ggttcgaatcccggctctgccacttactagctgtgtgaccttgggcaagt
+tacttaacctctctgtgcctcagtttcctcatctgtaaaatggggataat
+aatagtacctacctcatagggttgttgtgaggattaaatgagttaataya
+tgtaaagcgcttagaacagtgcctggcacatagtaagcgctcaataaatg
+ttrgytattatt
+>L1  
+ggcggtggagccaagatgaccgaataggaacagctccagtctatagctcc
+catcgtgagtgacgcagaagacgggtgatttctgcatttccaactgaggt
+accaggttcatctcacagggaagtgccaggcagtgggtgcaggacagtag
+tgcagtgcactgtgcatgagccgaagcagggcgaggcatcacctcacccg
+ggaagcacaaggggtcagggaattccctttcctagtcaaagaaaagggtg
+acagatggcacctggaaaatcgggtcactcccgccctaatactgcgctct
+tccaacaagcttaacaaatggcacaccaggagattatatcccatgcctgg
+ctcagagggtcctacgcccatggagcctcgctcattgctagcacagcagt
+ctgaggtcaaactgcaaggtggcagtgaggctgggggaggggtgcccacc
+attgtccaggcttgagcaggtaaacaaagccgcctggaagctcgaactgg
+gtggagcccaccacagctcaaggaggcctgcctgcctctgtaggctccac
+ctctaggggcagggcacagacaaacaaaagacaacaagaacctctgcaga
+cttaaatgtccctgtctgacagctttgaagagagtagtggttctcccagc
+acatagcttcagatctgagaacaggcagactgcctcctcaagtgggtccc
+tgacccccgagtagcctaactgggaggcatcccccagtagggcggactga
+cacctcacatggctggtactcctctaagacaaaacttccagaggaatgat
+caggcagcagcatttgcggttcaccaatatccactgttctgcagccaccg
+ctgctgatacccaggaaaacagcatctggagtggacctccagtaaactcc
+aacagacctgcagctgagggtcctgactgttagaaggaaaactaacaaac
+agaaaggacatccacaccaaaaacccatctgtacatcaccatcatcaaag
+accaaaggtagataaaaccataaagatggggaaaaagcagagcagaaaaa
+ctggacactctaaaaatgagagtgcctctccttctccaaagtaacgcagc
+tcctcaccagcaatggaacaaagctgggcagagaatgactttgacgagtt
+gagagaggaaggcttcagaagatcaaactactccaagctaaaggaggaag
+ttcgaacaaacggcaaagaagtaaaaaactttgaaaaaaaattagatgaa
+tggataactagaataaccaatgcacagaagtccttaaaggacctgatgga
+gctgaaaaccaaggcaggagaactacgtgacaaatacacaagcctcagta
+accgatgagatcaactggaagaaagggtatcaatgacggaagatgaaatg
+aatgaaatgaagcatgaagagaagtttagagaaaaaagaataaaaagaaa
+cgaacaaagcctccaagaaatatgggactatgtgaaaagaccaaatctac
+atctaattggtgtagctgaaagtgatggggagaatggaaccaagttggaa
+aacactctgcaggatattatccaggagaacttccccaatctagcaaggca
+gcccaaattcacattcaggaaatacagagaacgccacaaagatactccta
+gagaaaagcaactccaagacacataactgacagattcaccaaagttgaaa
+tgaaggaaaaaatgttaagggcagccagagagaaaggtcgggttacccac
+aaagggaagcccatcagactaacagctgatctatcggcagaaactctaca
+agccagaagaaagtgggggccaatattcaacattgttaaagaaaagaatt
+ttcggcccagaatttcatatccagccaaactaagcttcataagcattgga
+gaaataaaatcctttacagacaagcaaatgctgagagattttgtcaccac
+caggcctgccctacaagagctcctgaaggaagcactaaacatggaaagga
+acaactagtatcagccactgcaaaaacatgccaaattgtaaacgaccatc
+aaggctaggaagaaactgcatcaaggagcaaaataaccagctaacatcat
+aatgacaggatcaaattcatacataacaatactcaccttaaatgtaaata
+ggctaaatgctccaattaaaagacacagactggcaaattggataaggagt
+caagacccatctgtcgttatgtattcaggaaacccatctcacgtgcagag
+acacacataggctcgaaataaaaggatggaggaatatctaccaagcaaat
+ggaaaacaaaaaaaggcaggggttgcaatcctagtctctgataaaacaga
+ttttaaaccaacaaagatcaaaagagacaaagaaggccattacataatgg
+caaagggatctattcaagaagaagaactaactatactaaatatatatgca
+cccaatacaggagcacccagattcataaaacaagtcctgagtgacctaca
+aagagacttagatgcccacacaataataatgggagactttaacaccccac
+tgtcaacattagacagatcaacgagacagaaagttaacaaggatatccag
+gaattggactcagctctgcaccaagcagacctaatagacatctacagaac
+tctccaccccaaatcaacagaatatacattcttttcagcaccacaccaca
+cctattccaaaactgaccacatagttggaagtaaagctctcctcagcaaa
+tgtaaaagaacagaaactataacaaactgtctctcagaccacagtgcaat
+caaactagaactcaggattaagaaactcactcaaaaccactcagctacat
+ggaaactgaacagcctgctcctgaatgactactgggtacataacaaaatg
+aaggcagaaataaagatgttctttgaaacaacgagaacaaagacacaaca
+caccagaatctctgagacacattcaaagcagtgtgtagagggaaatttat
+agcactaaatgcccacaagggaaagcaggaaagatctaaaattgacaccc
+taacatcacaattaaaaaactagagaagcaggagcaaacacattcaaaag
+ctaacagaagacaagaaataactaagatcagagcagaagtgaagaagata
+gagacacaaaaaacccttcaaaaaaatcaatgaatccagaagctgttttt
+ttgaaaagatcaacaaaattgatagactgctagcaagactaataaagaag
+aaaggggagaagaatcaaatagacgcaataaaaaatgacacggggtatca
+ccactgatcccacagaaatacaaactaccgtcagagaatactataaacac
+ctctacgcaaataaactagaaaatctagaagaaatggataaattcctcga
+cacatacactctgccaagactaaaccaggaagaagttgtatctctgaata
+gaccaataacaggctctgaaattgaggcaataattaatagcttatcaacc
+aaaaaaagtccgggaccagtaggattcatagccgaattctaccagaggta
+caaggaggagctggtaccattccttctgaaactattccaatcaatagaaa
+aagagggaatcctccctaactcattttatgaggccagcatcatcctgata
+ccaaagcctgacagagacacaacaaaaaaagagaatgttacaccaatatc
+cttgatgaacatcgatgcaaaaatcctcaataaaatactggcaaactgaa
+tccagcagcacatcaaaaagcttatcctccatgatcaagtgggcttcatc
+cctgccatgcaaggctggttcaacatacgaaatcaataaacataatccag
+catataaacagaaccaaagacacaaaccatatgattatctcaatagatgc
+agaaaaggcctttgacaaaattcaacaatgcttcatgctaaaaactctca
+ataaattaggtattgatgggacatatctcaaaataataagagctatctat
+gacaaacccacagccaatatcatactgagtggacaaaaactggaagcatt
+ccctttgaaaactggcacaaggcagggatgccctctctcaccactcctat
+tcaacatagtgttggaagttctggccagggcaatcaggcaggagaaggaa
+ataaagggcattcaattaggaaaagaggaaggtgaaattgtccctgtttg
+cagatgacatgattgtatatctagaaaaccccattgtctcagcccaaaat
+ctccttaagctgataagcaacttcagcaaagtctcaggatataaaatcag
+tgtgcaaaaatcacaagtattcctatgcaccaataacagacaaacagaga
+gccaaatcatgagtgaactcccattcacaattgcttcaaagagaataaaa
+tacctaggaatccaacttacaagggatgtgaaggacctcttcaaggagaa
+ctacaaaccactgctcaatgaaataaaagaggatacaaacaaatggaaga
+acattccatgcttatgggtaggaagaatcatatcgtgaaaatggtcatac
+tgcccaaggtaatttatagattcaatgccatccccatcaagctaccaatg
+actttcttcacagaactggaaaaaactactttaaagttcatatggaatca
+aaaaagagcccacatcaccaaggcaatcctaagccaaaagaacaaagctg
+gaggcatcacgctacctgacttcaaactatactacaatgctacggtaacc
+aaaacagcatggtactggtaccaaaacagagatctagaccaatggaacag
+aacagagccctcagaaataatgccgcatatctacaactatccgatctttg
+acaaacctgagagaaacaagcaatggggaaaggattccctatttaataaa
+tggtgctgggaaaactggctagccatatgtagaaagctgaaactggatcc
+ttccttacaccttatacaaaaattaattcaagatggattaaagacttaaa
+cattagacctaaaaccataaaaaccctagaaaaaaacctaggcaatacca
+ttcaggacataggcatgggcaaggacttcatgtctaaaacaccaaaacga
+atggcaacaaaagacaaaatggacaaacgggatctaattaaactaaagag
+cttctgcacagctaaagaaactaccatcagagtgaacaggcaacctacaa
+aatgggagaaaatttttgcaatctactcatctgacaaagggctaatatcc
+agaatctacaatgaactcaaacaaatttacaagaaaaaacaaacaacccc
+atcaaaaagtgggcaaaggatatgaacagacacttctcaaaagaagacat
+ttatgtaatcaaaaaacacatgaaaaaatgctcatcatcactagccatca
+gagaaatgcaaatcaaaaccacaatgagataccatctcacaccagttaga
+atggcgatcattaaaaagtcaggaaacaacaggtgctggagaggatgtgg
+agaaacaggaacaacttttacactgttggtgggactgtaaactagttcaa
+ccattgcggaagtcagtgtggcaattcctcaggaatctagaactagaaat
+accatttgacccagccatcccattactgggtagatacccaaaggattata
+aatcatgctgctataaagacacatgcacacgtatgtttattgcagcacta
+ttcacaatagcaaagacttggaaccaacccaaatgtccaacaacgataga
+ttggattaagaaaatgtggcacatatacaccatggaatactatgcagcca
+taaaaaatgatgagttcatgtcctttgtagggacatggatgaagctggaa
+actatcattctcagcaaactatcacaaggacaataaaccaaacaccgcat
+gttctcactcataggtgggaattgaacaatgagaacacatggacacatga
+agaggaacatcacactctggggactgttatggggtggggggcaggggcag
+ggatagcactaggagatatacctaatgctaaatgacgagttaatgggtgc
+agcacaccaacatggcacatgtatacatatataacaaacctgccgttgtg
+cacatgtaccctaaaacttgaagtataataataaaaaaaa
+>THE1
+tgatatggtttggctgtgtccccacccaaatctcatcttgaattgtagct
+cccataattcccacgtgtcgtgggagggacccggtgggaggtaattgaat
+catgggggcgggtctttcccgtgctgttctcgtgatagtgaataagtctc
+acgagatctgatggttttataaaggggagttyccctgcacangctctctt
+gcctgccgccatgtaagacgtgmctttgctcctccttcgccttcygccat
+gattgtgaggcctccccagccatgtggaactgtgagtccattaaacctct
+ttyctttataaattacccagtctcgggtatgtctttattagcagcatgag
+aacggactaataca
+>MLT1
+tgtggtagccagcctccaagatggcccccaatgatccctgctcctggtat
+tcacayccttgtatggtcycytcctacattgaryyagggctrgtctgtgt
+gaccaatagaatagggcagaggtgatgaratrtcacgtgattacgcgtac
+gtgattatgtaasattcagtctttgmcgtcattcttgccgagagactctc
+ctsctggtyttgaagaagtaagctgccacgtcatgagnnnncnnannaga
+rygccgcaaggcaagggnntctagagctgagagtcgcccttactgatggg
+aagtccacgtggsaaggaactgaggtctcctgccaacagccagcttcgac
+ytgccagccatgtgagtgagccatcttggaagcggatcctccagccccag
+tyaagccttcagatgactgcagccccggctgacatcttgactgcaacctc
+atgagagaccctgagccagaactacccagctaagctgctcctarattcct
+gacccacatgtggtaggcwgaataatggctccccaaagatgtccacgtcc
+taatccccagaacctgtgaatatgttaccttacatggcaaaagggacttt
+gcagatgtgattaagttaaggatcttgagatggggagattatcctggatt
+atccgggtgggcccaatgtaatcacaagggtccttawaagagggaggcag
+agggtcagagtcagaagaaggagatgtgacgatggaagcagrragngaaa
+actcaacgttgctggctttgaagatggaggaaggggccatgagccaagga
+atgcgggcagcctctagaagctggaaaaggcaaggaaacggattctcccc
+tagagcctccagaargaacgcggccctgccgacaccttgattttagccca
+gtgagacycattttggacttctgacctccagaactgtaagataataaatt
+tgtgttgttttaagccactaagtttgtggtaatttgttacagcagcmaya
+ggaaactaataca
+>MSTAR  
+gaawattggtactgaggagtggagcattgctataaagatacctgaaaatg
+tggaagcgactttggaactgggtaacaggcagaggttggaagagtttgga
+gggctcagaagaagacaggaagatgagggaaagtttggaacttcttagag
+acttgttaaatggttgtgaccaaaatgctgatagtgatatggacagtaag
+ggccaggctgacgaggtctcagatggaaatgaggaacttattgggaactg
+gagcaaaggtcactcttgttatacattagcaaagagcttggctgcatttt
+gcccctgccctagagatttgtggaagtttgaacttgagagtgatgatcta
+gggtatctggcggaagaaatttctaagcagcaaagcgttcaagatgtgac
+ctggctgcttttaacagcttacagtcatatgcgagagcaaagaaatcact
+taaagttggaatttatatttaaaagggaagcagagcgtaaaagtttggaa
+aatttgcagcctggccatgtgatagaaaagaaaaacccgttttctggaga
+gaaattcaagcaggctgcggagcgaccgtttgctaaagagattagcataa
+ctaaaaggaagccaagtgctgatagccaagacaatgggaaaaaggcctcg
+aaggcatttcagaaatcttcgaggtggtccttcccatcacaggcccagag
+gcctaggaggactgaatggtttcgtgggccaggcccagggccccgctgcc
+ctgtgcagcctcgggacactgctccctgcatcccggctgctycggctcca
+gccgtggctcaaagggccccaggtacagctcgagctgccgcttcggagag
+tgcaagctataagccttggtggcttccacatggtgttaagcctgcaggtg
+cacagaatgcaagagtgaaggaggcttggcagcctccacctagatttcag
+aggatgtatgggaaatcctgggtgcccaggcagaagcctgctgcagggac
+ggagccctcacagagaacctctactagagcagtgccaaagggaaatgtgg
+ggttggagcccccacacagagtccccaccggggcactgcctagtggagct
+gtgggaagggggccactgtcctccagaccccagaatggtagagccactgg
+cagcgtgcaccgccagcctggaaaagccgcaggcatcagactccaacccg
+tgagagcagccacgtgggctgtgcccagcaaagccacaggggcggagctg
+cccaaggccttgggagcccacccctcgcaccagcgtgccctggatgcgag
+acacggagtcaaaggagattattttggagctttaagatttaatgactgcc
+ctgctgggtttcggacttgcgtggggcctgtagcccctttcttttggccc
+atttctcccttttggaatggaaatatttacccaatgcctgtaccaccatt
+gtatcttggaagtaaataacttctttttgattttacaggctcataggtgg
+aaggaacttgccttgtctcagatgagactttggactttggacttttgagt
+taatgctggaatgagttaagactttgggggactgttgggaaggcatgatt
+gtattttgcaatgtgagaaggacgtgagatttgggggaaccaggggcaga
+a
+>MLT2B2  
+tgtgatggttaattttatgtgtcaacttgactgggctaargggtgcccag
+atagctggttaaacattatttctgggtgtgtctgtgagggtgtttccaga
+tgagattagcatttgaatcagcggactgagtaaagaagattgccctcacc
+aatgtgggcgggcatcatccaatccgttgagggcctgratagaacaaaaa
+ggcagaggaagggtgaatttgctctctctccttgagctgggacatccatc
+ttctcctgcccttggacattagaactccaggttctcgggccttcggacty
+cgggacttgcaccagcagccccccagattctcaggccttcggactcggac
+tgaryyacgccaccggcttccctggttctccagcttgcagacggcatatc
+gtgggacttctcagcctccataatcacgtgagccaattcccctaataaat
+cycytctatccatcctattggttctgtctctctggagaaccctgactaat
+aca
+>LTR1  
+tgatatgggagtgctgggaagggaagagcgtggtccctttaaatgataca
+gaagggggaaaggaagtgctgtgtggaggaggatgtggtccctggctagt
+actccaaccacacagacctaggttaaggacaggcatttttgttgcatttc
+ccaagaccaccctggcctgccatgcccccatcctgtgcctataaaaaccc
+aagaccctaataaggcagagatagaagcagctggacgtcatgaggaacac
+atcagtggaagagcacacaagcggctagtcatcaagagctcaccagtgga
+agagcagcccgataggcactggcacgcaggcaggtaccggcatgccagca
+ggccatcgactggcaaaatgatgccgaatttggctggagtggtcagagaa
+gagccaggtcactgagctgccggactccaggggaaaaccatctcccttct
+ggctcccccatccactgagagctatttctactcaataaaaccttgcagtc
+attctccaggcccacatgtgatctgattcttctggtacatcaaggcaaga
+aaccccaggatacagaaagccctctgtccttgtgacaaggtagagggtct
+aactgagctggttaacacaagctgcctgtagatggcaaactaaaagagca
+ccttgtaacacatgcccactggagcttcaggagctgtaaacattcacccc
+tagacactgccatgggattggagccccacagcttgcctgtccaaatgctc
+ccctagaggtttgagcagcagggcactgaagaagtgagccacacccccat
+cacatcccctgtgaggggaacaagggaacctttcctatttca
+>LTR2  
+taaggaaggagaccacctctcccattgtctcctgtttcatgagaaagcaa
+aaagttaaaaaaagaagcagaagtgagatcaatggccagatggtttagtg
+ccaagaaccaggcctggtagttaaacatcaactcctgacctaaccgcttg
+tgctatccatagattccagatattgtatgaggaagacttgtgaaactttc
+tgttctgttctgctagcccccatcactgatgcatgtagctctcagtcatg
+tagcccccacttgcacaatgtatcatgaccctttcacgtggacccctcag
+agttgtaagctcttaaaagggacaggaatctttactttggggagctcgga
+tcttgagacgcgagtctaccaatgctcccagctgattaaagcctcttcct
+tcatagaaccggtgtctaagaggttttgtctgtgactgttcctgctaca
+>LTR3  
+gttggaggccgaaagaatagggtcgtgaccaactcagtataccactggag
+gctatatgagcaaacagcaaactgttctcatgaatgcaggatgctggcaa
+gctgacaactgcatctgccaccagaaggaatgctgagggcagtcataccc
+cacgtgcagtgttccttgtggttatctataggaatatctggaggctgttg
+tataaagaaagcaattatgtgagcccgtgataaatcaagcagctgaccaa
+ccattacctcttcctccctgttgattctacctaataaatacaaagggctg
+tagaagctcagggcccttgttccctagaagaaaggagccgcctgtctcct
+tctttaaaacagatctttttgtctttgtcttcatttctgcatttgttctc
+ttttgttcagtcccaaaccgacagccata
+>LTR4  
+gaagcaggaaatataaaaggaaaaacaagtaaagggaaaacaagtccttt
+cctgaccagtctgactcactccaaagtcctgctggagctatgataattat
+ctgcaaggccaggcaggggctccgaaggagggctccaggagcagggatga
+gaaaaacaagttctccttatcagtttccctgtttgaaattctctccccat
+aacattattctttgttctgctctcacaactatttttgtaactatttctgc
+aagtctgtaaagattttgtaagttcttgtttttctttctgtagcatggca
+aggtcacaagacatgtttaagtaaggtaggctcatgttgcaaatcctgtt
+gtaaaacctgtcacggtatgattaactgcctttgttctgcttctgtaaga
+ctgctttctcacctcgcaggttttgcgccaaaaacccgacttgcccctgc
+ctgatgcatgtataaaagtcaagcccgtctttgttccgggctcagccttt
+ggatgttaatccgctgggccagtggccacctaaataaaaccttcctgttg
+cacccagtgatctctccggcctcctgatacccacaaca
+>LTR5  
+tgtggggaaaagcaacagaggtcagattgttactgtgtctgtatagaaag
+aagtagacataggagactccattttgttctgtactaagaaaaattattct
+gccttgagatgctgttaatctatgaccttacccccaaccccgtgctctct
+gaaacatgtgctgtgtcaaactcagggttaaatggattaagggcggtgca
+agatgtgctttgttaaacagatgcttgaaggcagcatgctcattaagagt
+catcaccactccctaatctcaagtacccagggacacaaaaactgcggaag
+gctgcaggggcctctgcctaggaaagccaggtattgtccaaggtttctcc
+ccatgtgagagtctgaaatatggcctcgtgggaagggaaagacctgaccg
+tcccccagcccgacacccataaagggtctgtgctgaggaggattagtata
+agaggaaagcatgcctcttgcagttgagacaagaggaaggcatctgtttc
+ccacccatccttgggcaatggaatgtctcggtataaaacccgattgtacg
+ttccacctactgagatagggagaaaccaccttagggctggaggtgggaca
+tgcaggcagcaatactgctttgtaaagcattgagatgtttatgtgtatgc
+atatctaaaagcacagcatttaatcctttaccttgtctatgatgcaaaga
+cctttgttcacgtgtttgtctgctcaccctctccccactattgtcttgtg
+accctgacacatctccctctcagagaaacacccacgaatgatcaataaat
+actaaggggactcagaggctggtgggatcctccatatgctgaacgttggt
+tccccgggcccccttatttctttctctatactttgtctctgtgtcttttt
+cttttccaagtctctcattgcaccttacgagaaacacccacaggtgtgga
+ggggcaacccaccccttca
+>LTR6  
+tggccagattcctgcttagattcatcactcacatcaaaaaggccaacaga
+gcccaacaagaaacataggtccccaagcataggccaggccccttaaaact
+gtgcctaagtcgagtgaagcctttagattaattctttttatttatctctc
+ttgtttatttccacctgttatgccctccgtgccttcctattcttctcact
+tctttcacgacaggacgtgtatttgcaaacactacttggaaggcaagaac
+ctccaagaaagtctcttttgcagtcgatttatgtgctttgttcccagagc
+ctgcccataaccttgaagaacaatgcaacctgccggtcatagaagcgggg
+aacatcaaccttgctacagggttcggacacacaggaagccggactggatg
+taaaaactctaaaagtgaaaaaaaaaggactccagagcattgacttttac
+ctctgtcctaaaaatcaccctgactctagttgtcacgattcttaccaatt
+tttctgccctcactggttttgtgtgaccctagcca
+>LTR7  
+tgtcaggcctctgagcccaagctaagccatcacatcccctgtgactagca
+catatacgctcagatggcctgaagtaactgaagaatcacaaagaagtgaa
+aatgccctgccccaccttaactgatgacattccaccacaaaagaagtgaa
+aatggccggtccttgccttaagtgatgacattaccttgtaagagtccttt
+tcctggctcatcctagctcaaaaatctcccctactgagcaccctgcgacc
+cccactcctacccgccaaagaacaacccccctttgactgtaattgtcctt
+tacctacccaaatcctataaaacagccccacccctatctccctttgctga
+ctctcttttcggactcagcccgcctgcacccaggtgattaaaagctttat
+tgctcacacaaagcctgtttggtggtctcttcacacggacgcgcatgaaa
+>LTR8  
+tgaaaccgtctttgcaaaattataactgagatagtgaaagagatttaact
+taactgcttttatcttgcttttaacctttaagctgtccttgtttattcct
+gggtgtgggctgaactaacttttggagaaacttagtttatagtttatagt
+ttaaacaaagacagtaacagccctttcccaagcagacctccttcatgcct
+ggggactagattgcttctgtaggactaatgttagcgaccaaattaaaaat
+tatggtttaggagttatgcagtttgaggctacaaaattttaaccctctct
+aaactgctcctaagatcagtgcttgagatattttgcagaccctgcccttg
+acggatcagctggcaccaaccagatcaatcaactggctcatctgatcttg
+cggcccccacccaggaactgactcagcgcaaaaagacagcttcaacttcc
+tatgatttcatccctgaccaatcaacactcctggctcactggcttccccc
+cacccaccaagttatccttaaaaactctgattcctgaatgctcagggaga
+ctgattggagtaacaataaaactccagtctcccacacagacggctctgtg
+tgaattactctttctccattgcaattcccctgtcttgttgaatcggctct
+gtccaggtagtgtgcaaggtgaaccccttgggtggttaca
+>LTR9  
+aaagaataaatcactgatataagagttaagaaaaaatcacttaggcagag
+agcaagggtatgggagtcctcagtaaggcttttatttttaatgaaaagca
+gccccaaatcattttctaacaaaaagcaccctgcaagctggaagtttgca
+caggtggatgctggcaggaactaaggattagatatgttcaagatggtggt
+tccatcttcccttctttgccagccaggtgtactgtaaaggagcagacaag
+atggcgctaatcaactggaaagcccagttgcataaaaagattaggcttcc
+ctgcgcaccatgcaaacgtcatatctgatcaaaccaatctatgagctcta
+tgtaaatcagacaccacttcctcaaactggactataaaactcgatggatt
+caccaccagctggtcttttccgcttggagaccccttcctctatagaggaa
+gctgtttctctttgtcttctctcctacccattaaacctctgctcctaaac
+tcctcatgtgtgtccatatcctaaattttcctggcacgtgacaacaaacc
+ccagtgtatacacaccccagacaacatagccacttcaaaatgggggctcg
+tctgggat
+>LTR10  
+tgttgtaaataaatttttggtgctgcaaaagaaataccactcaaacataa
+gtttaattttctcagcaaggcaattttacttctctagaagggtgcgactc
+gcagatggagcaatggccagagcacacctgaacaagggaggggaaggggt
+tctgattcctgacacaggtagcccctactgatgcgtcgttcccgtatcgg
+ctagggttggactgcacagtctaagctaattccgattggctactttaaag
+agagcaggggtatgagccagagtggcggggtgagtagtttggtgggaagg
+gtggtt
+>LTR11  
+tgtgtttctgcaggatgtacagccctcccagcacggtgctcgcttcccta
+atgccattccacagtatttgttgcagagaaggaaggcagcatgccaggac
+agatggagacaggactaatttggcctgaggtatgtaattttgaacttgag
+cctctctctgggactgtaaaactccaaatcaaagctaatctgagaataca
+tacatctgaaagatgattaggactgtaaacatctattaatattcaactct
+gatacaaagtacaagttgtttattcttaccacgcaaggccaaaaaagggg
+agaaaaaaaaaaaagcacacagcatatgcactggaaagtttcgcttattc
+aaaacagtatttgtcaagcacctccagtctggtgctgcaggggaaacaaa
+gattaaacagccaggcggacactgctctgcttccaaggtgcttacggtct
+taagaaggagacaagacatgtttataaatagccaaaatgcaacccagaaa
+aggctaaaaaacactgagagggagggagaaataaacgaagcaagaggtct
+ccggaggaagagatgaatgaattagcctattaataactccgtcactgtaa
+tcccaatgtaaagcaagaattccaaaccaggaaaggtcaaactgaagtat
+ttgaggaacacaggcgtcgcctaagcccttcaca
+>LTR12  
+tgtatctagttaatctggtggggagttggagaatctttatgtctagctaa
+gggattgtaaatacaccaatcagcactctgtatctagctcaaggtttgta
+aacacaccaatcagaaccctgtgtctagctcagggtttgtgaatgcacca
+atcagcactctgtatctagttaatctggtggggacttggagaatctttat
+gtctagctaagggattgtgaatgcaccaatcggcactctgtatctagctc
+aaggttgtaaatggaccaatcagcactctatgtctagctcagtgtttgta
+aatacaccaatcgacactctatctagctaatctagtggggacgtggagaa
+cttttgtgtctaactcagggatgtaaatgcaccaatcagaaccctgtcaa
+aatggaccaatagctctctgtaaaacagactgactttctgtaaaatggac
+caatcagcaggatgtgggtggggccagataagagaagaaaagcaggctgc
+ctgagccagcagtggcaacccgcttgggtccccttccacactgtggaagc
+tttgttctttcgctctttgcaataaatcttgctgctgctcactctttggg
+tccacactgcctttatgagctgtaacactcaccgcgaaggtctgcagctt
+catctgaagcagcgagacacgaacccaccaggaggaacaaacaactccga
+tgcgctgccttaagagctgtaacaccgcgaggtctcgagcttcactcctg
+agccagcaagaccacaaacccaccagaaggaagaaactcaggaaaacagc
+cgaacatcagaaggaataaactctggacacaccacctttaagaactgtga
+cactcgctgcgagcgtctgtggcttca
+>LTR13  
+tgtgggccgcaagccagggagctgcccaggcaagagcctgaaggcacaag
+ctgttccagtacagcaaagaaaataattagaataagaaaagttttactag
+agataggaaacggataggattatatctgactattattaatcattagtttg
+tagcatcactctttgttctattaccataatgatctctgttctattatgat
+taccttgggggaaaccaggccacacagagttaggagctgaagggccacag
+tgagaggtgaccagaagacgagagtgtgagccctcattcacgcccagaga
+agggccgctggagggctccttggcctagcggtaatgccagtgcctgggaa
+ggccctggttacttagcaggccttggtctagcggtggccccagtgcctgg
+gaaggcacccgttacttagcagacccggaaaggaatctccctctctccag
+gggagacagagaacgctccgctccaccacctcttgtgggaggtctgacat
+tagccaggccgggccgagtcatccggaggctccaacgtctgtctccctgt
+gatgctgtgcttcagtggtcacgctccttgttcactttcatgttcagcct
+gtgcacctggctcctccttttaagttcttagaagacagcagtagcagaac
+tagtaggagtaccacagtcttcgatctttctgataagtgcatagaagaaa
+cgctgacgtttgctgtcctccctctccacctcggctaccacaaagggaaa
+ggccccctgtccagtggacacgtgactcgcgtgacctatcgatcattgga
+gatgactggcactccttaccctgcccccttgccttgactacaataaatag
+cagcgcctccaggcactcggggccactacctgtctgtctccgcgctttgg
+tggcagtggtcccccgggcccagctgtctttcttcctatctctttgtctt
+ctgtctttatctcttcgatctctcgtctccgcacacacgcgaagagaaaa
+cccacagacccggtaggggtggaccctaca
+>MER1 
+caggggtccccaacccccgggccacggaccggtaccggtccgtggcctgt
+taggaaccgggctgcacagcaggaggtgagcggcgggcgagtgagcgaag
+cttcatctgtakttacagccgctccccatcactcgcattaccgcctgagc
+tccacctcctgtcagatcagcggtggcactagattctcataggagcgcga
+accctattgtgaactgcgcatgcgagggatctaggttgcgcgctccttat
+gagaatctaatgcctgatgatctgtcgctgtctcccatcacccccagatg
+ggaccgtctagttgcaggaaaacaagctcagggctcccactgattctaca
+ttatggtgagttgtrtaattatttcattatatattacaatgtaataataa
+tagaaataaagtgcacaataaatgtaatgcacttgaatcatcccgaaacc
+atcccccccccctggtccgtggaaaaattgtcttccacgaaaccggtccc
+tggtgccaaaaaggttggggaccactg
+>MER2  
+cagtcgyccctccgtatccgtgygttccacatccgtggattcaaccaacc
+gcggatcgaaaatattcaggyaaaaaattgyatggttgcgtctgtactga
+acatgtacagacttttttncttgtcattattccctaaacaatacagtata
+acaactatttacatagcatttacattgtattaggtattataagtaatcta
+gagatgatttaaagtatacgggaggatgtgcgtaggttatatgcaaatac
+tacgccattttatatcagggacttgagcatccgcggattttggtatctgc
+ggggggtcctggaaccaatcccccacggataccgagggatyactg
+>MER3  
+cagcgctgtccaatagaactttctgtggtgatggaaatgttctatatctg
+cgctgtccaatacggtagccactagccacatgtggctaytgagcacttga
+aatgtggytagtgcgactgaggaactgaatttttaattttatttaatttt
+aattaatttaaatttaaatagccacatgtggctagtggctaccatattgg
+acagcgcag
+>MER4
+gttrgngttrgngattgcnnntgtgaaaggaaaataaatctcgggrcccc
+maaatcactaagccaaagggaaaagtcaagctgggaactgcgtyaggcaa
+acctgcctcccattttattcctaaataagatagctacaaagataaaaggc
+tacatacctctctcacaatttycyacaaggaaattccttgcggacctcaa
+gatctttaccctaaaacagttctgytgamyttcaccttggcawtgyaaat
+ggrtacaggacaaaggtacagaactgaaagtcatccctctgctcacctga
+gacaaatgcatatctgattgcttcctctgccctattgtttatgtaaaaat
+gcagattcactgagccagactmaattgtgtattcagtgaaargctgatca
+rrgactcaaaagaatgmagccwtttgtctcttatctacctatgacctgga
+agcccctrcttcgagttgtcccgcctttccagaccgaaccaatgtacatc
+ttacatatattgattgatgtctcatgtctccctaaaatgtataaaascaa
+gctgtrccccgaccaccttgggcacatgtcgtcaggacctcctgaggctg
+tgtcacgggtgcgtccttaaccttggcaaaataaactttctaaattgayt
+gagacctgtctcagatacttttgggttcaca
+>MER5 
+cagtggttctcaaagtgtggtccccggaccagcagcatcagcatcacctg
+ggaacttgttagaaatgcagattctcgggccccaccccagacctactgaa
+tcagaaactctgggrgtggggcccagcaatctgtgttttaacaagcyctc
+caggtgattctgatgcatgctcaagtttgagaaccactg
+>MER6  
+cagcaggtcctcgaataacgccgtttcattcaacgtcgtttcgttataac
+gytgatgagraaaaaaatcgattcccggccggggccactgtctgtgtgga
+gtttgcacgttctccccatgtctgcgtgggttttctccaggtactccggt
+ttcctyccacatcccaaagatgtgcacgttaggttcaytggcgtgtctac
+atggtcccagtctgagtgagtgtgnntgtgtgtgtgagtgtgccctgcga
+tgggatggcgtcctgtccagggntggytcccgccttgcgccctgagctgc
+cgggataggctctggccacccgtgaccctgaamtggaataagtgnrttgr
+aaaatgaatraatgaatgartacgaattattataaaataaaaatttgtaa
+agtctatgntaatcttacacatacatgacaatacatgaaatggtaagaaa
+gtgatcagtgagcctgccatatatgttattgcttgtttctgaactgagtg
+gtgggaggaggtgttcctaacaatgttcactttgcagacatttatttctt
+tatttaatccattatcactatgaccactgtcattcagtkattcwccaaaa
+attgggtaaataattatcwtryttgtttttattaatctttcttaaatgta
+tgtatagctcacatttatttcagtgtttaatattagaagtgttttgggtc
+tttatttagaagtttggtgatgtttttgtgaccagaaatatgccatagga
+acttaactcttgtttatatcaattagcctrtggtaaaattggtttcgtta
+tacgtcgtttcacttaaagtcgcagtttccaagaacctatcaacgacgtt
+aagtgaggacttactg
+>MER7
+cagtcatgcgtcgcttaacgacggggatacgttctgagaaatgcgtcatt
+aggcaatttcgttgtgcgaacatcatagagtgtacttacacaaacctaga
+tggtatagcctactacacacctaggctatrtggtatagcctattgctcct
+aggctacaaacctgtacagcatgttactgtactgaatactgtaggcaatt
+gtaacacaatggtaagtatttgtgtatctaaacatagaaaaggtacagta
+aaaatacggtataaaagataaaaaatggtacacctgtatagrgcacttac
+catgaatggagcttgcaggactggaagttgctctgggtgagtcagtgagt
+gagtggtgagtgaatgtgaaggcctaggacattactgtacactactgtag
+actttataaacactgtacacttaggctatactaawtttatwwwwwwwwww
+wwwytttttcagcaataaattaaccatagcttactgtaacttttttactt
+tataaacttttgcatttttaacttttgactcttttgtaataacacttagc
+ttaaaacacaaacacattgtacagctgtacaaaaatattttctttcttta
+tatccttattctataagcttttttctatttwwaaatttttwattttttta
+ttttttaaaanatttttgttaaaaactaagacacaaacacacacattagc
+ctaggcctacacagggtcaggatcatyaatatcactgtcttccgcctcca
+cattttgtcccactggaaggtcttcaggggcaataacatgcatggagctg
+tcatctcctatgataacgatgcyttcttctggaatatctcctgaaggacc
+tgcctgagnctgttttacagttaacttttttttttaataagtagaaggag
+tayactctaaaataataataaaaagtatagtatagtaaatacataaacca
+gtaacatagtcatttattatcactatcaagtattatgtactgtacataat
+tgtatgtgctatacttttatacaactggcagcgcagtaggtttgtttaca
+ccagcatcgccacaaacgcgtgagtamtgagtratatgttgcactacaac
+gtcactaggcgataggaatttttcagctccattataatcttatgggacca
+ccgtcgtatatgtggtccatcgttgaccgaaacgtcgttatgcagcgcat
+gactg
+>MER8
+cagttgtccctctgtatanncgggggattggttccaggacccytgtgtat
+acmaaaatccgcgcatactcaagtcccgaagtcggccctgcggaacccac
+gnatatgaaaagtcggccctccatatatacgggtttcgcatcccgcgaat
+actgtattttcaatccgcgtttgattgaaaaaaatccgcgtataagtgga
+cccacgcagttcaaacccgtgttgttcaagggtcaactg
+>MER9  
+tgcgagaccagctcgactggggacagcctaacccagtggcactagaggaa
+ttaaagacacacacacagaaatatagaggtgtaaagtgggaaatcagggc
+ctcacagccttcagagctgagagccccaaacagagattacccatgtattt
+attaacagcaagccagtcattagcattgtttctatagatactcgattaac
+taaaagtatcccttatgggaaaagaagggatgggccgaaatgaaggggtg
+ggtctggctagttatctgcagcaggaacatgcccttaaggcacagattgc
+tcatgctattgttcatggtttaagaacgcctttaagcggttttccgacct
+gggtgggccaggtgttccttgtcctcattccagtaaacccacaaccttcc
+agcgtgggcgttanggccatcatgaacatgtcacagtgctgcagagattt
+tgtttatggccagttttggggccagtttatggccagatttgggggggcct
+gttcccaaca
+>MER11A  
+aggtgttgcgggaagtcagggaccccgaatgragggaccggctgragcca
+tggcagargaacgtrrattgtgaagatttcatggacatttatcggttccc
+aaattaatacttttataatttcttatgcctgtctttactttaatctctta
+atcctgttatcttcgtaagctgaggatgtatgtcacctcaggaccactgt
+gataattgtgttaactgtacaaattgattgtaaaacgtgtgtttgaacaa
+tatgaaatcagtgcaccttgaaaaagaacagaataacagcratttttagg
+gaacaagggaagacaaccataaggtctgactgcctgcagggtcgggcaaa
+aagagccatatttttcttcttgcagagagcctataaatggacatgcaagt
+agggaagatatcgctaaattcttttcctagcaaggaatattaatattaat
+accctgggaaaggaatgcattcctggggggaggtctataaacggccgctc
+tgggaatgtctgtcttatgtggttgagataaggactgagatacgccctgg
+tctcctgcagtaccctcaggcttactagggtggggaaaaactccaccctg
+gtaaatttgtggtcagaccggttctctgctctcgaaccctgttttctgtt
+gtttaagatgtttatcaagataatatgtgcaccgctgaacatagaccctt
+atcagtagttctgtttttgccctttgccttgtgatctttgttggaccctt
+atcagtggttctgcttttgccctttgtcctgttccctcagaagcatgtga
+tctttgttagacccttattagtagttctgctttttgccctttgaagcatg
+tgatctttgtacccactccctgttcttacaccccctccccttttgaaacc
+cttaataaaaaacttgctggtttgaggctcaggtgggcatcacagtccta
+ccgatatgtgatgtcacccccggcggcccagctgtaaaattcctctcttt
+atactgtctctctttatttctcagccggccgacacttagggaaaatagaa
+agaacctacgttgaaatattgggggcgggttcccccgatactaattntct
+t
+>MER20  
+cagtggttctcaaccgggggtgattttgccccccaggggacatttggcaa
+tgtctggagacatttttggttgtcacaactggggggggggratgctactg
+gcatctagtgggtagaggccagggatgctgctaaacatcctacaatgcac
+aggacagcccccacaacaaagaattatccggcccaaaatgtcgatagtgc
+caaggttgagaaaccctg
+>MER21  
+gccctyctrttkcagraaaacctctctcaaaccatgttttycctctgcts
+tcataccacgacaacagtcgtcaacacagaagacttctgtgaccaaatgt
+gtggaggattttccccacacaccaagcagcagacaccagctgggcgtcct
+ccaaytcagttccgacactgtctacctggagatagcgtcagatcccacag
+gttgaggtctcagtccccaagactgnccccaccttcagayacagttgcaa
+gyccgggyctctggaacttctgaccaactggcttcaarttggggttccca
+cgacacctctttaggttcgaytaatttgctagagtggytcacaaaactca
+rrgaaacacttattawgtttactggtttattaatagatgatatttcaaag
+gatacagatgaagagatacatacggggcggtctggaagrkcccagcgcag
+gagcttccgtcytgatagrrttggggttacaccctccagattcttcacct
+tctgtyagcctccacgtgttcagctctccagaagctcyctgaaccctgtc
+ctttgggccttttatggagayctcattggntgtccatgactgaagcatgg
+acgaytgnnawaatgtgattggrcaaaaagggtctgatctaatcccagca
+aggyctgtccagattcttcttggtctctttgtgcagcattccttcctcca
+gggtatggggcaggaccycctctggaatgagggtcttacgacccacaatc
+agattatagagtcctgccttgggcggmtgaaargaggrcargagaaggyc
+agagaratattctgtttcctgaggcctaaagcacctctacattatagcga
+aagactgtaaccatggtcatgtgagttatggacaagaaccatggacaaaa
+acacatatacaatcatatcccacctcccaacgc
+>MER22  
+gagctctgggcttccatacctgtgtgggacagggaagctctctcggtctc
+catggcccaagtgatggctgcacgctcggtccaggaagaggcggaggaag
+cccaccgctcctgacattggccttctaggaaaggcggtgttgcatcccac
+ctgcacttcctctctgattcttgagggccaaccgcttcctccgctcctgg
+ggaaagtgccttctagcaccgaatcttttggctgccacggatgtcaggga
+gccaacgggactgggttttggctgggtgcaggggaggttgcgtcaggggt
+actagccggcggcgggctgggggtggggtgtactttgtccaaactcccgg
+ctcctctggcgggcctccctgaacgtggcgtggactcgcgcacaggccct
+gtctcgcaggttttcaggtgcgcttggcttttcctccgctttgtggggca
+ggtctccagtgcccccggcgcacgcctggacatcactgtccgtctcgtcg
+tcgcccctacggcctcaaagacacacgctgcctgcatgtgctcttggggg
+acgacagtgcacatgtggacacactggctccagctcggactcgcctctgt
+ctctctttgcccgtgtcgccggaagccgcctcgggttgccggagccctcg
+ggccttggagatgaaggcaggcccctgctcctgccaggaaggagggaggc
+agtgggctcatgggtcggtgcctttgcagccgacagcacgtgcggccctg
+gggatcttcctgtgccccggcgagaccctttccgcctcactgcattggaa
+ccccattcccgatcacccgctgggatccatcatcggactccaagaggagt
+ccgcgcagccagccggcaccccgaagctcctccttcagcgggaaccgaag
+cagaagagcgatcaaggaggtcctcaccacaggactcctatgggtccgac
+cctgggtctcccgcaggcccctctggcagtcctcttcccacccgccgcct
+cggcttcgccgccgccgccgcaacctccagcaccgccccccaggccccgc
+agccgccgtcgccgccattttttaaagggtcgcagcctgactctgcggag
+taagggggggtggagcgggggagtcgctcgccagcatgcgcgagcccgag
+ccgccgcttgggtcacagtgaaagccaccgttgcccggggatgggtccct
+gacacttggggaagtaggagccctgtgtgatcgtgcgtctgagtctgggc
+tgagaccagtcctggccagggcagttaccaggacggtctcggaggccggg
+attcgcggagggtccagcagcaggaagaaaccccaggaggaagaaacctc
+agacagatcgccggcgaggcagcgcgggatcccagcctcaggcgtgcgcg
+gacggtgtgcgggtgagtctccccaaaagtggagcccttgtgatgacgag
+cacaggtccgcctgcgtgcccgtgggcggctctctcaccggtggctctca
+gtcgcggagagcagaacccgcagcttcaggggctgctgcgggagggtgtt
+ccctgctgtacgt
+>MER25  
+acaaantagggaaaaatggcggataggaggcaggactaaattgcagctcc
+cactcggatggacagagcagcatgtggagactcacatcgtgaacttttgc
+tccaagaaccaccgcaggaatataycaagaaagccgagagaatycacaga
+ccctctgaaggaagcagattgctcctgcargayccaggaaacggcccaaa
+aactgtgagtgcccaaagtgtgagaagggraaaatctgcccccgaacaca
+catcctyactggggaacctgaagatccagatcacaggagaaggatttgac
+cttacctggagctgagacaatttagagggccgagcaaaatacaggggtag
+aggaagcagcgggaaaagccccgtgggcactcccagtcyyyagnnaarcc
+cagggaagccatttctgacttatctcacaggggtcccttgggagggcagc
+cggaggaactgggaaagggscacagggaaaagaaaacctccagctgaact
+ttgtaataattccgaccgakagagaaatttcctggccagaactmagggca
+gggcgrcgkaagtgctggtgggagaccagaagtgctgttgggggggacac
+ggtrggagtgagacytgccttttgagctgcatgggagctgggtgaggcct
+gtnactgccagctttcccccacttycctggtgacctgcatgacacagaag
+aggcagccataatccccctgggaacgtaactccattrgcctgggaactac
+acccccatccctcacagtagccgcagcaagccccgcccaaggagactctg
+agctcagacatgcctaaccctgcccccacctgatggtctttctctaccca
+ccctggtagccgaagacaaaagacataawctcttgggagctctayggccc
+cacccatcgcctgagaaacwgaaatayttaycywggcmamcttagggcaa
+gcttrtatccwccctatactrtcgcagctgatgccctcttgaaagcgcca
+cctcttggctggaggccaaccaactcaagacattacagcaaytcayraca
+gaataaccctgcccctarrraaggagaaaacgacagctatcaccactgcc
+tgcaacatcctggctaaccagaggtcctgagtctgtccacgtgayaastt
+cactrctakyataaccagcattcgagaaarccagcacactaagtctatct
+acaaccaaggaatctcacagagtctayttcactcccctgccacctccatc
+agagctggtgctggtattcaccgctgrgagacttgaagacaggtcacatc
+acwggatycyttgcagacattccccagyaccagcccggagtctggtagct
+ccactgggtggctagayccagaagagcaataacgatcactgyagtccggc
+tctcaggaagtcccattcctaggrgaagggggagagcaccacatcaaggg
+aacaccctgtgggacaaaagaatctgaacggcagsccttgagtcccagat
+cttycctctgacatagcctacccaaatgagaaggaaccagaaaaayaatt
+ctggtaatatgacaaaacaaggttctttaacacccccaaaaratcacact
+agctcaccagcaatggatccaaaccaagaagaaatcyctgaattgccaga
+aaaagaattcagaaggtcgattattaagctactcaaggaggcaccgagga
+aggtgaanaccaacttaaagaaanttanaatataatacaggatatgaatg
+raraaatctycagwgaaanagatagcataaakaaaaaacaatcamaactt
+cwggaaatcgaagyacacttatagaaatgcgaaatgcwctggaaagtctc
+arcaatagaatngaacaagcagaagaaagaacttcagagctcgaagacaa
+ggytttcaaattaacccaatccgacaaagacaaagaaaaaagaataagaa
+aatatgaacaaagcctccaagaagtctgggattatgttaaacgaccaaac
+ctaagaataatcggcgttcctgagnaagaagagaaatctaaaagtttgga
+aaacttattcgnggaaataatcgaggaaaacttccccgrcsttgctarag
+ayctagayatccaamtacaaagaagctcwawraaca
+>MER30  
+caggggtgtccaatcttttggcttccctgggccacactggaagaagaaga
+attgtcttgggccacacataaaatacactaacactaacgatagctgatga
+gctwaaaaaaaaaaaamaatcccamaaaaatctcataatgttttaagaaa
+gtttacgaatttgtgttgggccgcattcaaagccatcctgggccgcgtgc
+ggcccgcgggccgcgggttggacaagcttg
+>MER31  
+caccctgcgtatctgaycaggttcctcartctccgccgtcccccaggtaa
+tgtttgrtcacctggcctgccttcagctagaatcctrttaggtcagttta
+gcagaatctccttactcctgatgtttcctcttrgtaattttccatccact
+gcccccgyactctgctcyttggctataaatccccacttgtccttgctrta
+ttcggagttgagyccaatctctctcccctaccgyaagacyccattgcagt
+ggtccctgtayctrtcgnratggtcctgaataaagtctkccttaccatgc
+tttaacaagtrtyattgaawaatttttttt
+>MER33  
+ctgcgctgtccaatacggtagccactagccacatgtggctattgagcact
+tgaaatgtggctagtccaaattgagatrtgctgtaagtrtaaaatataca
+ccagatttcaaagacttagtacgaaaaaaagaatgtaaaatatctcatta
+ataatttttatattgattacatgttraaatgataatattttggatatatt
+rggttaaataaaatatattattaaaattaatttcacctgtttctttttac
+ttttattaatgtggctactagaaaatttaaaattacatatgtggctcgca
+ttrtatttctattggacaacgctg
+>MER34  
+taggggagtgagagatcacctccaaccctccctcccctttgctcttatgt
+gggctctttggtgaatctaggaaccaaattgacacaaggcagattaacaa
+gagaaaagcatacaaatttcattagttttacatgtgcataggaaycctca
+caaaagtcaagyccagagaagcggccaaagtaagatgcytttatactttt
+tnnacaaagnacaataarytnnrraartgtcagaagaaaggggatctggc
+taggggcagtaaatttctcgcggagtcattaggagaaaagtgtgtgtgtt
+ggggtgtaaacttagtggaagataacggttacttcggaaagtatattcag
+gtccaaagcagcccccagtttcgtctctggtgataggtgctattttctcc
+ctctggtaagggacgggtactccagaggaatcctggaggaagctttatgc
+gcttgctgcatgcaggaagagataggtcatcaaaccttttctgaaactac
+aatttctccaatattttcaactcgaaataatcaatgtaccaattccatat
+atttttgggatggcacatccatcagtccttc
+>MER35  
+gatgtggcgtttgagtggacacgggggaagaaacaagtaatatgaataac
+atggtgagacagaaagagttgtggacagagctgtgggaaatatgagagat
+aaggagagagatactgaaaagagcgttaagagagatgaagatagggtgtc
+tggcccatgaaggccctcgtgaagagcaatgctgaatagatgaatgaacc
+tcaatgcccagcagtggtgggatgaaaaggggatcctgtgcagaaaccac
+actacccatcagagaagcaactctgctcgtttccccttga
+>MER39  
+gggcattannnctgtaggggcagaaaggtgtgatnccttccctacccatc
+ataagggtcacggcnnacactcctataataaaanayaggttagcaagaga
+aaagcataayagatttatttaatcaaagttttatgtgacatgrgagcctt
+cagaaatgaagacmcaaakactcagggaaaactctatttttatgyttaga
+tttgatgaagaatgganagctgcgcagaaatgtgattrgacaaaaggggw
+atgatctaatggtmataractgrgtgtggraacccagcaaggcttgtctg
+ttcgtattcttcttggtctmtctgtgcggcattccttcctcccgggtata
+gggcgggaccccttctggaatgagggtcttatgacctacwatcagacgag
+ataggtcagawaatttctttacggscagcycyaagacagaaaggcgggkr
+awgattagagggcnagagaaggtcagaaaatgannttctgtttyctgagg
+nctgcttctgaggcttagagcgccccaacattntaacaaaagnctgtccn
+tcacctttaccgctctgaagctgttccaaagctgctacatgaaccaagga
+caaaaagccanatanttcaacaaaagatatncttatngttttagtcactc
+aggaaacagcaaggcttataggagctgagaacccggaattatg
+>MER41  
+aacctgccaagaacagaaactggcagaatctgtcacaagaaaaagtccca
+atcagacttcaagagagggttcttggatcttgtgcaagaaagaattcatg
+gggagtctgagtaaagtgaaagcaagtttattaagaaagaggaataagag
+aatggctactccaaagacagagcagccctgagggctgctggttgcctatt
+tttatggttatttcttgattatatgctaagcaaggggtgcattatttaag
+cctcccctttttaggccatatggggttatatcctgatgttactatggcat
+ttgtaaactattatggtgctggtgggagtgtagcagtgaggacgaccagc
+agtcactcccatggccatattggttttggtgggttttagccggcttcttt
+ctgcaacctgttttatcagcaaggttttaaggacctgtatcttgtgctga
+cctcttatctcatcctgtgacttagaatgccttaactgtctgaggatgca
+gcccagtaggtttcagccttattttactcagctcctattcaggatgaagt
+tgctctagttcatatgtcttagacatttcctccttcccttt
+>MER42 
+atgtayagkaggattgatcaaataagtaaacgtattnaagataatgggag
+ccaggtttctcactgtcggagaagggagttacaaatatggaaagggrgaa
+grctagaatgaaccctgtggtattrgattrgaattggaggtatcagtrtg
+aactcatgrtttttaatatayryryryryrtttttcctagtcctgtccac
+tgagagggcctagaagcaacgacaccccagtagcaacgagcacacctagc
+acccagatcttggtttctaaataccattctccactaaaaggaaccagggc
+tccttggagaaatggctgattctaggactagggcaggaaatgtacaagat
+gagcctggaacatcttgttrtgccagaaaataaggaagtgctcaaaaaac
+gatrrgggcatrtcaaaaggacacagaagccagcttgaaggggctcccac
+tggccaaatctgggacaatttgagcatcaaaataaataatrgtagtaatg
+gattataactcattgaataaaataaatatccatgagttcatactaatata
+aataaatgaataaaawaaataaatgagaarggaaagctcttcttacagtn
+gaatgccaantaataaatntagaargaataataatagaaaaatcaccatt
+aggcaaayaccgcagtaataactgtttyaggcaagatccatcgatagatg
+ctmtaattagtgggcgaaartttgatgagaaacggratatttgcatagtc
+tcaaagtatctcctcacaagatatttattaattacaaagggaaaaayagt
+gactttacagtagagaaacctggcagacaccaccttaaccaagtgatcaa
+rgttancatcaccaaaaatgagacaaaytgacatcatgcgcyncctgatr
+tgatgcgccgagaagaacaacatsgcttctgtgatattcctgccaaagat
+gcataacctgaatctaatcatragaaaatatcagacaaacccaaattgag
+ggacaktctacaaaataactggnctgtactcatcaaaartgtcaaggtca
+taaaagacaargaaagactgaggaactttctacntttgacggaagactag
+arncatgacaactaaatgcaacgcgggattctgrantggatcctggrtcg
+agaaatagtgggagtttktayctataaaggacattattgggacanttgrc
+gaaatttgaatanggtctgnagattagataatagtattgtatcaatgtta
+atttcctgattttgataattgtaytgtggttatgtaagagaatgtccttg
+tttttaggaaanacacactgaagtatttaggggtaaaaggncatsatgtc
+tgcaacttactctcaaatrgttcagraaaaaaaatnnatatayataarya
+gagaatgataaagcaaatgcggyaaaatgttaacaattggtgaatctggg
+tgaagggtatacgggwgttctttgtactattcttgcaacttttctgtaag
+tttgaaattacttcaaaataaa
+>MER43  
+cccaagcccagtaacgctgtggctcttgcagactcntagaggtactgcct
+tnrtggtcttggataagatctggaagaattccctggattaccaggcagag
+actcttgttctcttcccttactttctcccaaacaaacaaatggagtctct
+ctctctntctgtgctgagctgcctaganctgngggwggggtgacacaagc
+acccctgtggccaccaccactgggactgtgctgggtcagacctgaagcca
+gcacagcattgggtctcaccca
+>MER44C  
+cagtagtccccccttatccacgggggatacgttccaagacccccagtgga
+tgcctgaaaccacggatagtaccgaaccctattgctatcagtcttttgga
+acatgtttctgttcatgtcttctgcccacaaatttaatgcctcttccacc
+tcaactaaacacgtatcatgcactccggccatcacttttgcagtttgagg
+tatgacatcaaaactagcatgaatttatttttccttcttcacaattccaa
+agatggaagattctttcttaccgtagatcttagcaacctcagcatacgat
+tatttttcytttctttttaagtcaagaactttcaccttttcgcttaaagg
+aagcactttacagcttctytttggcatgtccgaattgccaccaacactac
+tcttgtgcttttgggccattattaagtaaaacgggagttacttgaacaca
+agcactgtgataccaagacagtcggtctgataactgagatggctactaag
+tgattaacaggcaggtagcgtanacggcgtggatacgctggacaaaggga
+tgattcacatcccggatgggacggcgcgaaatttcatcacgctactcaga
+acggcgcgyaatttaaaacttatgaattgtttatttctgnaattttcaat
+ttaatattttcggaccgcagttgaccacgggtaactgaaaccacagaaag
+traaaccacggataaggggggactgctg
+>MER45  
+caggaccggctacataatttgcgggrcccagtgcaaaatgaaaatgcggg
+gccccttgttcaaaaattattaagaatttcaagacggcgacagcagagca
+ttaaaccaagcacggggcccttctragcgcggggccctgtgtgactgcac
+aggtcgcacgcccatgaagccggccctg
+>MER46  
+caggttgagtatcccttatccaaaatgcttgggaccagaagtgtttcgga
+tttcggatttttggattttggaatatttgcattatacttaccggttgagc
+atcccaaatctgaaaatccgaaatccaaaacgctccaatgagcatttcct
+ttgagcgtcatgtcggcgytcaaaaagtttcggattttggagcatttcgg
+atttcggattttcggattwgggatgctcaayctg
+>LOR1  
+tgttactgaacaccaggggttcggtctaggtcctgctgctcgccacacag
+aaagccaatcactgagacaataagtattgccaaggaagaaggctttaatc
+gggtgctgcagccgaggagacgggagatcagtctcaaatccatctccctg
+accgactaaaattaggggtttatatagcagggaagaaatgtaaccgtgtg
+tgggaaaacaggaattagggaggggtaaggaagagaatttggtcaacagg
+aagcaggtggtcagttaggcaatcatgatgggtgaggggtctgacgtctc
+attgtccggatgcagtgatctggtaagtttcagctccttgatactatctg
+ggaggcctgatggttggtttcctgaaaaaggaactcagataagacaaatg
+taactttctcgagttttaagactgggagaatcartttctatgtttattca
+aagaaaccataaacatcagttctatgggacaattgggtcagtttcaattg
+>ALR  
+aattctcagtaacttccttgtgttgtgtgtattcaactcacagagttgaa
+cgatcctttacacagagcagacttgaaacactctttttgtggaatttgca
+agtggagatttcagccgctttgaggtcaatggtagaataggaaatatctt
+cctatagaaactagacagaat
+>MSR1  
+agtcaagacccccagcccctcctccctcagacccaggagtcaagaacccc
+cagcccctcctccctcagacccaggagtcaagaacccccagcccctcctc
+cctcagacccaggagtcaagaccccccagcccctcctccctcagactcat
+gagtccagacccccagcccctcctccctcagacccaggagtccagacccc
+cagcccctcctccctcagacccaggagtccagacccccagcccctcctcc
+ctcagacccaggagtccaggccccacccctc
+>TAR1  
+gatcaacagtgaggaggtcccacaaggctaagtggggcaagtcggggacc
+taaggcagtagcaggaaaaccaaagaaaacaggcggagacttgagacaga
+ggcaggaatgtgaagaagtccaaaataaaaatccctgcacaggactctta
+ggctgttatcatgcactatcagcctactcctccctatttttgtacaataa
+gctctttacactgtatttcttttcaatgaagttatcttccatctttgtac
+tgcctcttggtgaaaagctgtcttccaagttaataactgggacatcagct
+ctctgcagtaatagctccttttcagttttaatttgcagaactgatgggga
+ttaataactggcgctctgactttaagtggtgcaggaggcggccagtaggg
+gacgccagccgttacgccgggagcaagagggccctgcgtagtccccatct
+gcctgcatgtggcgtgcagccacgacaatggcagcaagagggcccggcag
+tgtgcccagctgccagcaggcgggtgtgctgccactataatgtgaggaag
+agggccctgcaatgtccctagctgccagcaggcggcgtgccaccactata
+ctgcgagcaagagagccctgccgtgccccggcgccagcagggggcgctgg
+acagcactgtaagcaagagggccctgcagttgtcctagtcgccagtaggg
+gacgcaatggcagagcaccgtgggcaagctggtcctgtagtgcccggctg
+caagcagggggcgcccgaaacgggcttttcagattactcaggttccactc
+gtctctgcgccgccggggacgtgtgtctctgcgcgtgcaccgcgccaccc
+ccgcgctccccgcccggcggcgcgcgactgtgcgactgcaacactccccg
+ccaccctcagcccagcgacgtgcgtctctgcgcctgcgccgcgcctcact
+cccgcccgctcagcgacccctcccttccggggaggcgccggcgtgcgtct
+acgccctgcgccgcgtctccccaacagcggcgcgcctctctgcgcctgcg
+ccggcgcgccgcgcctctctgcgcctgcgccggcgcgccgcgcctctctg
+cgcctgcgccggcgccccgcgcctctctgcgcctgcgccggcgccccgcg
+cctctctgcgcctgcgccggcgccccgcgcctctctgcgcctgcgccggc
+gccccgcgcctctctgcgcctgcgccggcgccccgcgcctctctgcgcct
+gcgccggcgccccgcgcctctctgcgcctgcgccggcgccccgcgcctct
+ctgcgcctgcgccggcgccccgcgcctctctgcgcctgcgccggcgcccc
+gcgcctctctgcgcctgcgccggcgccccgcgcctctctgcgcctgcgcc
+ggcgccccgcgcctctctgcgcctgcgccggcgccccgcgcctctctgcg
+cctgcgccggcgccccgcgcctctctgcgcctgcgccggcgccccgcgcc
+tctctgcgcctgcgccggcgccccgcgcctctctgcgcctgcgccggcgc
+gccgcctttgcgagggcggagttgcgttctctttagcacacacccggaga
+gcatcgcgagggcggagctgcgttctcctctgcacagacttcgggggtat
+tgcgaaggcggagcagagttcttctcaggtcagacccgggcgggcgggct
+gagggcactgcgagggtggagctgcgttctgttcagcacagacgtggggg
+gcaccgtaaaggcggagcagcattcttctcagcacagacgttgggggtac
+tgcctgcctttgggataactcggggccgcatcgagggtgaataaaatctt
+tcccgtttgctgccctgaataatcaaggtcagagaccagttagaacggtt
+tagtgtggaaagcgggaaacgaaaagcctctctgaatcctgcgcaccgag
+attctcccaaggcaaggcgaggggctgtattgcagggttcaagtgcagcg
+tcagaactcaaatgcagcattcctaatgcacacatgacaccctaaatata
+acaggcatattactcatggagggttagggttcaggttcgggttcgggttc
+gggttcgggtt
+>CER  
+ctgcagaacactacttccagggtctaaatgtctgtccttcacataggatt
+ccagaacactgctacgagagtgtgaatgtttgtccttcacatagcatttc
+acaactgccatggtctgaatggttgtccctcacatagtattccagaacac
+tgctatgagggtctgaatgtttgtacctcacataggattccagaacactg
+ctatgagggtctgaatgtttgtacctcacataggattccagaacactgct
+atgagtgtttgaaagtttgtccctcacataggattccagaagactgctgc
+tggggtctgaatgtctgtccctcacatcggattccagaaccctgctgctg
+gggtttgaatgtctgtccctcacatagaattc
+>BSR  
+gatcagtgcagagatatgtcacaatgcccctgtaggcagagcctagacaa
+gagttacatcacctgggt
+>HSATII  
+antccattcgggtccattcgatgatgatcacactggatttcattccataa
+ttctattcg
+>HSATI  
+gantcngctcnngacacaactctctgagccttcggtgacctttcngtctn
+gtgtaanngcactcntgtcyycctggcagcagttggacctcgcgatgtgg
+attgtgccctcacccagcnntntttatgccctntcnccatggtgacngga
+ttaggggtctcctgctcttcnntcctaaggaccactgtctgtgctgtgtc
+tttcaaaggtcagaagagattgnacctttgtgtttttattttccctgtgt
+ttgctttttctcnntggggaacctgtgttgctgctttgaaggtatattca
+tactggccnntcanntgnncaacatcnncaaantnactagttanggcttt
+caaaatatgntatttcaaaaaattanccgtctgtattttccatatgcagt
+tataagtaggtttcatcggttatgttttattcctcagtttatacatttga
+ttattgtaccaagcagagtacctttgaaattttttttcatttaaaaaata
+tggatctttaaaaaaaaattatatatgatatatattacatgttatgtgct
+atgccttatntgtaacatataacctcatatattttntatgtcatagtata
+taatatttatcctgtgtcatcttatatatac
+>SAR  
+acataaaatatcaaagtacatcaaatatatattttattctgt
+>SN5  
+cttcccttcagggacctcaaagtgaccagcttccccttgaagaatgactc
+tccaaggcccaggagcccagcttctgggcctccaagccaggccatctggc
+gagggagtcggtggacgtgccctggcttcttccatgttgagttggtacta
+cccaccaaggggggtagagaggcgagcagatgttgtctctggcctgtgtc
+ttgttatcatggtgctgactaggcctggtacagggccctgatggggttgt
+cctgggtggtcacgggggtgatgagaagaagatgcagaatggattgctgt
+gaggatgaatgagacgactgtcagtacagacaggcacacggtgaagtgtt
+cagggattcccctcagtagctgcccagacccaaaacctgactcctgagtc
+acgttactgtcccactatacgttaagaggagggaaagctgggtcgcgcag
+gtccc
+>HY3  
+tagtcaantgaagcagcgggagtggagaaggaacaaagaaatttgtaact
+ggttgtgatcaattagttgtaaacancgctgcactccaaccagcc
+>HIR  
+gattcccaggtgcacagagatcctaatccgcatccatcgaaatctcacaa
+agtgtccataaatcactcagggagggcccccatggatacagggccgtagt
+aggatgctcctatagtgggcattaatatgagaatgaccgaaaagtgcatt
+taggaccatattataattttcgggttcccaggtgcacgtttccaataacc
+aggtgcacggatgtatagggtcccccccatggatagaggtccgtgttagg
+gtgctccatatcgggcatgaatatcaggaacaccggcatgtgcacttagg
+accatgttttaatttttca
+>7SK  
+gatgtgagggcaatctggctgcgacatctgtccccactgattaccagggt
+tgattcggctgatctggctggctaggcgggtctcctcttcctccctcagc
+cctccatgtgtgtacctcctgaagcggactggtcttcagtcaagggtaga
+cgagtagctgtgctcccctgctagaacctccaaacaagctctc
+>KER  
+agctcatctgtccactgaagatgcttggacagagttaggaatgcttcctg
+ggagaggtaacatttgagactttcctggaagaatggtcagagtaaaccaa
+gtaagtaggaatggaaagaggatgggaggccccagcttcccagaggcata
+aggtgaggangnccctatgcattcagatgtggcccaccctggggtctggt
+ggactaaagncttggacaccccagatcagccttagtgggatgaggcagga
+aagacagctgagggtcagaacccaggcaggtccaatgccagggtgggcat
+ttcgagttggtgagacatttcaccctggtgccaagct
+>XTR  
+ttaatttgagagaaattaattattctgcaacttagggacaagtcatgtct
+ttgaatattctgtagtttgaggagaatatttgttatatttgcaaaataaa
+a
+>XBR  
+aattgataggtcacgttctcactctatttgcctttaagggaagaaagcaa
+tcaagttaatatgttttccttcattgtatagtatgtaactacggacacta
+ttagaggagggatttgtgtagcacttaggacattatacttgataatttcc
+aagggtctttctagatttaaaagtctgattctaacgtagtaataaaaata
+aaggcccaattttctctttaatattgcctgaagatattactctattattg
+cattaaaattaaacattcacacattgtttgcactgctaaataaaattatg
+taa
+>Mariner1  
+ttaggtcggtrcaaaagtaattrcggtttttgcaytgttggaatttgyca
+tttgatattggaatacattcttaaataaatgtggttatgttatacatcat
+tttaatgggcatttctcgctttacgtttttttgctaatgacttattactt
+gctgtttatttkrtgtttattttagactatgnaaatgatgttagacaaaa
+agcarattcgagcgattttcttattcaagktcaaamtgrrtcgtaaagcg
+gcggagacaactcgcaacatcagcaacgcatttggcccaggaactgctaa
+taaacatacagtgcagtggtggttcaagaagttttncaaaggagacgaga
+gccttgaagatgaggagtgtaatgacgggccatcagaagttgacaacgac
+cagttgagagcaatcatcgaarycgatcctcttacaactanacgagaagt
+tgctgaagaactcgacgttgaccattctacggtcgttcggcatttgaagc
+aaattggraagnaaaaactcgataagtgggtgcctcataaagtgagcaaa
+actttttnaaattgtcattttaaagtgtcatctcttattctatgcaataa
+caacgaaccatttcttgatcagattgtgacgtagaacgaaaagtggattt
+tatacgacaaccggcgacgaccagctcagtggttggaccgaaagaagctc
+caaagcacttcccaaagccaaacttgcaccaaaaaagtcgcggtcgcggt
+ctggtggtctgctgccagtgtgatccaccacagctttctgaatcctggca
+aaaccattacatctgagaagtatcttcagcaaattgatgagatgcaccaa
+aaactgcaatgcctgcacctggcattggtcaacagaaagggcccaattct
+tctccacgacaacgcccgaccgcacgtygcacaaccaacgcttcaaaagt
+tgaataaattgggctacgaacttttgcctcatccgccatattcacctgac
+ctctcgccaacaaactaccacttcttcaagcatctcgtcaactttttgca
+gggaaaacgcttccacaaccagcaggatgcagaaaatgctttccaagagt
+tcgtcgaatcccaaagcacggatttttatgctacaggaataaacaaactt
+atttctcgttggcaaaaatgtgttgattgtaatggttcctattttgatta
+ataaagatgtgyttgagcctagttatgattatgatttaatggccaaaacc
+acaattacttttgcaccaacctaa
+>Tigger1  
+caggcatacctcgttttattgcgcttcgctttattgcgcttcgcagatac
+tgcgttttttacaaattgaaggtttgtggcaaccctgcgttgagcaagtc
+tgtcggcgccatttttccaacagcatgtgctcacttcgtgtctctgtgtc
+acattttggtaattctcgcaatatttcaaactttttcattattattatat
+ctgttatggtgatctgtgatcagtgatctttgatgttactattgtaattg
+ttttggggtgccacgaaccgcacccatataagacggcgaacttaatcgat
+aaatgttgtgtgtgttctgactgctccaccgaccggccgttcccccgtct
+ctctccctctcytcgggcctccctattccctgagacacaacaatattgaa
+attaggccaattaataaccctacaatggcctctaagtgttcaagtgaaag
+gaagagtmrcacatctctcactttaaatcaaaagctagaaatgattaagc
+ttagtgaggaaggcatgtcaaaagccgagataggccaaaagctaggcctc
+ttgcgccaaacagttagccaagttgtgaatgcaaaggaaaagttcttgaa
+ggaaattaaaagtgctactccagtgaacacacgaatgataagaaagyaaa
+acagccttattgctgatatggagaaagttttagtggtctggatagaagat
+caaaccagccacaayattcccttaagccaaagcctaatccagagcaaggc
+cctaactctcttcaattctatgaaggctgagagaggtgaggaagctgcag
+aagaaaagtttgaagctagcagaggttggttcatgaggtttaaggaaaga
+agccatctccataacataaaagtgcaaggtgaagcagcaagtgctgatgt
+agaagctgcagcaagttatccagaagatctagctaagatcaytgatgaag
+gtggctacactaaacaacagattttcartgtagatgaaacagccttctat
+tggaagaagatgccatctaggactttcatagctagagaggagaagtcaat
+gcctggcttcaaagcttcaaaggacaggctgactctcttgttaggggcta
+atgcagctggtgactttaagttgaagccaatgctcatttaccattctgaa
+aatcctagagcccttaagaattatgctaaatctactctgcctgtgctcta
+taaatggaacaacaaagcctggatgacagcacatctgtttacagcatggt
+ttactgaatattttaagcccactgttgagacctactgctcagaaaaaaag
+attcctttcaaaatattactgctcattgacaacgcacctggtcacccaag
+agctctgatggagatgtacaaggagattaatgttgttttcatgcctgcta
+acacaacatccattctgcagcccatggatcaaggagtaatttcgactttc
+aagtcttattatttaagaaatacattttataaggctatagctgccataga
+tagtgattcctctgatggatctgggcaaagtaaattgaaaaccttctgga
+aaggattcaccattctagatgccattaagaacattcgtgattcatgggag
+gaggtcaaaatatcaacattaacaggagtttggaagaagttgattccaac
+cctcatggatgactttgaggggttyaagacttcagtggaggaagtaactg
+cagatgtggtggaaatagcaagagaactagaattagaagtggagcctgaa
+gatgtgactgaattgctgcaatctcatgataaaacttgaacggatgagga
+gttgcttcttatggatgagcaaagaaagtggtttcttgagatggaatcta
+ctcctggtgaagatgctgtgaacattgttgaaatgacaacaaaggattta
+gaatattacataaacttagttgataaagcagcggcagggtttgagaggat
+tgactccaattttgaaagaagttctactgtgggtaaaatgctgtcaaaca
+gcatcacatgctacagagaaatctttcatgaaaggaagagtcaattgatg
+cggcaaacttcattgttgtcttattttaagaaattgccacagccacccca
+accttcagcaaccaccaccctgatcagtcagcagccatcaacatcaaggc
+aagaccctccaccagcaaaaagattacgactcgctgaaggctcagatgat
+cgttagcattttttagcaataaagtatttttaaattaaggtatgtacatt
+gttttttagacataatgctattgcacacttaatagactacagtatagcgt
+aaacataacttttatatgcactgggaaaccaaaaaattcgtgtgactcgc
+tttattgcgatattcgctttattgcggtggtctggaaccgaacccgcaat
+atctccgaggtatgcctg
+>Tigger2  
+cagttgacccttgaacaacacgggtttgaactgcgcgggtccacttatac
+gtgrattttttycaataaatatattggaaaaawttytggagatttgcaac
+aatttgaaaaaactcgcagacgaaccgcgtagcctagaaatattgaaaaa
+attaagaaaaaggtatgtcatgaatgtataaaatatatgtagatactagt
+ctattttatcatttactaccataaaatayacacaaanctattataaaaag
+ttaaaatttatcaaaacttayayayayacttacagactgtacgtggtacc
+attcgaagtngagagaaatataaacaaacntaaagatgcagtattaaatc
+acaactgcgtaaaattaactgtagtacatactatactaccgtaataattt
+tgtagccacctcctgttgctattgcagcgagctcaagtgttgtgagtacc
+tgcttaaaacgctskgtgatgctaatcatctccgcgcgagcagttyatct
+ctccagtaaattgcgtattgcagtaaaaagtgatctctcacggttctcgc
+gtatttttcattgtgtttartgcaatattgtaaaccttgaataacaccat
+gggacccatacgaagtgccactagtgatgctggaagtgctcccaagaagc
+agagaaaagtcatgacattacaagaaaaagttgaattgcttgatatgtac
+catagattgaggtctgcagctggggttgcctgccatttcaagayagatga
+atccggcgtaaggaccgttgtmaaaaaagaaaaggaaattcgtgaaracc
+gtcgctgcagttatgcccagcaggcacaaaaacttgtnactttttgcgaa
+atacctttttatgttgtattgaaaatgcagcttttntgtgggtgcaggat
+tgctataagaaaggmatacctanagactctaatatgattagagaaaaagc
+gaagtcattatgtgannacttaaagcaaaarraagatgamrgatctaaag
+ctgganaatttaatgccagcaaakgatggtttgacaattttagaaagarg
+twtggcttaaaaaatktcaagakaacaggagaagcasyttctgctgacca
+agagacagcagacgagttnccagatgccattaacaaaatcattgaggaga
+aaggatatctgcctgaacaggtttttaatgcagatgaragtgccctattc
+tggggggaaaaaatgccacaaagracatttattagtaagnaagagaagcg
+agcaccaggatttaaggcargaagggataggctaactctactgttttgtg
+caaatgcagttaggtttatgatcaggactgcccttatctataaagctgct
+aacccccgagccttgaagggaaaagataaacgccagctgccagtcttttg
+gttgtacaacaagaaggcctggacaacgagaaccctttttctggattggt
+tccattkatgctttgtccctgawgtcaggaagtaccttgccagtaagrga
+ctgccttttaaagttcttttgatattggacaatgcccytggccacccaga
+accccatgagttcaacaccgaaggtgtcgaagtggtctacttgcccccaa
+acacaacgtctctaattcagcctctagatcagggggtcataaggaccttt
+aaggctcattacacacggtactctatggaaaggattgtcaacgctatgga
+agagaaccccgatagaragaacatcatgaaagtctggaaggattacacca
+ttgaagatgccattgttrttatagaaaaagccgtgaaagccatcaagccc
+aaaacagtaaattcctgctggagaaaactgtgtccagatgttgtacatga
+cttcacaggatttacgacagagccaatcaaggaaatcatgaaagagattg
+tggatatggcaaaaaagttggggggtaaagggtttcaagatgcgaatctt
+ggagaaattcaagagcwaatagacaccacaccagaggaattaacagaaga
+cgacttgatggagatgagtgcttccgaaccagtgccagacgatgaggaag
+aagacatngaagaagcagtgccagaaaacaaattgacattagacaatctr
+ggcagaagggttccaattattcaagactgcttttgacttcttttacaaca
+tggacccttctatgatacgggcactgaaactaaagcaaacagtggaagaa
+ggattggtaytatacagaaacatttttagagaaatgaaaaggcaaaaayr
+tcagacagaaattacgatgtatttccgtaaagttacaccgagtgtgcctg
+cctctcctgcctccccttccacctcctccacctcttccacctctgccacc
+ctgagacagcaagaccaacccctcctcctcctcagcctwctcaatgtgaa
+gacgacgaggatgaagacctttatgatgatccacttccacttaatgaata
+gtaaatatattttctcttccttatgattttcttaataacattttcttttc
+tctagcttactttattgtaagaatacggtatataatacatataacataca
+aaatatgtgttaatcgactgtttatgttatcggtaaggcttccagtcaac
+agtaggctattagtagttaagttttkggggagtcaaaagttatacgtgga
+tttttnactgcgcggggggtcagcgcccctaacccccgcgttgttcaagg
+gtcaactg
+>PAB  
+ccttaccagccccctactgtggcaggccaggtcccactaacacaggcctc
+cataacaactgtttcagctctgactgagtggttaagttaaatactaaaag
+ccgagagagccagtccccttatacagaggctggaatgtaacaaaagccca
+ccaagagttttgcctaggcctttcctgggccttgaagcatgacaaaataa
+caaaagaattcttaacagaatctatttaggattaaacaagttttactggg
+ggttctgaagaaactccccagtcctccacaaacaagtttactggggtctg
+aaagaactccccaaacctccatgatttagcaggagacaagataagggtaa
+tcaccccagcacctggacccagctagatttagtcaatttactgaggctac
+aaaggaaggtcttcaggactcagacctcagttatagattagaagaagtta
+atcacttatgtctttagatgattgcacacttacacatagacatatagctt
+agaaggtgtataagctctggaaaactttgtaattttgagttggtctggtg
+atattttccaggccttctccctatacccggttacagaaataaaaactttc
+ttcctccccagttcatctgcatcttgttaatgggctgccagaaatagcag
+cccaaccctcagttaggtctgggaacactaccccccaacacacacacaca
+cac
+
diff --git a/websoft/data/blast/lineages.txt b/websoft/data/blast/lineages.txt
new file mode 100755 (executable)
index 0000000..0b33e23
--- /dev/null
@@ -0,0 +1,833 @@
+13
+9      Bacteria; Proteobacteria; Gammaproteobacteria; Enterobacteriales; Enterobacteriaceae; Buchnera
+34     Bacteria; Proteobacteria; Deltaproteobacteria; Myxococcales; Cystobacterineae; Myxococcaceae; Myxococcus
+139    Bacteria; Spirochaetes; Spirochaetales; Spirochaetaceae; Borrelia; Borrelia burgdorferi group
+160    Bacteria; Spirochaetes; Spirochaetales; Spirochaetaceae; Treponema
+173    Bacteria; Spirochaetes; Spirochaetales; Leptospiraceae; Leptospira
+188    Bacteria; Proteobacteria; Alphaproteobacteria; Rhodospirillales; Rhodospirillaceae; Magnetospirillum
+197    Bacteria; Proteobacteria; Epsilonproteobacteria; Campylobacterales; Campylobacteraceae; Campylobacter
+210    Bacteria; Proteobacteria; Epsilonproteobacteria; Campylobacterales; Helicobacteraceae; Helicobacter
+263    Bacteria; Proteobacteria; Gammaproteobacteria; Thiotrichales; Francisellaceae; Francisella
+274    Bacteria; Deinococcus-Thermus; Deinococci; Thermales; Thermaceae; Thermus
+287    Bacteria; Proteobacteria; Gammaproteobacteria; Pseudomonadales; Pseudomonadaceae; Pseudomonas
+292    Bacteria; Proteobacteria; Betaproteobacteria; Burkholderiales; Burkholderiaceae; Burkholderia; Burkholderia cepacia complex
+294    Bacteria; Proteobacteria; Gammaproteobacteria; Pseudomonadales; Pseudomonadaceae; Pseudomonas
+303    Bacteria; Proteobacteria; Gammaproteobacteria; Pseudomonadales; Pseudomonadaceae; Pseudomonas
+305    Bacteria; Proteobacteria; Betaproteobacteria; Burkholderiales; Burkholderiaceae; Ralstonia
+316    Bacteria; Proteobacteria; Gammaproteobacteria; Pseudomonadales; Pseudomonadaceae; Pseudomonas
+317    Bacteria; Proteobacteria; Gammaproteobacteria; Pseudomonadales; Pseudomonadaceae; Pseudomonas
+339    Bacteria; Proteobacteria; Gammaproteobacteria; Xanthomonadales; Xanthomonadaceae; Xanthomonas
+354    Bacteria; Proteobacteria; Gammaproteobacteria; Pseudomonadales; Pseudomonadaceae; Azotobacter
+358    Bacteria; Proteobacteria; Alphaproteobacteria; Rhizobiales; Rhizobiaceae; Rhizobium/Agrobacterium group; Agrobacterium
+375    Bacteria; Proteobacteria; Alphaproteobacteria; Rhizobiales; Bradyrhizobiaceae; Bradyrhizobium
+382    Bacteria; Proteobacteria; Alphaproteobacteria; Rhizobiales; Rhizobiaceae; Sinorhizobium/Ensifer group; Sinorhizobium
+384    Bacteria; Proteobacteria; Alphaproteobacteria; Rhizobiales; Rhizobiaceae; Rhizobium/Agrobacterium group; Rhizobium
+394    Bacteria; Proteobacteria; Alphaproteobacteria; Rhizobiales; Rhizobiaceae; Rhizobium/Agrobacterium group; Rhizobium
+446    Bacteria; Proteobacteria; Gammaproteobacteria; Legionellales; Legionellaceae; Legionella
+480    Bacteria; Proteobacteria; Gammaproteobacteria; Pseudomonadales; Moraxellaceae; Moraxella
+485    Bacteria; Proteobacteria; Betaproteobacteria; Neisseriales; Neisseriaceae; Neisseria
+487    Bacteria; Proteobacteria; Betaproteobacteria; Neisseriales; Neisseriaceae; Neisseria
+518    Bacteria; Proteobacteria; Betaproteobacteria; Burkholderiales; Alcaligenaceae; Bordetella
+520    Bacteria; Proteobacteria; Betaproteobacteria; Burkholderiales; Alcaligenaceae; Bordetella
+529    Bacteria; Proteobacteria; Alphaproteobacteria; Rhizobiales; Brucellaceae; Ochrobactrum
+549    Bacteria; Proteobacteria; Gammaproteobacteria; Enterobacteriales; Enterobacteriaceae; Pantoea
+550    Bacteria; Proteobacteria; Gammaproteobacteria; Enterobacteriales; Enterobacteriaceae; Enterobacter
+552    Bacteria; Proteobacteria; Gammaproteobacteria; Enterobacteriales; Enterobacteriaceae; Erwinia
+554    Bacteria; Proteobacteria; Gammaproteobacteria; Enterobacteriales; Enterobacteriaceae; Pectobacterium
+562    Bacteria; Proteobacteria; Gammaproteobacteria; Enterobacteriales; Enterobacteriaceae; Escherichia
+571    Bacteria; Proteobacteria; Gammaproteobacteria; Enterobacteriales; Enterobacteriaceae; Klebsiella
+573    Bacteria; Proteobacteria; Gammaproteobacteria; Enterobacteriales; Enterobacteriaceae; Klebsiella
+602    Bacteria; Proteobacteria; Gammaproteobacteria; Enterobacteriales; Enterobacteriaceae; Salmonella
+615    Bacteria; Proteobacteria; Gammaproteobacteria; Enterobacteriales; Enterobacteriaceae; Serratia
+623    Bacteria; Proteobacteria; Gammaproteobacteria; Enterobacteriales; Enterobacteriaceae; Shigella
+630    Bacteria; Proteobacteria; Gammaproteobacteria; Enterobacteriales; Enterobacteriaceae; Yersinia
+632    Bacteria; Proteobacteria; Gammaproteobacteria; Enterobacteriales; Enterobacteriaceae; Yersinia
+644    Bacteria; Proteobacteria; Gammaproteobacteria; Aeromonadales; Aeromonadaceae; Aeromonas
+666    Bacteria; Proteobacteria; Gammaproteobacteria; Vibrionales; Vibrionaceae; Vibrio
+670    Bacteria; Proteobacteria; Gammaproteobacteria; Vibrionales; Vibrionaceae; Vibrio
+672    Bacteria; Proteobacteria; Gammaproteobacteria; Vibrionales; Vibrionaceae; Vibrio
+714    Bacteria; Proteobacteria; Gammaproteobacteria; Pasteurellales; Pasteurellaceae; Actinobacillus
+715    Bacteria; Proteobacteria; Gammaproteobacteria; Pasteurellales; Pasteurellaceae; Actinobacillus
+727    Bacteria; Proteobacteria; Gammaproteobacteria; Pasteurellales; Pasteurellaceae; Haemophilus
+731    Bacteria; Proteobacteria; Gammaproteobacteria; Pasteurellales; Pasteurellaceae; Histophilus
+747    Bacteria; Proteobacteria; Gammaproteobacteria; Pasteurellales; Pasteurellaceae; Pasteurella
+770    Bacteria; Proteobacteria; Alphaproteobacteria; Rickettsiales; Anaplasmataceae; Anaplasma
+782    Bacteria; Proteobacteria; Alphaproteobacteria; Rickettsiales; Rickettsiaceae; Rickettsieae; Rickettsia; typhus group
+813    Bacteria; Chlamydiae; Chlamydiales; Chlamydiaceae; Chlamydia
+817    Bacteria; Bacteroidetes; Bacteroides (class); Bacteroidales; Bacteroidaceae; Bacteroides
+837    Bacteria; Bacteroidetes; Bacteroides (class); Bacteroidales; Porphyromonadaceae; Porphyromonas
+851    Bacteria; Fusobacteria; Fusobacterales; Fusobacteriaceae; Fusobacterium
+876    Bacteria; Proteobacteria; Deltaproteobacteria; Desulfovibrionales; Desulfovibrionaceae; Desulfovibrio
+920    Bacteria; Proteobacteria; Gammaproteobacteria; Acidithiobacillales; Acidithiobacillaceae; Acidithiobacillus
+948    Bacteria; Proteobacteria; Alphaproteobacteria; Rickettsiales; Anaplasmataceae; Anaplasma; phagocytophilum group
+1063   Bacteria; Proteobacteria; Alphaproteobacteria; Rhodobacterales; Rhodobacteraceae; Rhodobacter
+1085   Bacteria; Proteobacteria; Alphaproteobacteria; Rhodospirillales; Rhodospirillaceae; Rhodospirillum
+1097   Bacteria; Chlorobi; Chlorobia; Chlorobiales; Chlorobiaceae; Chlorobium
+1108   Bacteria; Chloroflexi; Chloroflexales; Chloroflexaceae; Chloroflexus
+1126   Bacteria; Cyanobacteria; Chroococcales; Microcystis
+1206   Bacteria; Cyanobacteria; Oscillatoriales; Trichodesmium
+1245   Bacteria; Firmicutes; Lactobacillales; Leuconostoc
+1247   Bacteria; Firmicutes; Lactobacillales; Oenococcus
+1265   Bacteria; Firmicutes; Clostridia; Clostridiales; Lachnospiraceae; Ruminococcus
+1280   Bacteria; Firmicutes; Bacillales; Staphylococcus
+1282   Bacteria; Firmicutes; Bacillales; Staphylococcus
+1299   Bacteria; Deinococcus-Thermus; Deinococci; Deinococcales; Deinococcaceae; Deinococcus
+1303   Bacteria; Firmicutes; Lactobacillales; Streptococcaceae; Streptococcus
+1307   Bacteria; Firmicutes; Lactobacillales; Streptococcaceae; Streptococcus
+1308   Bacteria; Firmicutes; Lactobacillales; Streptococcaceae; Streptococcus
+1309   Bacteria; Firmicutes; Lactobacillales; Streptococcaceae; Streptococcus
+1311   Bacteria; Firmicutes; Lactobacillales; Streptococcaceae; Streptococcus
+1313   Bacteria; Firmicutes; Lactobacillales; Streptococcaceae; Streptococcus
+1314   Bacteria; Firmicutes; Lactobacillales; Streptococcaceae; Streptococcus
+1334   Bacteria; Firmicutes; Lactobacillales; Streptococcaceae; Streptococcus
+1336   Bacteria; Firmicutes; Lactobacillales; Streptococcaceae; Streptococcus
+1351   Bacteria; Firmicutes; Lactobacillales; Enterococcaceae; Enterococcus
+1352   Bacteria; Firmicutes; Lactobacillales; Enterococcaceae; Enterococcus
+1358   Bacteria; Firmicutes; Lactobacillales; Streptococcaceae; Lactococcus
+1392   Bacteria; Firmicutes; Bacillales; Bacillaceae; Bacillus; Bacillus cereus group
+1396   Bacteria; Firmicutes; Bacillales; Bacillaceae; Bacillus; Bacillus cereus group
+1402   Bacteria; Firmicutes; Bacillales; Bacillaceae; Bacillus
+1422   Bacteria; Firmicutes; Bacillales; Bacillaceae; Geobacillus
+1423   Bacteria; Firmicutes; Bacillales; Bacillaceae; Bacillus
+1428   Bacteria; Firmicutes; Bacillales; Bacillaceae; Bacillus; Bacillus cereus group
+1488   Bacteria; Firmicutes; Clostridia; Clostridiales; Clostridiaceae; Clostridium
+1496   Bacteria; Firmicutes; Clostridia; Clostridiales; Clostridiaceae; Clostridium
+1502   Bacteria; Firmicutes; Clostridia; Clostridiales; Clostridiaceae; Clostridium
+1515   Bacteria; Firmicutes; Clostridia; Clostridiales; Clostridiaceae; Clostridium
+1575   Bacteria; Actinobacteria; Actinobacteridae; Actinomycetales; Micrococcineae; Microbacteriaceae; Leifsonia
+1580   Bacteria; Firmicutes; Lactobacillales; Lactobacillaceae; Lactobacillus
+1584   Bacteria; Firmicutes; Lactobacillales; Lactobacillaceae; Lactobacillus
+1590   Bacteria; Firmicutes; Lactobacillales; Lactobacillaceae; Lactobacillus
+1639   Bacteria; Firmicutes; Bacillales; Listeriaceae; Listeria
+1642   Bacteria; Firmicutes; Bacillales; Listeriaceae; Listeria
+1718   Bacteria; Actinobacteria; Actinobacteridae; Actinomycetales; Corynebacterineae; Corynebacteriaceae; Corynebacterium
+1719   Bacteria; Actinobacteria; Actinobacteridae; Actinomycetales; Corynebacterineae; Corynebacteriaceae; Corynebacterium
+1764   Bacteria; Actinobacteria; Actinobacteridae; Actinomycetales; Corynebacterineae; Mycobacteriaceae; Mycobacterium; Mycobacterium avium complex (MAC)
+1765   Bacteria; Actinobacteria; Actinobacteridae; Actinomycetales; Corynebacterineae; Mycobacteriaceae; Mycobacterium; Mycobacterium tuberculosis complex
+1769   Bacteria; Actinobacteria; Actinobacteridae; Actinomycetales; Corynebacterineae; Mycobacteriaceae; Mycobacterium
+1772   Bacteria; Actinobacteria; Actinobacteridae; Actinomycetales; Corynebacterineae; Mycobacteriaceae; Mycobacterium
+1773   Bacteria; Actinobacteria; Actinobacteridae; Actinomycetales; Corynebacterineae; Mycobacteriaceae; Mycobacterium; Mycobacterium tuberculosis complex
+1833   Bacteria; Actinobacteria; Actinobacteridae; Actinomycetales; Corynebacterineae; Nocardiaceae; Rhodococcus
+1902   Bacteria; Actinobacteria; Actinobacteridae; Actinomycetales; Streptomycineae; Streptomycetaceae; Streptomyces
+1916   Bacteria; Actinobacteria; Actinobacteridae; Actinomycetales; Streptomycineae; Streptomycetaceae; Streptomyces
+2095   Bacteria; Firmicutes; Mollicutes; Mycoplasmataceae; Mycoplasma
+2097   Bacteria; Firmicutes; Mollicutes; Mycoplasmataceae; Mycoplasma
+2098   Bacteria; Firmicutes; Mollicutes; Mycoplasmataceae; Mycoplasma
+2130   Bacteria; Firmicutes; Mollicutes; Mycoplasmataceae; Ureaplasma
+2208   Archaea; Euryarchaeota; Methanomicrobia; Methanosarcinales; Methanosarcinaceae; Methanosarcina
+2209   Archaea; Euryarchaeota; Methanomicrobia; Methanosarcinales; Methanosarcinaceae; Methanosarcina
+2214   Archaea; Euryarchaeota; Methanomicrobia; Methanosarcinales; Methanosarcinaceae; Methanosarcina
+2234   Archaea; Euryarchaeota; Archaeoglobi; Archaeoglobales; Archaeoglobaceae; Archaeoglobus
+2238   Archaea; Euryarchaeota; Halobacteria; Halobacteriales; Halobacteriaceae; Haloarcula
+2247   Archaea; Euryarchaeota; Halobacteria; Halobacteriales; Halobacteriaceae; Halorubrum
+2261   Archaea; Euryarchaeota; Thermococci; Thermococcales; Thermococcaceae; Pyrococcus
+2287   Archaea; Crenarchaeota; Thermoprotei; Sulfolobales; Sulfolobaceae; Sulfolobus
+2336   Bacteria; Thermotogae; Thermotogales; Thermotogaceae; Thermotoga
+2371   Bacteria; Proteobacteria; Gammaproteobacteria; Xanthomonadales; Xanthomonadaceae; Xylella
+2711   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids II; Sapindales; Rutaceae; Citrus
+2777   Eukaryota; Rhodophyta; Florideophyceae; Gracilariales; Gracilariaceae; Gracilaria
+2788   Eukaryota; Rhodophyta; Bangiophyceae; Bangiales; Bangiaceae; Porphyra
+2850   Eukaryota; stramenopiles; Bacillariophyta; Bacillariophyceae; Bacillariophycidae; Naviculales; Phaeodactylaceae; Phaeodactylum
+2903   Eukaryota; Haptophyceae; Isochrysidales; Emiliania
+2926   Eukaryota; Alveolata; Dinophyceae; Gonyaulacales; Gonyaulacaceae; Alexandrium
+2961   Eukaryota; Alveolata; Dinophyceae; Gymnodiniales; Gymnodiniaceae; Amphidinium
+2972   Eukaryota; Alveolata; Dinophyceae; Pyrocystales; Pyrocystis
+3012   Eukaryota; stramenopiles; Phaeophyceae; Fucales; Fucaceae; Fucus
+3046   Eukaryota; Viridiplantae; Chlorophyta; Chlorophyceae; Volvocales; Dunaliellaceae; Dunaliella
+3055   Eukaryota; Viridiplantae; Chlorophyta; Chlorophyceae; Volvocales; Chlamydomonadaceae; Chlamydomonas
+3190   Eukaryota; Viridiplantae; Chlorophyta; Prasinophyceae; Chlorodendrales; Chlorodendraceae; Scherffelia
+3197   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Marchantiophyta; Marchantiopsida; Marchantiidae; Marchantiales; Marchantiineae; Marchantiaceae; Marchantia
+3218   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Bryophyta; Bryopsida; Funariidae; Funariales; Funariaceae; Physcomitrella
+3225   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Bryophyta; Bryopsida; Dicranidae; Dicranales; Ditrichaceae; Ceratodon
+3311   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Ginkgophyta; Ginkgoales; Ginkgoaceae; Ginkgo
+3329   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Coniferopsida; Coniferales; Pinaceae; Picea
+3347   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Coniferopsida; Coniferales; Pinaceae; Pinus; Pinus
+3352   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Coniferopsida; Coniferales; Pinaceae; Pinus; Pinus
+3357   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Coniferopsida; Coniferales; Pinaceae; Pseudotsuga
+3369   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Coniferopsida; Coniferales; Cupressaceae; Cryptomeria
+3382   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Gnetophyta; Gnetopsida; Gnetales; Gnetaceae; Gnetum
+3467   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; Ranunculales; Papaveraceae; Eschscholzioideae; Eschscholzia
+3505   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Fagales; Betulaceae; Betula
+3544   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; Caryophyllales; Aizoaceae; Mesembryanthemum
+3562   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; Caryophyllales; Amaranthaceae; Spinacia
+3570   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; Caryophyllales; Caryophyllaceae; Dianthus
+3605   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; Vitaceae; Vitis
+3634   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids II; Malvales; Malvaceae; Malvoideae; Gossypium
+3635   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids II; Malvales; Malvaceae; Malvoideae; Gossypium
+3641   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids II; Malvales; Malvaceae; Byttnerioideae; Theobroma
+3649   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids II; Brassicales; Caricaceae; Carica
+3654   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Cucurbitales; Cucurbitaceae; Citrullus
+3656   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Cucurbitales; Cucurbitaceae; Cucumis
+3659   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Cucurbitales; Cucurbitaceae; Cucumis
+3693   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Malpighiales; Salicaceae; Saliceae; Populus
+3695   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Malpighiales; Salicaceae; Saliceae; Populus
+3702   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids II; Brassicales; Brassicaceae; Arabidopsis
+3707   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids II; Brassicales; Brassicaceae; Brassica
+3708   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids II; Brassicales; Brassicaceae; Brassica
+3711   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids II; Brassicales; Brassicaceae; Brassica
+3712   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids II; Brassicales; Brassicaceae; Brassica
+3726   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids II; Brassicales; Brassicaceae; Raphanus
+3747   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Rosales; Rosaceae; Rosoideae; Fragaria
+3750   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Rosales; Rosaceae; Maloideae; Malus
+3755   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Rosales; Rosaceae; Amygdaloideae; Prunus
+3760   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Rosales; Rosaceae; Amygdaloideae; Prunus
+3818   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Fabales; Fabaceae; Papilionoideae; Aeschynomeneae; Arachis
+3827   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Fabales; Fabaceae; Papilionoideae; Cicereae; Cicer
+3847   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Fabales; Fabaceae; Papilionoideae; Phaseoleae; Glycine
+3870   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Fabales; Fabaceae; Papilionoideae; Genisteae; Lupinus
+3873   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Fabales; Fabaceae; Papilionoideae; Genisteae; Lupinus
+3879   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Fabales; Fabaceae; Papilionoideae; Trifolieae; Medicago
+3880   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Fabales; Fabaceae; Papilionoideae; Trifolieae; Medicago
+3885   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Fabales; Fabaceae; Papilionoideae; Phaseoleae; Phaseolus
+3886   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Fabales; Fabaceae; Papilionoideae; Phaseoleae; Phaseolus
+3888   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Fabales; Fabaceae; Papilionoideae; Vicieae; Pisum
+3895   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Fabales; Fabaceae; Papilionoideae; Robinieae; Sesbania
+3899   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Fabales; Fabaceae; Papilionoideae; Trifolieae; Trifolium
+3906   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Fabales; Fabaceae; Papilionoideae; Vicieae; Vicia
+3917   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Fabales; Fabaceae; Papilionoideae; Phaseoleae; Vigna
+3981   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Malpighiales; Euphorbiaceae; Crotonoideae; Micrandreae; Hevea
+3983   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Malpighiales; Euphorbiaceae; Crotonoideae; Manihoteae; Manihot
+3988   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Malpighiales; Euphorbiaceae; Acalyphoideae; Acalypheae; Ricinus
+3993   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Malpighiales; Euphorbiaceae; Euphorbioideae; Euphorbieae; Euphorbia
+4006   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Malpighiales; Linaceae; Linum
+4039   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; asterids; campanulids; Apiales; Apiaceae; Apioideae; Scandiceae; Daucinae; Daucus
+4045   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; asterids; campanulids; Apiales; Apiaceae; Apioideae; apioid superclade; Apium clade; Apium
+4054   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; asterids; campanulids; Apiales; Araliaceae; Panax
+4072   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; asterids; lamiids; Solanales; Solanaceae; Capsicum
+4081   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; asterids; lamiids; Solanales; Solanaceae; Solanum; Lycopersicon
+4096   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; asterids; lamiids; Solanales; Solanaceae; Nicotiana
+4097   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; asterids; lamiids; Solanales; Solanaceae; Nicotiana
+4100   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; asterids; lamiids; Solanales; Solanaceae; Nicotiana
+4102   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; asterids; lamiids; Solanales; Solanaceae; Petunia
+4113   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; asterids; lamiids; Solanales; Solanaceae; Solanum
+4120   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; asterids; lamiids; Solanales; Convolvulaceae; Ipomoea
+4146   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; asterids; lamiids; Lamiales; Oleaceae; Olea
+4151   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; asterids; lamiids; Lamiales; Antirrhinaceae; Antirrhineae; Antirrhinum
+4182   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; asterids; lamiids; Lamiales; Pedaliaceae; Sesamum
+4232   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; asterids; campanulids; Asterales; Asteraceae; Asteroideae; Heliantheae; Helianthus
+4236   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; asterids; campanulids; Asterales; Asteraceae; Cichorioideae; Cichorieae; Lactuca
+4498   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; Liliopsida; Poales; Poaceae; Pooideae; Aveneae; Avena
+4513   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; Liliopsida; Poales; Poaceae; Pooideae; Triticeae; Hordeum
+4530   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; Liliopsida; Poales; Poaceae; Ehrhartoideae; Oryzeae; Oryza
+4543   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; Liliopsida; Poales; Poaceae; PACCAD clade; Panicoideae; Paniceae; Pennisetum
+4547   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; Liliopsida; Poales; Poaceae; PACCAD clade; Panicoideae; Andropogoneae; Saccharum
+4550   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; Liliopsida; Poales; Poaceae; Pooideae; Triticeae; Secale
+4558   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; Liliopsida; Poales; Poaceae; PACCAD clade; Panicoideae; Andropogoneae; Sorghum
+4560   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; Liliopsida; Poales; Poaceae; PACCAD clade; Panicoideae; Andropogoneae; Sorghum
+4565   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; Liliopsida; Poales; Poaceae; Pooideae; Triticeae; Triticum
+4568   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; Liliopsida; Poales; Poaceae; Pooideae; Triticeae; Triticum
+4571   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; Liliopsida; Poales; Poaceae; Pooideae; Triticeae; Triticum
+4573   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; Liliopsida; Poales; Poaceae; Pooideae; Triticeae; Aegilops
+4577   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; Liliopsida; Poales; Poaceae; PACCAD clade; Panicoideae; Andropogoneae; Zea
+4641   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; Liliopsida; Zingiberales; Musaceae; Musa
+4679   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; Liliopsida; Asparagales; Alliaceae; Allium
+4682   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; Liliopsida; Asparagales; Alliaceae; Allium
+4686   Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; Liliopsida; Asparagales; Asparagaceae; Asparagus
+4754   Eukaryota; Fungi; Ascomycota; Pneumocystidomycetes; Pneumocystidaceae; Pneumocystis
+4787   Eukaryota; stramenopiles; Oomycetes; Pythiales; Pythiaceae; Phytophthora
+4790   Eukaryota; stramenopiles; Oomycetes; Pythiales; Pythiaceae; Phytophthora
+4876   Eukaryota; Fungi; Glomeromycota; Glomeromycetes; Glomerales; Glomeraceae; Glomus
+4896   Eukaryota; Fungi; Ascomycota; Schizosaccharomycetes; Schizosaccharomycetales; Schizosaccharomycetaceae; Schizosaccharomyces
+4905   Eukaryota; Fungi; Ascomycota; Saccharomycotina; Saccharomycetes; Saccharomycetales; Saccharomycetaceae; Pichia
+4911   Eukaryota; Fungi; Ascomycota; Saccharomycotina; Saccharomycetes; Saccharomycetales; Saccharomycetaceae; Kluyveromyces
+4916   Eukaryota; Fungi; Ascomycota; Saccharomycotina; Saccharomycetes; Saccharomycetales; Saccharomycetaceae; Kluyveromyces
+4920   Eukaryota; Fungi; Ascomycota; Saccharomycotina; Saccharomycetes; Saccharomycetales; Saccharomycetaceae; Pichia
+4931   Eukaryota; Fungi; Ascomycota; Saccharomycotina; Saccharomycetes; Saccharomycetales; Saccharomycetaceae; Saccharomyces
+4932   Eukaryota; Fungi; Ascomycota; Saccharomycotina; Saccharomycetes; Saccharomycetales; Saccharomycetaceae; Saccharomyces
+4934   Eukaryota; Fungi; Ascomycota; Saccharomycotina; Saccharomycetes; Saccharomycetales; Saccharomycetaceae; Saccharomyces
+4952   Eukaryota; Fungi; Ascomycota; Saccharomycotina; Saccharomycetes; Saccharomycetales; Dipodascaceae; Yarrowia
+4956   Eukaryota; Fungi; Ascomycota; Saccharomycotina; Saccharomycetes; Saccharomycetales; Saccharomycetaceae; Zygosaccharomyces
+4959   Eukaryota; Fungi; Ascomycota; Saccharomycotina; Saccharomycetes; Saccharomycetales; Saccharomycetaceae; Debaryomyces
+5037   Eukaryota; Fungi; Ascomycota; Pezizomycotina; Eurotiomycetes; Onygenales; Onygenaceae; Ajellomyces
+5059   Eukaryota; Fungi; Ascomycota; Pezizomycotina; Eurotiomycetes; Eurotiales; Trichocomaceae; mitosporic Trichocomaceae; Aspergillus
+5061   Eukaryota; Fungi; Ascomycota; Pezizomycotina; Eurotiomycetes; Eurotiales; Trichocomaceae; mitosporic Trichocomaceae; Aspergillus
+5062   Eukaryota; Fungi; Ascomycota; Pezizomycotina; Eurotiomycetes; Eurotiales; Trichocomaceae; mitosporic Trichocomaceae; Aspergillus
+5068   Eukaryota; Fungi; Ascomycota; Pezizomycotina; Eurotiomycetes; Eurotiales; Trichocomaceae; mitosporic Trichocomaceae; Aspergillus
+5085   Eukaryota; Fungi; Ascomycota; Pezizomycotina; Eurotiomycetes; Eurotiales; Trichocomaceae; mitosporic Trichocomaceae; Aspergillus
+5116   Eukaryota; Fungi; Ascomycota; Pezizomycotina; Sordariomycetes; Sordariomycetidae; Diaporthales; Valsaceae; Cryphonectria-Endothia complex; Cryphonectria
+5141   Eukaryota; Fungi; Ascomycota; Pezizomycotina; Sordariomycetes; Sordariomycetidae; Sordariales; Sordariaceae; Neurospora
+5180   Eukaryota; Fungi; Ascomycota; Pezizomycotina; Leotiomycetes; Helotiales; Sclerotiniaceae; Sclerotinia
+5207   Eukaryota; Fungi; Basidiomycota; Hymenomycetes; Heterobasidiomycetes; Tremellomycetidae; Tremellales; Tremellaceae; Filobasidiella
+5270   Eukaryota; Fungi; Basidiomycota; Ustilaginomycetes; Ustilaginomycetidae; Ustilaginales; Ustilaginaceae; Ustilago
+5272   Eukaryota; Fungi; Basidiomycota; Urediniomycetes; Microbotryomycetidae; Microbotryales; Microbotryaceae; Microbotryum
+5306   Eukaryota; Fungi; Basidiomycota; Hymenomycetes; Homobasidiomycetes; Aphyllophorales; Corticiaceae; Phanerochaete
+5322   Eukaryota; Fungi; Basidiomycota; Hymenomycetes; Homobasidiomycetes; Agaricales; Pleurotaceae; Pleurotus
+5334   Eukaryota; Fungi; Basidiomycota; Hymenomycetes; Homobasidiomycetes; Agaricales; Schizophyllaceae; Schizophyllum
+5341   Eukaryota; Fungi; Basidiomycota; Hymenomycetes; Homobasidiomycetes; Agaricales; Agaricaceae; Agaricus
+5346   Eukaryota; Fungi; Basidiomycota; Hymenomycetes; Homobasidiomycetes; Agaricales; Psathyrellaceae; Coprinopsis
+5457   Eukaryota; Fungi; Ascomycota; Pezizomycotina; Sordariomycetes; Sordariomycetes incertae sedis; Phyllachorales; Phyllachoraceae; Glomerella
+5466   Eukaryota; Fungi; Ascomycota; Pezizomycotina; Sordariomycetes; Sordariomycetes incertae sedis; Phyllachorales; Phyllachoraceae; mitosporic Phyllachoraceae; Colletotrichum
+5476   Eukaryota; Fungi; Ascomycota; Saccharomycotina; Saccharomycetes; Saccharomycetales; mitosporic Saccharomycetales; Candida
+5478   Eukaryota; Fungi; Ascomycota; Saccharomycotina; Saccharomycetes; Saccharomycetales; mitosporic Saccharomycetales; Candida
+5482   Eukaryota; Fungi; Ascomycota; Saccharomycotina; Saccharomycetes; Saccharomycetales; mitosporic Saccharomycetales; Candida
+5499   Eukaryota; Fungi; Ascomycota; Pezizomycotina; Dothideomycetes et Chaetothyriomycetes incertae sedis; Mycosphaerellaceae; mitosporic Mycosphaerellaceae; Cladosporium
+5501   Eukaryota; Fungi; Ascomycota; Pezizomycotina; Eurotiomycetes; Onygenales; mitosporic Onygenales; Coccidioides
+5507   Eukaryota; Fungi; Ascomycota; Pezizomycotina; Sordariomycetes; Hypocreomycetidae; Hypocreales; mitosporic Hypocreales; Fusarium; Fusarium oxysporum complex
+5514   Eukaryota; Fungi; Ascomycota; Pezizomycotina; Sordariomycetes; Hypocreomycetidae; Hypocreales; mitosporic Hypocreales; Fusarium
+5518   Eukaryota; Fungi; Ascomycota; Pezizomycotina; Sordariomycetes; Hypocreomycetidae; Hypocreales; Nectriaceae; Gibberella
+5530   Eukaryota; Fungi; Ascomycota; Pezizomycotina; Sordariomycetes; Hypocreomycetidae; Hypocreales; Clavicipitaceae; mitosporic Clavicipitaceae; Metarhizium
+5544   Eukaryota; Fungi; Ascomycota; Pezizomycotina; Sordariomycetes; Hypocreomycetidae; Hypocreales; Hypocreaceae; Hypocrea
+5660   Eukaryota; Euglenozoa; Kinetoplastida; Trypanosomatidae; Leishmania; Leishmania braziliensis species complex
+5661   Eukaryota; Euglenozoa; Kinetoplastida; Trypanosomatidae; Leishmania
+5664   Eukaryota; Euglenozoa; Kinetoplastida; Trypanosomatidae; Leishmania
+5671   Eukaryota; Euglenozoa; Kinetoplastida; Trypanosomatidae; Leishmania
+5691   Eukaryota; Euglenozoa; Kinetoplastida; Trypanosomatidae; Trypanosoma
+5693   Eukaryota; Euglenozoa; Kinetoplastida; Trypanosomatidae; Trypanosoma; Schizotrypanum
+5722   Eukaryota; Parabasalidea; Trichomonadida; Trichomonadidae; Trichomonadinae; Trichomonas
+5741   Eukaryota; Diplomonadida; Hexamitidae; Giardiinae; Giardia
+5759   Eukaryota; Entamoebidae; Entamoeba
+5802   Eukaryota; Alveolata; Apicomplexa; Coccidia; Eimeriida; Eimeriidae; Eimeria
+5807   Eukaryota; Alveolata; Apicomplexa; Coccidia; Eimeriida; Cryptosporidiidae; Cryptosporidium
+5811   Eukaryota; Alveolata; Apicomplexa; Coccidia; Eimeriida; Sarcocystidae; Toxoplasma
+5821   Eukaryota; Alveolata; Apicomplexa; Haemosporida; Plasmodium
+5825   Eukaryota; Alveolata; Apicomplexa; Haemosporida; Plasmodium
+5833   Eukaryota; Alveolata; Apicomplexa; Haemosporida; Plasmodium
+5855   Eukaryota; Alveolata; Apicomplexa; Haemosporida; Plasmodium
+5861   Eukaryota; Alveolata; Apicomplexa; Haemosporida; Plasmodium
+5875   Eukaryota; Alveolata; Apicomplexa; Piroplasmida; Theileriidae; Theileria
+5888   Eukaryota; Alveolata; Ciliophora; Oligohymenophorea; Peniculida; Paramecium
+5911   Eukaryota; Alveolata; Ciliophora; Oligohymenophorea; Hymenostomatida; Tetrahymenina; Tetrahymena
+5932   Eukaryota; Alveolata; Ciliophora; Oligohymenophorea; Hymenostomatida; Ophryoglenina; Ichthyophthirius
+5936   Eukaryota; Alveolata; Ciliophora; Spirotrichea; Hypotrichia; Euplotida; Euplotidae; Moneuplotes
+6085   Eukaryota; Metazoa; Cnidaria; Hydrozoa; Hydroida; Anthomedusae; Hydridae; Hydra
+6100   Eukaryota; Metazoa; Cnidaria; Hydrozoa; Hydroida; Leptomedusae; Aequoreidae; Aequorea
+6161   Eukaryota; Metazoa; Platyhelminthes; Turbellaria; Seriata; Tricladida; Paludicola; Dugesiidae; Dugesia
+6182   Eukaryota; Metazoa; Platyhelminthes; Trematoda; Digenea; Strigeidida; Schistosomatoidea; Schistosomatidae; Schistosoma
+6183   Eukaryota; Metazoa; Platyhelminthes; Trematoda; Digenea; Strigeidida; Schistosomatoidea; Schistosomatidae; Schistosoma
+6204   Eukaryota; Metazoa; Platyhelminthes; Cestoda; Eucestoda; Cyclophyllidea; Taeniidae; Taenia
+6210   Eukaryota; Metazoa; Platyhelminthes; Cestoda; Eucestoda; Cyclophyllidea; Taeniidae; Echinococcus
+6211   Eukaryota; Metazoa; Platyhelminthes; Cestoda; Eucestoda; Cyclophyllidea; Taeniidae; Echinococcus
+6238   Eukaryota; Metazoa; Nematoda; Chromadorea; Rhabditida; Rhabditoidea; Rhabditidae; Peloderinae; Caenorhabditis
+6239   Eukaryota; Metazoa; Nematoda; Chromadorea; Rhabditida; Rhabditoidea; Rhabditidae; Peloderinae; Caenorhabditis
+6248   Eukaryota; Metazoa; Nematoda; Chromadorea; Rhabditida; Panagrolaimoidea; Strongyloididae; Strongyloides
+6252   Eukaryota; Metazoa; Nematoda; Chromadorea; Ascaridida; Ascaridoidea; Ascarididae; Ascaris
+6253   Eukaryota; Metazoa; Nematoda; Chromadorea; Ascaridida; Ascaridoidea; Ascarididae; Ascaris
+6265   Eukaryota; Metazoa; Nematoda; Chromadorea; Ascaridida; Ascaridoidea; Toxocaridae; Toxocara
+6279   Eukaryota; Metazoa; Nematoda; Chromadorea; Spirurida; Filarioidea; Onchocercidae; Brugia
+6282   Eukaryota; Metazoa; Nematoda; Chromadorea; Spirurida; Filarioidea; Onchocercidae; Onchocerca
+6287   Eukaryota; Metazoa; Nematoda; Chromadorea; Spirurida; Filarioidea; Onchocercidae; Dirofilaria
+6289   Eukaryota; Metazoa; Nematoda; Chromadorea; Rhabditida; Strongylida; Trichostrongyloidea; Haemonchidae; Haemonchinae; Haemonchus
+6293   Eukaryota; Metazoa; Nematoda; Chromadorea; Spirurida; Filarioidea; Onchocercidae; Wuchereria
+6303   Eukaryota; Metazoa; Nematoda; Chromadorea; Tylenchida; Tylenchina; Tylenchoidea; Heteroderidae; Meloidogyninae; Meloidogyne
+6304   Eukaryota; Metazoa; Nematoda; Chromadorea; Tylenchida; Tylenchina; Tylenchoidea; Heteroderidae; Meloidogyninae; Meloidogyne
+6305   Eukaryota; Metazoa; Nematoda; Chromadorea; Tylenchida; Tylenchina; Tylenchoidea; Heteroderidae; Meloidogyninae; Meloidogyne
+6306   Eukaryota; Metazoa; Nematoda; Chromadorea; Tylenchida; Tylenchina; Tylenchoidea; Heteroderidae; Meloidogyninae; Meloidogyne
+6317   Eukaryota; Metazoa; Nematoda; Chromadorea; Rhabditida; Strongylida; Trichostrongyloidea; Haemonchidae; Ostertagiinae; Ostertagia
+6334   Eukaryota; Metazoa; Nematoda; Enoplea; Trichocephalida; Trichinellidae; Trichinella
+6500   Eukaryota; Metazoa; Mollusca; Gastropoda; Orthogastropoda; Apogastropoda; Heterobranchia; Euthyneura; Opisthobranchia; Anaspidea; Aplysioidea; Aplysiidae; Aplysia
+6526   Eukaryota; Metazoa; Mollusca; Gastropoda; Pulmonata; Basommatophora; Lymnaeoidea; Planorbidae; Biomphalaria
+6550   Eukaryota; Metazoa; Mollusca; Bivalvia; Pteriomorphia; Mytiloida; Mytiloidea; Mytilidae; Mytilus
+6551   Eukaryota; Metazoa; Mollusca; Bivalvia; Pteriomorphia; Mytiloida; Mytiloidea; Mytilidae; Mytilus
+6565   Eukaryota; Metazoa; Mollusca; Bivalvia; Pteriomorphia; Ostreoida; Ostreoidea; Ostreidae; Crassostrea
+6661   Eukaryota; Metazoa; Arthropoda; Crustacea; Branchiopoda; Anostraca; Artemiidae; Artemia
+6687   Eukaryota; Metazoa; Arthropoda; Crustacea; Malacostraca; Eumalacostraca; Eucarida; Decapoda; Dendrobranchiata; Penaeoidea; Penaeidae; Penaeus
+6689   Eukaryota; Metazoa; Arthropoda; Crustacea; Malacostraca; Eumalacostraca; Eucarida; Decapoda; Dendrobranchiata; Penaeoidea; Penaeidae; Litopenaeus
+6720   Eukaryota; Metazoa; Arthropoda; Crustacea; Malacostraca; Eumalacostraca; Eucarida; Decapoda; Pleocyemata; Astacidea; Astacoidea; Astacidae; Pacifastacus
+6941   Eukaryota; Metazoa; Arthropoda; Chelicerata; Arachnida; Acari; Parasitiformes; Ixodida; Ixodidae; Boophilus
+6943   Eukaryota; Metazoa; Arthropoda; Chelicerata; Arachnida; Acari; Parasitiformes; Ixodida; Ixodidae; Amblyomma
+6945   Eukaryota; Metazoa; Arthropoda; Chelicerata; Arachnida; Acari; Parasitiformes; Ixodida; Ixodidae; Ixodes
+7029   Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Paraneoptera; Hemiptera; Sternorrhyncha; Aphidiformes; Aphidoidea; Aphididae; Macrosiphini; Acyrthosiphon
+7038   Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Paraneoptera; Hemiptera; Sternorrhyncha; Aleyrodiformes; Aleyrodoidea; Aleyrodidae; Aleyrodinae; Bemisia
+7070   Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Coleoptera; Polyphaga; Cucujiformia; Tenebrionidae; Tribolium
+7091   Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Lepidoptera; Glossata; Ditrysia; Bombycoidea; Bombycidae; Bombyx
+7092   Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Lepidoptera; Glossata; Ditrysia; Bombycoidea; Bombycidae; Bombyx
+7111   Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Lepidoptera; Glossata; Ditrysia; Noctuoidea; Noctuidae; Plusiinae; Trichoplusia
+7121   Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Lepidoptera; Glossata; Ditrysia; Bombycoidea; Saturniidae; Saturniinae; Saturniini; Antheraea
+7130   Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Lepidoptera; Glossata; Ditrysia; Sphingiodea; Sphingidae; Sphinginae; Manduca
+7159   Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Diptera; Nematocera; Culicoidea; Aedes; Stegomyia
+7165   Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Diptera; Nematocera; Culicoidea; Anopheles
+7173   Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Diptera; Nematocera; Culicoidea; Anopheles
+7175   Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Diptera; Nematocera; Culicoidea; Culex; Culex
+7200   Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Diptera; Nematocera; Psychodoidea; Psychodidae; Lutzomyia; Lutzomyia
+7213   Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Diptera; Brachycera; Muscomorpha; Tephritoidea; Tephritidae; Ceratitis
+7217   Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Diptera; Brachycera; Muscomorpha; Ephydroidea; Drosophilidae; Drosophila
+7226   Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Diptera; Brachycera; Muscomorpha; Ephydroidea; Drosophilidae; Drosophila
+7227   Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Diptera; Brachycera; Muscomorpha; Ephydroidea; Drosophilidae; Drosophila
+7229   Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Diptera; Brachycera; Muscomorpha; Ephydroidea; Drosophilidae; Drosophila
+7234   Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Diptera; Brachycera; Muscomorpha; Ephydroidea; Drosophilidae; Drosophila
+7237   Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Diptera; Brachycera; Muscomorpha; Ephydroidea; Drosophilidae; Drosophila
+7240   Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Diptera; Brachycera; Muscomorpha; Ephydroidea; Drosophilidae; Drosophila
+7241   Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Diptera; Brachycera; Muscomorpha; Ephydroidea; Drosophilidae; Drosophila
+7244   Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Diptera; Brachycera; Muscomorpha; Ephydroidea; Drosophilidae; Drosophila
+7245   Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Diptera; Brachycera; Muscomorpha; Ephydroidea; Drosophilidae; Drosophila
+7264   Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Diptera; Brachycera; Muscomorpha; Ephydroidea; Drosophilidae; Drosophila
+7368   Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Diptera; Brachycera; Muscomorpha; Muscoidea; Muscidae; Haematobia
+7370   Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Diptera; Brachycera; Muscomorpha; Muscoidea; Muscidae; Musca
+7394   Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Diptera; Brachycera; Muscomorpha; Hippoboscoidea; Glossinidae; Glossina
+7460   Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Hymenoptera; Apocrita; Aculeata; Apoidea; Apidae; Apis
+7515   Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Siphonaptera; Pulicidae; Pulicinae; Ctenocephalides
+7634   Eukaryota; Metazoa; Echinodermata; Eleutherozoa; Echinozoa; Echinoidea; Euechinoidea; Echinacea; Echinoida; Echinometridae; Heliocidaris
+7650   Eukaryota; Metazoa; Echinodermata; Eleutherozoa; Echinozoa; Echinoidea; Euechinoidea; Echinacea; Echinoida; Strongylocentrotidae; Hemicentrotus
+7668   Eukaryota; Metazoa; Echinodermata; Eleutherozoa; Echinozoa; Echinoidea; Euechinoidea; Echinacea; Echinoida; Strongylocentrotidae; Strongylocentrotus
+7719   Eukaryota; Metazoa; Chordata; Urochordata; Ascidiacea; Enterogona; Phlebobranchia; Cionidae; Ciona
+7723   Eukaryota; Metazoa; Chordata; Urochordata; Ascidiacea; Stolidobranchia; Styelidae; Polyandrocarpa
+7729   Eukaryota; Metazoa; Chordata; Urochordata; Ascidiacea; Stolidobranchia; Pyuridae; Halocynthia
+7739   Eukaryota; Metazoa; Chordata; Cephalochordata; Branchiostomidae; Branchiostoma
+7741   Eukaryota; Metazoa; Chordata; Cephalochordata; Branchiostomidae; Branchiostoma
+7757   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Hyperoartia; Petromyzontiformes; Petromyzontidae; Petromyzon
+7801   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Chondrichthyes; Elasmobranchii; Galeomorphii; Galeoidea; Orectolobiformes; Ginglymostomatidae; Ginglymostoma
+7937   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Anguilliformes; Anguillidae; Anguilla
+7955   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Ostariophysi; Cypriniformes; Cyprinidae; Danio
+7957   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Ostariophysi; Cypriniformes; Cyprinidae; Carassius
+7959   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Ostariophysi; Cypriniformes; Cyprinidae; Ctenopharyngodon
+7962   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Ostariophysi; Cypriniformes; Cyprinidae; Cyprinus
+7998   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Ostariophysi; Siluriformes; Ictaluridae; Ictalurus
+8018   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Euteleostei; Protacanthopterygii; Salmoniformes; Salmonidae; Oncorhynchus
+8022   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Euteleostei; Protacanthopterygii; Salmoniformes; Salmonidae; Oncorhynchus
+8023   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Euteleostei; Protacanthopterygii; Salmoniformes; Salmonidae; Oncorhynchus
+8030   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Euteleostei; Protacanthopterygii; Salmoniformes; Salmonidae; Salmo
+8032   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Euteleostei; Protacanthopterygii; Salmoniformes; Salmonidae; Salmo
+8036   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Euteleostei; Protacanthopterygii; Salmoniformes; Salmonidae; Salvelinus
+8049   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Euteleostei; Neoteleostei; Acanthomorpha; Paracanthopterygii; Gadiformes; Gadidae; Gadus
+8078   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Euteleostei; Neoteleostei; Acanthomorpha; Acanthopterygii; Percomorpha; Atherinomorpha; Cyprinodontiformes; Fundulidae; Fundulus
+8081   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Euteleostei; Neoteleostei; Acanthomorpha; Acanthopterygii; Percomorpha; Atherinomorpha; Cyprinodontiformes; Poeciliidae; Poecilia
+8090   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Euteleostei; Neoteleostei; Acanthomorpha; Acanthopterygii; Percomorpha; Atherinomorpha; Beloniformes; Adrianichthyidae; Oryziinae; Oryzias
+8128   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Euteleostei; Neoteleostei; Acanthomorpha; Acanthopterygii; Percomorpha; Perciformes; Labroidei; Cichlidae; Oreochromis
+8150   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Euteleostei; Neoteleostei; Acanthomorpha; Acanthopterygii; Percomorpha; Perciformes; Labroidei; Cichlidae; Tropheus
+8161   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Euteleostei; Neoteleostei; Acanthomorpha; Acanthopterygii; Percomorpha; Perciformes; Carangoidei; Carangidae; Seriola
+8175   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Euteleostei; Neoteleostei; Acanthomorpha; Acanthopterygii; Percomorpha; Perciformes; Percoidei; Sparidae; Sparus
+8222   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Euteleostei; Neoteleostei; Acanthomorpha; Acanthopterygii; Percomorpha; Perciformes; Gobioidei; Gobiidae; Gillichthys
+8245   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Euteleostei; Neoteleostei; Acanthomorpha; Acanthopterygii; Percomorpha; Perciformes; Scombroidei; Xiphiidae; Xiphias
+8255   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Euteleostei; Neoteleostei; Acanthomorpha; Acanthopterygii; Percomorpha; Pleuronectiformes; Pleuronectoidei; Paralichthyidae; Paralichthys
+8260   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Euteleostei; Neoteleostei; Acanthomorpha; Acanthopterygii; Percomorpha; Pleuronectiformes; Pleuronectoidei; Pleuronectidae; Platichthys
+8262   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Euteleostei; Neoteleostei; Acanthomorpha; Acanthopterygii; Percomorpha; Pleuronectiformes; Pleuronectoidei; Pleuronectidae; Pleuronectes
+8265   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Euteleostei; Neoteleostei; Acanthomorpha; Acanthopterygii; Percomorpha; Pleuronectiformes; Pleuronectoidei; Pleuronectidae; Pseudopleuronectes
+8267   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Euteleostei; Neoteleostei; Acanthomorpha; Acanthopterygii; Percomorpha; Pleuronectiformes; Pleuronectoidei; Pleuronectidae; Hippoglossus
+8296   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Amphibia; Batrachia; Caudata; Salamandroidea; Ambystomatidae; Ambystoma
+8355   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Amphibia; Batrachia; Anura; Mesobatrachia; Pipoidea; Pipidae; Xenopodinae; Xenopus
+8364   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Amphibia; Batrachia; Anura; Mesobatrachia; Pipoidea; Pipidae; Xenopodinae; Silurana
+8400   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Amphibia; Batrachia; Anura; Neobatrachia; Ranoidea; Ranidae; Rana; Aquarana
+8723   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Lepidosauria; Squamata; Scleroglossa; Serpentes; Colubroidea; Viperidae; Crotalinae; Bothrops
+8801   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Archosauria; Aves; Palaeognathae; Struthioniformes; Struthionidae; Struthio
+8839   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Archosauria; Aves; Neognathae; Anseriformes; Anatidae; Anas
+8932   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Archosauria; Aves; Neognathae; Columbiformes; Columbidae; Columba
+9031   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Archosauria; Aves; Neognathae; Galliformes; Phasianidae; Phasianinae; Gallus
+9091   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Archosauria; Aves; Neognathae; Galliformes; Phasianidae; Phasianinae; Coturnix
+9103   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Archosauria; Aves; Neognathae; Galliformes; Phasianidae; Meleagris
+9157   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Archosauria; Aves; Neognathae; Passeriformes; Paridae; Parus
+9238   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Archosauria; Aves; Neognathae; Sphenisciformes; Spheniscidae; Pygoscelis
+9258   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Monotremata; Ornithorhynchidae; Ornithorhynchus
+9315   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Metatheria; Diprotodontia; Macropodidae; Macropus
+9337   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Metatheria; Diprotodontia; Phalangeridae; Trichosurus
+9361   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Edentata; Dasypodidae; Dasypus
+9438   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Chiroptera; Microchiroptera; Molossidae; Tadarida
+9447   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Primates; Strepsirhini; Lemuridae; Lemur
+9483   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Primates; Platyrrhini; Callitrichidae; Callithrix
+9490   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Primates; Platyrrhini; Callitrichidae; Saguinus
+9509   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Primates; Platyrrhini; Cebidae; Atelinae; Ateles
+9521   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Primates; Platyrrhini; Cebidae; Cebinae; Saimiri
+9534   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Primates; Catarrhini; Cercopithecidae; Cercopithecinae; Cercopithecus
+9541   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Primates; Catarrhini; Cercopithecidae; Cercopithecinae; Macaca
+9542   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Primates; Catarrhini; Cercopithecidae; Cercopithecinae; Macaca
+9544   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Primates; Catarrhini; Cercopithecidae; Cercopithecinae; Macaca
+9545   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Primates; Catarrhini; Cercopithecidae; Cercopithecinae; Macaca
+9555   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Primates; Catarrhini; Cercopithecidae; Cercopithecinae; Papio
+9557   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Primates; Catarrhini; Cercopithecidae; Cercopithecinae; Papio
+9580   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Primates; Catarrhini; Hylobatidae; Hylobates
+9593   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Primates; Catarrhini; Hominidae; Gorilla
+9597   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Primates; Catarrhini; Hominidae; Pan
+9598   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Primates; Catarrhini; Hominidae; Pan
+9600   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Primates; Catarrhini; Hominidae; Pongo
+9606   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Primates; Catarrhini; Hominidae; Homo
+9615   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Carnivora; Fissipedia; Canidae; Canis
+9644   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Carnivora; Fissipedia; Ursidae; Ursus
+9660   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Carnivora; Fissipedia; Mustelidae; Mustelinae; Martes
+9685   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Carnivora; Fissipedia; Felidae; Felis
+9720   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Carnivora; Pinnipedia; Phocidae; Phoca
+9783   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Proboscidea; Elephantidae; Elephas
+9785   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Proboscidea; Elephantidae; Loxodonta
+9796   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Perissodactyla; Equidae; Equus
+9823   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Cetartiodactyla; Suina; Suidae; Sus
+9838   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Cetartiodactyla; Tylopoda; Camelidae; Camelus
+9844   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Cetartiodactyla; Tylopoda; Camelidae; Lama
+9860   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Cetartiodactyla; Ruminantia; Pecora; Cervoidea; Cervidae; Cervinae; Cervus
+9870   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Cetartiodactyla; Ruminantia; Pecora; Cervoidea; Cervidae; Odocoileinae; Rangifer
+9897   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Cetartiodactyla; Ruminantia; Pecora; Bovoidea; Bovidae; Aepycerotinae; Aepyceros
+9913   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Cetartiodactyla; Ruminantia; Pecora; Bovoidea; Bovidae; Bovinae; Bos
+9915   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Cetartiodactyla; Ruminantia; Pecora; Bovoidea; Bovidae; Bovinae; Bos
+9925   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Cetartiodactyla; Ruminantia; Pecora; Bovoidea; Bovidae; Caprinae; Capra
+9940   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Cetartiodactyla; Ruminantia; Pecora; Bovoidea; Bovidae; Caprinae; Ovis
+9970   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Cetartiodactyla; Ruminantia; Pecora; Bovoidea; Bovidae; Bovinae; Syncerus
+9986   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Lagomorpha; Leporidae; Oryctolagus
+9995   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Rodentia; Sciurognathi; Sciuridae; Sciurinae; Marmota
+10029  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Rodentia; Sciurognathi; Muridae; Cricetinae; Cricetulus
+10036  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Rodentia; Sciurognathi; Muridae; Cricetinae; Mesocricetus
+10041  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Rodentia; Sciurognathi; Muridae; Sigmodontinae; Peromyscus
+10042  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Rodentia; Sciurognathi; Muridae; Sigmodontinae; Peromyscus
+10047  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Rodentia; Sciurognathi; Muridae; Gerbillinae; Meriones
+10090  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Rodentia; Sciurognathi; Muridae; Murinae; Mus
+10096  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Rodentia; Sciurognathi; Muridae; Murinae; Mus
+10116  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Rodentia; Sciurognathi; Muridae; Murinae; Rattus
+10117  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Rodentia; Sciurognathi; Muridae; Murinae; Rattus
+10129  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Rodentia; Sciurognathi; Muridae; Murinae; Apodemus
+10141  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Rodentia; Hystricognathi; Caviidae; Cavia
+10245  Viruses; dsDNA viruses, no RNA stage; Poxviridae; Chordopoxvirinae; Orthopoxvirus
+10298  Viruses; dsDNA viruses, no RNA stage; Herpesviridae; Alphaherpesvirinae; Simplexvirus
+10335  Viruses; dsDNA viruses, no RNA stage; Herpesviridae; Alphaherpesvirinae; Varicellovirus
+10345  Viruses; dsDNA viruses, no RNA stage; Herpesviridae; Alphaherpesvirinae; Varicellovirus
+10359  Viruses; dsDNA viruses, no RNA stage; Herpesviridae; Betaherpesvirinae; Cytomegalovirus
+10376  Viruses; dsDNA viruses, no RNA stage; Herpesviridae; Gammaherpesvirinae; Lymphocryptovirus
+10407  Viruses; Retroid viruses; Hepadnaviridae; Orthohepadnavirus
+10497  Viruses; dsDNA viruses, no RNA stage; Asfarviridae; Asfivirus
+10566  Viruses; dsDNA viruses, no RNA stage; Papillomaviridae; Papillomavirus
+10581  Viruses; dsDNA viruses, no RNA stage; Papillomaviridae; Papillomavirus
+10632  Viruses; dsDNA viruses, no RNA stage; Polyomaviridae; Polyomavirus
+10633  Viruses; dsDNA viruses, no RNA stage; Polyomaviridae; Polyomavirus
+10760  Viruses; dsDNA viruses, no RNA stage; Caudovirales; Podoviridae; T7-like viruses
+10798  Viruses; ssDNA viruses; Parvoviridae; Parvovirinae; Erythrovirus
+10995  Viruses; dsRNA viruses; Birnaviridae; Avibirnavirus
+11034  Viruses; ssRNA positive-strand viruses, no DNA stage; Togaviridae; Alphavirus; WEEV complex
+11041  Viruses; ssRNA positive-strand viruses, no DNA stage; Togaviridae; Rubivirus
+11047  Viruses; ssRNA positive-strand viruses, no DNA stage; Nidovirales; Arteriviridae; Arterivirus
+11072  Viruses; ssRNA positive-strand viruses, no DNA stage; Flaviviridae; Flavivirus; Japanese encephalitis virus group
+11082  Viruses; ssRNA positive-strand viruses, no DNA stage; Flaviviridae; Flavivirus; Japanese encephalitis virus group
+11099  Viruses; ssRNA positive-strand viruses, no DNA stage; Flaviviridae; Pestivirus
+11103  Viruses; ssRNA positive-strand viruses, no DNA stage; Flaviviridae; Hepacivirus
+11120  Viruses; ssRNA positive-strand viruses, no DNA stage; Nidovirales; Coronaviridae; Coronavirus
+11161  Viruses; ssRNA negative-strand viruses; Mononegavirales; Paramyxoviridae; Paramyxovirinae; Rubulavirus
+11176  Viruses; ssRNA negative-strand viruses; Mononegavirales; Paramyxoviridae; Paramyxovirinae; Rubulavirus
+11234  Viruses; ssRNA negative-strand viruses; Mononegavirales; Paramyxoviridae; Paramyxovirinae; Morbillivirus
+11246  Viruses; ssRNA negative-strand viruses; Mononegavirales; Paramyxoviridae; Pneumovirinae; Pneumovirus
+11250  Viruses; ssRNA negative-strand viruses; Mononegavirales; Paramyxoviridae; Pneumovirinae; Pneumovirus
+11264  Viruses; ssRNA negative-strand viruses; Mononegavirales; Paramyxoviridae; Pneumovirinae; Metapneumovirus
+11276  Viruses; ssRNA negative-strand viruses; Mononegavirales; Rhabdoviridae; Vesiculovirus
+11292  Viruses; ssRNA negative-strand viruses; Mononegavirales; Rhabdoviridae; Lyssavirus
+11660  Viruses; Retroid viruses; Retroviridae; Lentivirus; Ovine/caprine lentivirus
+11665  Viruses; Retroid viruses; Retroviridae; Lentivirus; Equine lentiviruses
+11673  Viruses; Retroid viruses; Retroviridae; Lentivirus; Feline lentiviruses
+11676  Viruses; Retroid viruses; Retroviridae; Lentivirus; Primate lentivirus group
+11709  Viruses; Retroid viruses; Retroviridae; Lentivirus; Primate lentivirus group
+11723  Viruses; Retroid viruses; Retroviridae; Lentivirus; Primate lentivirus group
+11768  Viruses; Retroid viruses; Retroviridae; Gammaretrovirus
+11786  Viruses; Retroid viruses; Retroviridae; Gammaretrovirus
+11827  Viruses; Retroid viruses; Retroviridae
+11886  Viruses; Retroid viruses; Retroviridae; Alpharetrovirus
+11966  Viruses; Retroid viruses; Retroviridae
+11983  Viruses; ssRNA positive-strand viruses, no DNA stage; Caliciviridae; Norovirus
+12092  Viruses; ssRNA positive-strand viruses, no DNA stage; Picornaviridae; Hepatovirus
+12111  Viruses; ssRNA positive-strand viruses, no DNA stage; Picornaviridae; Aphthovirus; Foot-and-mouth disease virus
+12118  Viruses; ssRNA positive-strand viruses, no DNA stage; Picornaviridae; Aphthovirus; Foot-and-mouth disease virus
+12162  Viruses; ssRNA positive-strand viruses, no DNA stage; Closteroviridae; Closterovirus
+12216  Viruses; ssRNA positive-strand viruses, no DNA stage; Potyviridae; Potyvirus
+12230  Viruses; ssRNA positive-strand viruses, no DNA stage; Potyviridae; Potyvirus
+12232  Viruses; ssRNA positive-strand viruses, no DNA stage; Potyviridae; Potyvirus
+12305  Viruses; ssRNA positive-strand viruses, no DNA stage; Bromoviridae; Cucumovirus
+12461  Viruses; ssRNA positive-strand viruses, no DNA stage; Hepatitis E-like viruses
+12475  Viruses; Deltavirus
+12637  Viruses; ssRNA positive-strand viruses, no DNA stage; Flaviviridae; Flavivirus; Dengue virus group
+12702  Viruses; ssRNA positive-strand viruses, no DNA stage; Astroviridae; Mamastrovirus
+12721  Viruses; Retroid viruses; Retroviridae; Lentivirus; Primate lentivirus group
+12814  Viruses; ssRNA negative-strand viruses; Mononegavirales; Paramyxoviridae; Pneumovirinae; Pneumovirus
+13323  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Euteleostei; Neoteleostei; Acanthomorpha; Acanthopterygii; Percomorpha; Perciformes; Scombroidei; Scombridae; Acanthocybium
+13333  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; stem Magnoliophyta; Amborellaceae; Amborella
+13443  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; asterids; lamiids; Gentianales; Rubiaceae; Ixoroideae; Coffeeae; Coffea
+13489  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Euteleostei; Neoteleostei; Acanthomorpha; Acanthopterygii; Percomorpha; Perciformes; Percoidei; Moronidae; Dicentrarchus
+13515  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Primates; Strepsirhini; Lemuridae; Eulemur
+13563  Eukaryota; Fungi; Basidiomycota; Hymenomycetes; Homobasidiomycetes; Agaricales; Schizophyllaceae; Heterobasidion; Heterobasidion annosum species complex
+13616  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Metatheria; Didelphimorphia; Didelphidae; Monodelphis
+13773  Archaea; Crenarchaeota; Thermoprotei; Thermoproteales; Thermoproteaceae; Pyrobaculum
+23211  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Rosales; Rosaceae; Maloideae; Pyrus
+27288  Eukaryota; Fungi; Ascomycota; Saccharomycotina; Saccharomycetes; Saccharomycetales; Saccharomycetaceae; Saccharomyces
+27291  Eukaryota; Fungi; Ascomycota; Saccharomycotina; Saccharomycetes; Saccharomycetales; Saccharomycetaceae; Saccharomyces
+27293  Eukaryota; Fungi; Ascomycota; Saccharomycotina; Saccharomycetes; Saccharomycetales; Saccharomycetaceae; Saccharomyces
+27294  Eukaryota; Fungi; Ascomycota; Saccharomycotina; Saccharomycetes; Saccharomycetales; Saccharomycetaceae; Saccharomyces
+27337  Eukaryota; Fungi; Ascomycota; Pezizomycotina; Sordariomycetes; Hypocreomycetidae; Hypocreales; mitosporic Hypocreales; Verticillium
+27405  Eukaryota; Metazoa; Arthropoda; Crustacea; Malacostraca; Eumalacostraca; Eucarida; Decapoda; Dendrobranchiata; Penaeoidea; Penaeidae; Marsupenaeus
+27689  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Chondrostei; Acipenseriformes; Acipenseridae; Acipenser
+27828  Eukaryota; Metazoa; Nematoda; Chromadorea; Rhabditida; Strongylida; Trichostrongyloidea; Cooperiidae; Cooperia
+27835  Eukaryota; Metazoa; Nematoda; Chromadorea; Rhabditida; Strongylida; Trichostrongyloidea; Heligmonellidae; Nippostrongylinae; Nippostrongylus
+27923  Eukaryota; Metazoa; Ctenophora; Cyclocoela; Lobata; Bolinopsidae; Mnemiopsis
+28037  Bacteria; Firmicutes; Lactobacillales; Streptococcaceae; Streptococcus
+28232  Bacteria; Proteobacteria; Deltaproteobacteria; Desulfuromonadales; Geobacteraceae; Geobacter
+28344  Viruses; ssRNA positive-strand viruses, no DNA stage; Nidovirales; Arteriviridae; Arterivirus
+28450  Bacteria; Proteobacteria; Betaproteobacteria; Burkholderiales; Burkholderiaceae; Burkholderia; pseudomallei group
+28526  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; asterids; lamiids; Solanales; Solanaceae; Solanum; Lycopersicon
+28532  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids II; Brassicales; Brassicaceae; Cleome
+28610  Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Diptera; Brachycera; Muscomorpha; Tephritoidea; Tephritidae; Rhagoletis
+28875  Viruses; dsRNA viruses; Reoviridae; Rotavirus
+28901  Bacteria; Proteobacteria; Gammaproteobacteria; Enterobacteriales; Enterobacteriaceae; Salmonella
+28909  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; Liliopsida; Poales; Poaceae; PACCAD clade; Chloridoideae; Cynodonteae; Cynodon
+28985  Eukaryota; Fungi; Ascomycota; Saccharomycotina; Saccharomycetes; Saccharomycetales; Saccharomycetaceae; Kluyveromyces
+29058  Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Lepidoptera; Glossata; Ditrysia; Noctuoidea; Noctuidae; Heliothinae; Helicoverpa
+29158  Eukaryota; Metazoa; Mollusca; Bivalvia; Pteriomorphia; Mytiloida; Mytiloidea; Mytilidae; Mytilus
+29159  Eukaryota; Metazoa; Mollusca; Bivalvia; Pteriomorphia; Ostreoida; Ostreoidea; Ostreidae; Crassostrea
+29170  Eukaryota; Metazoa; Nematoda; Chromadorea; Rhabditida; Strongylida; Ancylostomatoidea; Ancylostomatidae; Ancylostomatinae; Ancylostoma
+29176  Eukaryota; Alveolata; Apicomplexa; Coccidia; Eimeriida; Sarcocystidae; Neospora
+29449  Bacteria; Proteobacteria; Alphaproteobacteria; Rhizobiales; Rhizobiaceae; Rhizobium/Agrobacterium group; Rhizobium
+29459  Bacteria; Proteobacteria; Alphaproteobacteria; Rhizobiales; Brucellaceae; Brucella
+29471  Bacteria; Proteobacteria; Gammaproteobacteria; Enterobacteriales; Enterobacteriaceae; Pectobacterium
+29488  Bacteria; Proteobacteria; Gammaproteobacteria; Enterobacteriales; Enterobacteriaceae; Photorhabdus
+29501  Bacteria; Firmicutes; Mollicutes; Mycoplasmataceae; Mycoplasma
+29518  Bacteria; Spirochaetes; Spirochaetales; Spirochaetaceae; Borrelia; Borrelia burgdorferi group
+29519  Bacteria; Spirochaetes; Spirochaetales; Spirochaetaceae; Borrelia; Borrelia burgdorferi group
+29546  Bacteria; Proteobacteria; Deltaproteobacteria; Desulfovibrionales; Desulfovibrionaceae; Lawsonia
+29729  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids II; Malvales; Malvaceae; Malvoideae; Gossypium
+29730  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids II; Malvales; Malvaceae; Malvoideae; Gossypium
+29760  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; Vitaceae; Vitis
+29883  Eukaryota; Fungi; Basidiomycota; Hymenomycetes; Homobasidiomycetes; Agaricales; Tricholomataceae; Laccaria
+30286  Eukaryota; Metazoa; Chordata; Urochordata; Ascidiacea; Stolidobranchia; Molgulidae; Molgula
+30301  Eukaryota; Metazoa; Chordata; Urochordata; Ascidiacea; Stolidobranchia; Botryllidae; Botryllus
+31033  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Euteleostei; Neoteleostei; Acanthomorpha; Acanthopterygii; Percomorpha; Tetraodontiformes; Tetradontoidea; Tetraodontidae; Takifugu
+31199  Eukaryota; Metazoa; Mollusca; Bivalvia; Pteriomorphia; Pectinoida; Pectinoidea; Pectinidae; Argopecten
+31216  Eukaryota; Metazoa; Mollusca; Gastropoda; Orthogastropoda; Apogastropoda; Caenogastropoda; Sorbeoconcha; Hypsogastropoda; Littorinimorpha; Littorinoidea; Littorinidae; Littorina
+31243  Eukaryota; Metazoa; Nematoda; Chromadorea; Tylenchida; Tylenchina; Tylenchoidea; Heteroderidae; Heteroderinae; Globodera
+32538  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Carnivora; Fissipedia; Felidae; Leopardus
+33085  Eukaryota; Entamoebidae; Entamoeba
+33169  Eukaryota; Fungi; Ascomycota; Saccharomycotina; Saccharomycetes; Saccharomycetales; Saccharomycetaceae; Eremothecium
+33178  Eukaryota; Fungi; Ascomycota; Pezizomycotina; Eurotiomycetes; Eurotiales; Trichocomaceae; mitosporic Trichocomaceae; Aspergillus
+34245  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; asterids; campanulids; Asterales; Asteraceae; Asteroideae; Heliantheae; Zinnia
+34256  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; asterids; lamiids; Lamiales; Lamiaceae; Nepetoideae; Mentheae; Mentha
+34274  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids II; Malvales; Malvaceae; Malvoideae; Gossypium
+34317  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; Myrtales; Myrtaceae; Eucalyptus
+34358  Eukaryota; Fungi; Ascomycota; Saccharomycotina; Saccharomycetes; Saccharomycetales; Saccharomycetaceae; Saccharomyces
+34373  Eukaryota; Fungi; Ascomycota; Pezizomycotina; Leotiomycetes; Erysiphales; Erysiphaceae; Blumeria
+34488  Eukaryota; Fungi; Zygomycota; Zygomycetes; Entomophthorales; Ancylistaceae; Conidiobolus
+34506  Eukaryota; Metazoa; Nematoda; Chromadorea; Rhabditida; Panagrolaimoidea; Strongyloididae; Strongyloides
+34594  Eukaryota; Metazoa; Arthropoda; Chelicerata; Arachnida; Acari; Parasitiformes; Ixodida; Argasidae; Ornithodoros
+34610  Eukaryota; Metazoa; Arthropoda; Chelicerata; Arachnida; Acari; Parasitiformes; Ixodida; Ixodidae; Amblyomma
+34740  Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Lepidoptera; Glossata; Ditrysia; Papilionoidea; Nymphalidae; Heliconiinae; Heliconius
+34765  Eukaryota; Metazoa; Chordata; Urochordata; Appendicularia; Oikopleuridae; Oikopleura
+34816  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Euteleostei; Neoteleostei; Acanthomorpha; Acanthopterygii; Percomorpha; Perciformes; Percoidei; Moronidae; Morone
+35520  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; Liliopsida; Poales; Poaceae; PACCAD clade; Panicoideae; Paniceae; Pennisetum
+35632  Eukaryota; Metazoa; Annelida; Clitellata; Oligochaeta; Haplotaxida; Lumbricina; Lumbricidae; Lumbricus
+35845  Eukaryota; Viridiplantae; Chlorophyta; Ulvophyceae; Dasycladales; Dasycladaceae; Acetabularia
+35876  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; Liliopsida; Asparagales; Iridaceae; Iris
+35883  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; asterids; lamiids; Solanales; Convolvulaceae; Ipomoea
+35884  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; asterids; lamiids; Solanales; Convolvulaceae; Ipomoea
+35938  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Fabales; Fabaceae; Papilionoideae; Robinieae; Robinia
+36090  Eukaryota; Metazoa; Nematoda; Chromadorea; Tylenchida; Tylenchina; Tylenchoidea; Heteroderidae; Heteroderinae; Globodera
+36452  Viruses; dsDNA viruses, no RNA stage; Herpesviridae; unclassified Herpesviridae; stealth viruses
+36596  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Rosales; Rosaceae; Amygdaloideae; Prunus
+36825  Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Orthopteroidea; Phasmatodea; Euphasmida; Phyllioidea; Bacillidae; Bacillus
+37293  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Primates; Platyrrhini; Cebidae; Aotinae; Aotus
+37296  Viruses; dsDNA viruses, no RNA stage; Herpesviridae; Gammaherpesvirinae; Rhadinovirus
+37468  Eukaryota; Fungi; Basidiomycota; Hymenomycetes; Homobasidiomycetes; Boletales; Sclerodermatineae; Pisolithaceae; Pisolithus
+37656  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids II; Sapindales; Rutaceae; Citrus
+37657  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; Caryophyllales; Caryophyllaceae; Silene
+37682  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; Liliopsida; Poales; Poaceae; Pooideae; Triticeae; Aegilops
+37690  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids II; Sapindales; Rutaceae; Poncirus
+37727  Eukaryota; Fungi; Ascomycota; Pezizomycotina; Eurotiomycetes; Eurotiales; Trichocomaceae; mitosporic Trichocomaceae; Penicillium
+37769  Eukaryota; Fungi; Basidiomycota; Hymenomycetes; Heterobasidiomycetes; Tremellomycetidae; Tremellales; Tremellaceae; Filobasidiella
+38033  Eukaryota; Fungi; Ascomycota; Pezizomycotina; Sordariomycetes; Sordariomycetidae; Sordariales; Chaetomiaceae; Chaetomium
+38249  Eukaryota; Euglenozoa; Kinetoplastida; Trypanosomatidae; Trypanosoma
+38666  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Rodentia; Sciurognathi; Heteromyidae; Perognathinae; Chaetodipus
+38937  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Lepidosauria; Squamata; Iguania; Iguanidae; Polychrotinae; Anolis
+39984  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Malpighiales; Rhizophoraceae; Bruguiera
+40051  Viruses; dsRNA viruses; Reoviridae; Orbivirus
+40352  Eukaryota; Metazoa; Nematoda; Chromadorea; Rhabditida; Strongylida; Trichostrongyloidea; Trichostrongylidae; Trichostrongylinae; Trichostrongylus
+40366  Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Diptera; Brachycera; Muscomorpha; Ephydroidea; Drosophilidae; Drosophila
+40559  Eukaryota; Fungi; Ascomycota; Pezizomycotina; Leotiomycetes; Helotiales; Sclerotiniaceae; Botryotinia
+40686  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Malpighiales; Salicaceae; Saliceae; Salix
+40930  Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Paraneoptera; Hemiptera; Sternorrhyncha; Aphidiformes; Coccoidea; Pseudococcidae; Planococcus
+40932  Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Paraneoptera; Hemiptera; Sternorrhyncha; Aphidiformes; Aphidoidea; Aphididae; Aphidini; Rhopalosiphum
+41429  Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Diptera; Nematocera; Culicoidea; Anopheles
+42156  Eukaryota; Metazoa; Nematoda; Chromadorea; Spirurida; Filarioidea; Onchocercidae; Litomosoides
+42251  Eukaryota; Fungi; Ascomycota; Pezizomycotina; Pezizomycetes; Pezizales; Tuberaceae; Tuber
+42329  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Cycadophyta; Cycadales; Zamiaceae; Zamia
+42439  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids II; Brassicales; Limnanthaceae; Limnanthes
+42677  Eukaryota; Fungi; Ascomycota; Pezizomycotina; Sordariomycetes; Hypocreomycetidae; Hypocreales; Nectriaceae; Gibberella; Gibberella fujikuroi complex
+42890  Eukaryota; Alveolata; Apicomplexa; Coccidia; Eimeriida; Sarcocystidae; Sarcocystis
+43114  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Amphibia; Batrachia; Caudata; Salamandroidea; Ambystomatidae; Ambystoma
+43425  Eukaryota; Fungi; Glomeromycota; Glomeromycetes; Glomerales; Glomeraceae; Glomus
+43928  Archaea; Euryarchaeota; Halobacteria; Halobacteriales; Halobacteriaceae; Halobaculum
+44015  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Fabales; Fabaceae; Papilionoideae; Phaseoleae; Glycine
+44689  Eukaryota; Mycetozoa; Dictyosteliida; Dictyostelium
+45249  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids II; Brassicales; Brassicaceae; Arabidopsis
+45464  Eukaryota; Metazoa; Nematoda; Chromadorea; Rhabditida; Strongylida; Trichostrongyloidea; Haemonchidae; Ostertagiinae; Teladorsagia
+45687  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Fabales; Fabaceae; Papilionoideae; Phaseoleae; Glycine
+45929  Eukaryota; Metazoa; Nematoda; Chromadorea; Tylenchida; Tylenchina; Tylenchoidea; Pratylenchidae; Pratylenchinae; Pratylenchus
+45954  Eukaryota; Metazoa; Mollusca; Bivalvia; Heteroconchia; Veneroida; Dreissenoidea; Dreissenidae; Dreissena
+46761  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Amphibia; Batrachia; Caudata; Salamandroidea; Plethodontidae; Plethodon
+47247  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Fabales; Fabaceae; Papilionoideae; Loteae; Lotus
+47664  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Malpighiales; Salicaceae; Saliceae; Populus
+47834  Bacteria; Firmicutes; Mollicutes; Entomoplasmatales; Spiroplasmataceae; Spiroplasma
+47853  Bacteria; Actinobacteria; Actinobacteridae; Actinomycetales; Micromonosporineae; Micromonosporaceae; Micromonospora
+48215  Eukaryota; Metazoa; Platyhelminthes; Trematoda; Digenea; Echinostomida; Echinostomata; Echinostomatidae; Echinostoma
+48935  Bacteria; Proteobacteria; Alphaproteobacteria; Sphingomonadales; Sphingomonadaceae; Novosphingobium
+49338  Bacteria; Firmicutes; Clostridia; Clostridiales; Peptococcaceae; Desulfitobacterium
+49351  Eukaryota; Metazoa; Nematoda; Chromadorea; Rhabditida; Cephaloboidea; Cephalobidae; Zeldia
+49451  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; asterids; lamiids; Solanales; Solanaceae; Nicotiana
+49495  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Moniliformopses; Filicophyta; Filicopsida; Filicales; Pteridaceae; Ceratopteris
+51029  Eukaryota; Metazoa; Nematoda; Chromadorea; Tylenchida; Tylenchina; Tylenchoidea; Heteroderidae; Heteroderinae; Heterodera
+51031  Eukaryota; Metazoa; Nematoda; Chromadorea; Rhabditida; Strongylida; Ancylostomatoidea; Ancylostomatidae; Bunostominae; Necator
+51240  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Fagales; Juglandaceae; Juglans
+51453  Eukaryota; Fungi; Ascomycota; Pezizomycotina; Sordariomycetes; Hypocreomycetidae; Hypocreales; Hypocreaceae; Hypocrea
+51511  Eukaryota; Metazoa; Chordata; Urochordata; Ascidiacea; Enterogona; Phlebobranchia; Cionidae; Ciona
+51657  Eukaryota; Fungi; Ascomycota; Saccharomycotina; Saccharomycetes; Saccharomycetales; Saccharomycetaceae; Kluyveromyces
+52283  Eukaryota; Metazoa; Arthropoda; Chelicerata; Arachnida; Acari; Acariformes; Sarcoptiformes; Astigmata; Psoroptidia; Sarcoptoidea; Sarcoptidae; Sarcoptes
+52714  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; Liliopsida; Poales; Poaceae; Pooideae; Triticeae; Leymus
+52792  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Archosauria; Aves; Neognathae; Passeriformes; Turdidae; Luscinia
+53326  Eukaryota; Metazoa; Nematoda; Chromadorea; Rhabditida; Strongylida; Ancylostomatoidea; Ancylostomatidae; Ancylostomatinae; Ancylostoma
+53413  Bacteria; Proteobacteria; Gammaproteobacteria; Xanthomonadales; Xanthomonadaceae; Xanthomonas
+54126  Eukaryota; Metazoa; Nematoda; Chromadorea; Diplogasterida; Neodiplogasteridae; Pristionchus
+54290  Viruses; ssRNA positive-strand viruses, no DNA stage; Flaviviridae; GBV-C/HGV group
+54314  Viruses; ssRNA positive-strand viruses, no DNA stage; Flaviviridae; Pestivirus
+54672  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Malpighiales; Euphorbiaceae; Euphorbioideae; Euphorbieae; Euphorbia
+54734  Eukaryota; Fungi; Ascomycota; Pezizomycotina; Dothideomycetes et Chaetothyriomycetes incertae sedis; Mycosphaerellaceae; Mycosphaerella
+55088  Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Orthopteroidea; Phasmatodea; Euphasmida; Phyllioidea; Bacillidae; Bacillus
+55188  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids II; Sapindales; Rutaceae; Citrus
+55529  Eukaryota; Cryptophyta; Cryptomonadaceae; Guillardia
+55670  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; asterids; campanulids; Asterales; Asteraceae; Asteroideae; Eupatorieae; Stevia
+55987  Viruses; ssRNA negative-strand viruses; Orthomyxoviridae; unclassified Orthomyxoviridae
+57667  Viruses; Retroid viruses; Retroviridae; Lentivirus; Primate lentivirus group
+57870  Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Orthopteroidea; Phasmatodea; Euphasmida; Phyllioidea; Bacillidae; Bacillus
+58002  Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Paraneoptera; Hemiptera; Sternorrhyncha; Aphidiformes; Phylloxeroidea; Phylloxeridae; Daktulosphaira
+58031  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Cycadophyta; Cycadales; Cycadaceae; Cycas
+59479  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Chiroptera; Microchiroptera; Rhinolophidae; Rhinolophinae; Rhinolophus
+59689  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids II; Brassicales; Brassicaceae; Arabidopsis
+59747  Eukaryota; Metazoa; Nematoda; Chromadorea; Tylenchida; Tylenchina; Tylenchoidea; Heteroderidae; Meloidogyninae; Meloidogyne
+59777  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Lycopodiophyta; Isoetopsida; Selaginellales; Selaginellaceae; Selaginella
+59861  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Euteleostei; Protacanthopterygii; Salmoniformes; Salmonidae; Coregonus
+61147  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Malpighiales; Rhizophoraceae; Kandelia
+62324  Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Diptera; Nematocera; Culicoidea; Anopheles
+62890  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; asterids; lamiids; Solanales; Solanaceae; Solanum; Lycopersicon
+63629  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; Liliopsida; Poales; Poaceae; Ehrhartoideae; Oryzeae; Oryza
+63737  Bacteria; Cyanobacteria; Nostocales; Nostocaceae; Nostoc
+64091  Archaea; Euryarchaeota; Halobacteria; Halobacteriales; Halobacteriaceae; Halobacterium
+64093  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; asterids; lamiids; Lamiales; Orobanchaceae; Rhinantheae; Triphysaria
+64391  Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Coleoptera; Polyphaga; Cucujiformia; Phytophaga; Chrysomeloidea; Chrysomelidae; Bruchinae; Bruchini; Callosobruchus
+64468  Eukaryota; Metazoa; Arthropoda; Crustacea; Malacostraca; Eumalacostraca; Eucarida; Decapoda; Dendrobranchiata; Penaeoidea; Penaeidae; Litopenaeus
+64602  Archaea; Euryarchaeota; Halobacteria; Halobacteriales; Halobacteriaceae; Natrialba
+64679  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Rodentia; Sciurognathi; Sciuridae; Sciurinae; Tamias
+64717  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Rodentia; Sciurognathi; Muridae; Arvicolinae; Microtus
+65661  Eukaryota; Acanthamoebidae; Acanthamoeba
+66189  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Testudines; Cryptodira; Testudinoidea; Testudinidae; Geochelone
+66913  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Ostariophysi; Siluriformes; Ictaluridae; Ictalurus
+67593  Eukaryota; stramenopiles; Oomycetes; Pythiales; Pythiaceae; Phytophthora
+68887  Viruses; ssDNA viruses; Circoviridae; Anellovirus
+69266  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; asterids; Ericales; Ericaceae; Vaccinioideae; Vaccinieae; Vaccinium
+69293  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Euteleostei; Neoteleostei; Acanthomorpha; Acanthopterygii; Percomorpha; Gasterosteiformes; Gasterosteidae; Gasterosteus
+70415  Eukaryota; Metazoa; Nematoda; Enoplea; Trichocephalida; Trichuridae; Trichuris
+70448  Eukaryota; Viridiplantae; Chlorophyta; Prasinophyceae; Mamiellales; Mamiellaceae; Ostreococcus
+70863  Bacteria; Proteobacteria; Gammaproteobacteria; Alteromonadales; Alteromonadaceae; Shewanella
+71139  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; Myrtales; Myrtaceae; Eucalyptus
+71150  Eukaryota; Fungi; Basidiomycota; Hymenomycetes; Homobasidiomycetes; Boletales; Paxilineae; Paxillaceae; Paxillus
+71223  Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Coleoptera; Polyphaga; Elateriformia; Cantharoidea; Lampyridae; Pyrocoelia
+71647  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Coniferopsida; Coniferales; Pinaceae; Pinus; Pinus
+72088  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Euteleostei; Neoteleostei; Acanthomorpha; Acanthopterygii; Percomorpha; Scorpaeniformes; Scorpaenoidei; Scorpaenidae; Sebastes
+73107  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Archosauria; Aves; Neognathae; Gruiformes; Otididae; Otis
+73234  Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Orthopteroidea; Phasmatodea; Euphasmida; Phyllioidea; Bacillidae; Bacillus
+73275  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; asterids; campanulids; Asterales; Asteraceae; Asteroideae; Heliantheae; Helianthus
+73304  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; asterids; campanulids; Asterales; Asteraceae; Asteroideae; Heliantheae; Helianthus
+73824  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Malpighiales; Salicaceae; Saliceae; Populus
+74081  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Lepidosauria; Squamata; Scleroglossa; Scincomorpha; Lacertoidea; Lacertidae; Podarcis
+74649  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Rosales; Rosaceae; Rosoideae; Rosa
+74940  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Euteleostei; Protacanthopterygii; Salmoniformes; Salmonidae; Oncorhynchus
+75846  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Archosauria; Aves; Neognathae; Anseriformes; Anatidae; Anas
+75943  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; asterids; campanulids; Asterales; Asteraceae; Cichorioideae; Cichorieae; Lactuca
+76149  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; Caryophyllales; Plumbaginaceae; Plumbago
+76340  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Euteleostei; Neoteleostei; Acanthomorpha; Acanthopterygii; Percomorpha; Perciformes; Percoidei; Sciaenidae; Sciaenops
+76593  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Ostariophysi; Cypriniformes; Cyprinidae; Acrossocheilus
+76867  Eukaryota; Fungi; Basidiomycota; Hymenomycetes; Homobasidiomycetes; Agaricales; Cortinariaceae; Hebeloma
+77108  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; stem Magnoliophyta; Nymphaeaceae; Nuphar
+78584  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Primates; Strepsirhini; Megaladapidae; Lepilemur
+79327  Eukaryota; Metazoa; Platyhelminthes; Turbellaria; Seriata; Tricladida; Paludicola; Dugesiidae; Schmidtea
+79517  Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Coleoptera; Polyphaga; Cucujiformia; Phytophaga; Chrysomeloidea; Chrysomelidae; Chrysomelinae; Timarchini; Timarcha
+79880  Bacteria; Firmicutes; Bacillales; Bacillaceae; Bacillus
+79923  Eukaryota; Metazoa; Platyhelminthes; Trematoda; Digenea; Opisthorchiida; Opisthorchiata; Opisthorchioidea; Opisthorchiidae; Clonorchis
+80365  Eukaryota; stramenopiles; Phaeophyceae; Laminariales; Laminariaceae; Laminaria
+80379  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; asterids; lamiids; Solanales; Solanaceae; Capsicum
+80863  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Malpighiales; Salicaceae; Saliceae; Populus
+82528  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; Liliopsida; Asparagales; Iridaceae; Crocus
+82927  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; asterids; lamiids; Lamiales; Acanthaceae; Acanthaceae incertae sedis; Avicennia
+83288  Eukaryota; Rhodophyta; Florideophyceae; Ceramiales; Ceramiaceae; Griffithsia
+83558  Bacteria; Chlamydiae; Chlamydiales; Chlamydiaceae; Chlamydophila
+83675  Eukaryota; Alveolata; Apicomplexa; Coccidia; Eimeriida; Sarcocystidae; Neospora
+83912  Eukaryota; Metazoa; Arthropoda; Chelicerata; Arachnida; Acari; Acariformes; Sarcoptiformes; Astigmata; Psoroptidia; Sarcoptoidea; Psoroptidae; Psoroptes
+84072  Eukaryota; Metazoa; Platyhelminthes; Turbellaria; Acoelomorpha; Acoela; Sagittiferidae; Symsagittifera
+85571  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids II; Sapindales; Rutaceae; Citrus
+86005  Bacteria; Firmicutes; Bacillales; Alicyclobacillaceae; Pasteuria
+86304  Bacteria; Proteobacteria; Gammaproteobacteria; Alteromonadales; Alteromonadaceae; Microbulbifer
+87841  Eukaryota; Metazoa; Mollusca; Gastropoda; Pulmonata; Stylommatophora; Sigmurethra; Helicoidea; Bradybaenidae; Euhadra
+89411  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids II; Brassicales; Brassicaceae; Descurainia
+89462  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Cetartiodactyla; Ruminantia; Pecora; Bovoidea; Bovidae; Bovinae; Bubalus
+92652  Viruses; dsDNA viruses, no RNA stage; Nimaviridae; Whispovirus
+93678  Viruses; ssDNA viruses; Circoviridae; Anellovirus
+93934  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Archosauria; Aves; Neognathae; Galliformes; Phasianidae; Phasianinae; Coturnix
+94289  Eukaryota; Alveolata; Ciliophora; Spirotrichea; Stichotrichia; Stichotrichida; Oxytrichidae; Sterkiella
+94961  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Chiroptera; Microchiroptera; Mystacinidae; Mystacina
+95145  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Euteleostei; Neoteleostei; Acanthomorpha; Paracanthopterygii; Batrachoididae; Opsanus
+96939  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; Vitaceae; Vitis
+97005  Eukaryota; Metazoa; Nematoda; Chromadorea; Tylenchida; Tylenchina; Tylenchoidea; Heteroderidae; Heteroderinae; Heterodera
+97393  Archaea; Euryarchaeota; Thermoplasmata; Thermoplasmatales; Ferroplasmaceae; Ferroplasma
+98038  Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids II; Brassicales; Brassicaceae; Thellungiella
+99878  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Archosauria; Aves; Neognathae; Passeriformes; Sturnidae; Toxostoma
+99883  Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Euteleostei; Neoteleostei; Acanthomorpha; Acanthopterygii; Percomorpha; Tetraodontiformes; Tetradontoidea; Tetraodontidae; Tetraodon
+100452 Eukaryota; Metazoa; Mollusca; Gastropoda; Pulmonata; Stylommatophora; Sigmurethra; Helicoidea; Hygromiidae; Candidula
+102803 Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Coleoptera; Polyphaga; Cucujiformia; Phytophaga; Scolytidae; Ips
+103999 Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; asterids; campanulids; Asterales; Campanulaceae; Codonopsis
+105358 Eukaryota; Metazoa; Echinodermata; Eleutherozoa; Echinozoa; Echinoidea; Euechinoidea; Diadematacea; Diadematoida; Diadematidae; Diadema
+105886 Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; asterids; campanulids; Apiales; Araliaceae; Acanthopanax
+107832 Eukaryota; Fungi; Basidiomycota; Hymenomycetes; Heterobasidiomycetes; Heterobasidiomycetidae; Ceratobasidiales; Ceratobasidiaceae; Thanatephorus
+107907 Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Coleoptera; Adephaga; Dytiscidae; Colymbetinae; Colymbetini; Meladema
+108098 Viruses; dsDNA viruses, no RNA stage; Adenoviridae; Mastadenovirus
+108607 Eukaryota; Pelobiontida; Mastigamoebidae; Mastigamoeba
+110365 Eukaryota; Alveolata; Apicomplexa; Gregarinia; Eugregarinida; Gregarinidae; Gregarina
+112525 Eukaryota; Metazoa; Mollusca; Gastropoda; Pulmonata; Basommatophora; Lymnaeoidea; Planorbidae; Biomphalaria
+113636 Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Malpighiales; Salicaceae; Saliceae; Populus
+114524 Eukaryota; Fungi; Ascomycota; Saccharomycotina; Saccharomycetes; Saccharomycetales; Saccharomycetaceae; Saccharomyces
+114525 Eukaryota; Fungi; Ascomycota; Saccharomycotina; Saccharomycetes; Saccharomycetales; Saccharomycetaceae; Saccharomyces
+114526 Eukaryota; Fungi; Ascomycota; Saccharomycotina; Saccharomycetes; Saccharomycetales; Saccharomycetaceae; Saccharomyces
+117187 Eukaryota; Fungi; Ascomycota; Pezizomycotina; Sordariomycetes; Hypocreomycetidae; Hypocreales; Nectriaceae; Gibberella
+118799 Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Coleoptera; Adephaga; Carabidae; Carabini; Carabina; Carabus; Carabus
+119072 Bacteria; Firmicutes; Clostridia; Thermoanaerobacteriales; Thermoanaerobacteriaceae; Thermoanaerobacter
+119219 Bacteria; Proteobacteria; Betaproteobacteria; Burkholderiales; Burkholderiaceae; Ralstonia
+121225 Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Paraneoptera; Phthiraptera; Anoplura; Pediculidae; Pediculus
+121759 Eukaryota; Fungi; Ascomycota; Pezizomycotina; Eurotiomycetes; Onygenales; mitosporic Onygenales; Paracoccidioides
+123226 Eukaryota; Metazoa; Arthropoda; Chelicerata; Arachnida; Scorpiones; Buthida; Buthoidea; Buthidae; Mesobuthus
+123792 Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Rodentia; Sciurognathi; Sciuridae; Sciurinae; Tamias
+126740 Bacteria; Thermotogae; Thermotogales; Thermotogaceae; Thermotoga
+126913 Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; Caryophyllales; Amaranthaceae; Suaeda
+128735 Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Rosales; Rosaceae; Rosoideae; Rosa
+129883 Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Ostariophysi; Cypriniformes; Cyprinidae; Telestes
+129951 Viruses; dsDNA viruses, no RNA stage; Adenoviridae; Mastadenovirus
+131310 Eukaryota; Metazoa; Nematoda; Chromadorea; Rhabditida; Panagrolaimoidea; Strongyloididae; Parastrongyloides
+132711 Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; Liliopsida; Poales; Poaceae; PACCAD clade; Panicoideae; Andropogoneae; Sorghum
+134537 Bacteria; Proteobacteria; Betaproteobacteria; Burkholderiales; Burkholderiaceae; Burkholderia
+135974 Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Archosauria; Aves; Neognathae; Passeriformes; Furnariidae; Glyphorynchus
+136966 Viruses; ssDNA viruses; Circoviridae; Anellovirus
+137523 Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Archosauria; Aves; Neognathae; Piciformes; Picidae; Dendrocopos
+138948 Viruses; ssRNA positive-strand viruses, no DNA stage; Picornaviridae; Enterovirus
+138949 Viruses; ssRNA positive-strand viruses, no DNA stage; Picornaviridae; Enterovirus
+138950 Viruses; ssRNA positive-strand viruses, no DNA stage; Picornaviridae; Enterovirus
+138953 Viruses; ssRNA positive-strand viruses, no DNA stage; Picornaviridae; Enterovirus
+140110 Eukaryota; Fungi; Ascomycota; Pezizomycotina; Sordariomycetes; Hypocreomycetidae; Hypocreales; Nectriaceae; Nectria
+145262 Archaea; Euryarchaeota; Methanobacteria; Methanobacteriales; Methanobacteriaceae; Methanothermobacter
+148305 Eukaryota; Fungi; Ascomycota; Pezizomycotina; Sordariomycetes; Sordariomycetes incertae sedis; Magnaporthaceae; Magnaporthe
+150234 Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Coleoptera; Adephaga; Cicindelidae; Cicindela; Cicindela
+153471 Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Malpighiales; Salicaceae; Saliceae; Populus
+155892 Bacteria; Proteobacteria; Alphaproteobacteria; Caulobacterales; Caulobacteraceae; Caulobacter
+156889 Bacteria; Proteobacteria; Magnetococcus
+157791 Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; eurosids I; Fabales; Fabaceae; Papilionoideae; Phaseoleae; Vigna
+160621 Eukaryota; Alveolata; Dinophyceae; Gonyaulacales; Lingulodinium
+161934 Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; Caryophyllales; Amaranthaceae; Beta
+162425 Eukaryota; Fungi; Ascomycota; Pezizomycotina; Eurotiomycetes; Eurotiales; Trichocomaceae; Emericella
+164405 Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; Myrtales; Myrtaceae; Melaleuca
+172680 Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Archosauria; Aves; Neognathae; Gruiformes; Otididae; Chlamydotis
+176275 Eukaryota; Fungi; Ascomycota; Pezizomycotina; Sordariomycetes; Hypocreomycetidae; Hypocreales; Clavicipitaceae; Cordyceps
+178872 Eukaryota; Fungi; Basidiomycota; Hymenomycetes; Homobasidiomycetes; Boletales; Sclerodermatineae; Pisolithaceae; Pisolithus
+180448 Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Archosauria; Aves; Neognathae; Passeriformes; Motacillidae; Motacilla
+182803 Eukaryota; Metazoa; Arthropoda; Chelicerata; Arachnida; Araneae; Araneomorphae; Entelegynae; Araneoidea; Araneidae; Araneus
+183855 Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; Myrtales; Myrtaceae; Eucalyptus
+186039 Eukaryota; stramenopiles; Bacillariophyta; Bacillariophyceae; Bacillariophycidae; Bacillariales; Bacillariaceae; Fragilariopsis
+189293 Eukaryota; Metazoa; Nematoda; Chromadorea; Tylenchida; Tylenchina; Tylenchoidea; Heteroderidae; Meloidogyninae; Meloidogyne
+189785 Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; Caryophyllales; Tamaricaceae; Tamarix
+194440 Viruses; Retroid viruses; Retroviridae; Deltaretrovirus
+194441 Viruses; Retroid viruses; Retroviridae; Deltaretrovirus
+197003 Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Coleoptera; Polyphaga; Cucujiformia; Biphyllidae; Biphyllus
+197009 Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Coleoptera; Polyphaga; Cucujiformia; Phytophaga; Anthribidae; Anthribinae; Platystomini; Platystomus
+197013 Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Coleoptera; Polyphaga; Cucujiformia; Phytophaga; Curculionidae; Curculioninae; Curculionini; Curculio
+197043 Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Paraneoptera; Hemiptera; Euhemiptera; Membracoidea; Cicadellidae; Cicadellinae; Homalodisca
+212795 Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Actinopterygii; Neopterygii; Teleostei; Euteleostei; Neoteleostei; Acanthomorpha; Acanthopterygii; Percomorpha; Perciformes; Percoidei; Serranidae; Epinephelus
+213425 Eukaryota; Metazoa; Mollusca; Gastropoda; Orthogastropoda; Apogastropoda; Caenogastropoda; Sorbeoconcha; Hypsogastropoda; Neogastropoda; Muricoidea; Muricidae; Ocinebrellus
+216816 Bacteria; Actinobacteria; Actinobacteridae; Bifidobacteriales; Bifidobacteriaceae; Bifidobacterium
+219666 Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; asterids; lamiids; Gentianales; Rubiaceae; Rubioideae; Spermacoceae; Hedyotis
+219667 Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; asterids; lamiids; Gentianales; Rubiaceae; Rubioideae; Spermacoceae; Hedyotis
+219738 Eukaryota; Metazoa; Nematoda; Enoplea; Trichocephalida; Trichuridae; Trichuris
+221420 Eukaryota; Metazoa; Echinodermata; Eleutherozoa; Echinozoa; Holothuroidea; Aspidochirotacea; Aspidochirotida; Holothuriidae; Holothuria
+223153 Eukaryota; Alveolata; Ciliophora; Litostomatea; Trichostomatia; Vestibuliferida; Isotrichidae; Isotricha
+223852 Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Paraneoptera; Hemiptera; Sternorrhyncha; Aphidiformes; Aphidoidea; Aphididae; Aphidini; Toxoptera
+232323 Eukaryota; Metazoa; Tardigrada; Eutardigrada; Apochela; Hypsibiidae; Hypsibius
+241073 Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; Vitaceae; Vitis
+245552 Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; Liliopsida; Liliales; Alstroemeriaceae; Alstroemeria
+246827 Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicots; rosids; Vitaceae; Vitis
diff --git a/websoft/data/blast/makerpt.prt b/websoft/data/blast/makerpt.prt
new file mode 100755 (executable)
index 0000000..c5a6545
--- /dev/null
@@ -0,0 +1,2448 @@
+PrintTemplateSet ::= {
+  {
+    name "StdSeqDesc" ,
+    format {
+      asn1 "Seqdesc" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Seqdesc.mol-type" ,
+              label "Molecule type" ,
+              prefix "\n" ,
+              form
+                enum {
+                   } } ,
+            {
+              asn1 "Seqdesc.modif" ,
+              label "Modifiers" ,
+              prefix "\n" ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Seqdesc.modif.E" ,
+                      form
+                        enum {
+                           } } } } } ,
+            {
+              asn1 "Seqdesc.method" ,
+              label "Method" ,
+              prefix "\n" ,
+              form
+                enum {
+                   } } ,
+            {
+              asn1 "Seqdesc.name" ,
+              label "Name" ,
+              prefix "\n" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Seqdesc.title" ,
+              label "Title" ,
+              prefix "\n" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Seqdesc.org" ,
+              label "Organism" ,
+              prefix "\n" ,
+              form
+                use-template "StdOrgRef" } ,
+            {
+              asn1 "Seqdesc.comment" ,
+              label "Comment" ,
+              prefix "\n" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Seqdesc.num" ,
+              label "Numbering" ,
+              prefix "\n" ,
+              form
+                use-template "StdNumbering" } ,
+            {
+              asn1 "Seqdesc.maploc" ,
+              label "Map location" ,
+              prefix "\n" ,
+              form
+                use-template "StdDbtag" } ,
+            {
+              asn1 "Seqdesc.pir" ,
+              label "PIR block" ,
+              prefix "\n" ,
+              form
+                null NULL } ,
+            {
+              asn1 "Seqdesc.genbank" ,
+              label "GenBank block" ,
+              prefix "\n" ,
+              form
+                use-template "StdGBBlock" } ,
+            {
+              asn1 "Seqdesc.pub" ,
+              label "Citation" ,
+              prefix "\n" ,
+              form
+                use-template "StdPubdesc" } ,
+            {
+              asn1 "Seqdesc.region" ,
+              label "Region" ,
+              prefix "\n" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Seqdesc.user" ,
+              label "User Type" ,
+              prefix "\n" ,
+              form
+                use-template "StdUserObj" } ,
+            {
+              asn1 "Seqdesc.sp" ,
+              label "SWISS-PROT block" ,
+              prefix "\n" ,
+              form
+                null NULL } ,
+            {
+              asn1 "Seqdesc.dbxref" ,
+              label "Cross reference" ,
+              prefix "\n" ,
+              form
+                use-template "StdDbtag" } ,
+            {
+              asn1 "Seqdesc.embl" ,
+              label "EMBL block" ,
+              prefix "\n" ,
+              form
+                null NULL } ,
+            {
+              asn1 "Seqdesc.create-date" ,
+              label "Create date" ,
+              prefix "\n" ,
+              form
+                user {
+                  printfunc "StdDatePrint" } } ,
+            {
+              asn1 "Seqdesc.update-date" ,
+              label "Update date" ,
+              prefix "\n" ,
+              form
+                user {
+                  printfunc "StdDatePrint" } } ,
+            {
+              asn1 "Seqdesc.prf" ,
+              label "PRF block" ,
+              prefix "\n" ,
+              form
+                null NULL } ,
+            {
+              asn1 "Seqdesc.pdb" ,
+              label "PDB block" ,
+              prefix "\n" ,
+              form
+                null NULL } ,
+            {
+              asn1 "Seqdesc.het" ,
+              label "Heterogen" ,
+              prefix "\n" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Seqdesc.source" ,
+              label "Source" ,
+              prefix "\n" ,
+              form
+                null NULL } ,
+            {
+              asn1 "Seqdesc.molinfo" ,
+              label "Mol info" ,
+              prefix "\n" ,
+              form
+                null NULL } } } } } ,
+  {
+    name "StdReportSeqDesc" ,
+    format {
+      asn1 "Seqdesc" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Seqdesc.mol-type" ,
+              label "Molecule type" ,
+              prefix "\n" ,
+              form
+                enum {
+                   } } ,
+            {
+              asn1 "Seqdesc.modif" ,
+              label "Modifiers" ,
+              prefix "\n" ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Seqdesc.modif.E" ,
+                      form
+                        enum {
+                           } } } } } ,
+            {
+              asn1 "Seqdesc.method" ,
+              label "Method" ,
+              prefix "\n" ,
+              form
+                enum {
+                   } } ,
+            {
+              asn1 "Seqdesc.name" ,
+              label "Name" ,
+              prefix "\n" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Seqdesc.title" ,
+              label "Title" ,
+              prefix "\n" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Seqdesc.org" ,
+              label "Organism" ,
+              prefix "\n" ,
+              form
+                use-template "StdOrgRef" } ,
+            {
+              asn1 "Seqdesc.comment" ,
+              label "Comment" ,
+              prefix "\n" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Seqdesc.num" ,
+              label "Numbering" ,
+              prefix "\n" ,
+              form
+                use-template "StdNumbering" } ,
+            {
+              asn1 "Seqdesc.maploc" ,
+              label "Map location" ,
+              prefix "\n" ,
+              form
+                use-template "StdDbtag" } ,
+            {
+              asn1 "Seqdesc.pir" ,
+              label "PIR block" ,
+              prefix "\n" ,
+              form
+                null NULL } ,
+            {
+              asn1 "Seqdesc.genbank" ,
+              prefix "\n" ,
+              form
+                use-template "StdReportGBBlock" } ,
+            {
+              asn1 "Seqdesc.pub" ,
+              label "Citation" ,
+              prefix "\n" ,
+              form
+                use-template "StdPubdesc" } ,
+            {
+              asn1 "Seqdesc.region" ,
+              label "Region" ,
+              prefix "\n" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Seqdesc.user" ,
+              label "User Type" ,
+              prefix "\n" ,
+              form
+                use-template "StdUserObj" } ,
+            {
+              asn1 "Seqdesc.sp" ,
+              label "SWISS-PROT block" ,
+              prefix "\n" ,
+              form
+                null NULL } ,
+            {
+              asn1 "Seqdesc.neighbors" ,
+              label "Neighbors" ,
+              prefix "\n" ,
+              form
+                null NULL } ,
+            {
+              asn1 "Seqdesc.embl" ,
+              label "EMBL block" ,
+              prefix "\n" ,
+              form
+                null NULL } ,
+            {
+              asn1 "Seqdesc.create-date" ,
+              label "Create date" ,
+              prefix "\n" ,
+              form
+                user {
+                  printfunc "StdDatePrint" } } ,
+            {
+              asn1 "Seqdesc.update-date" ,
+              label "Update date" ,
+              prefix "\n" ,
+              form
+                user {
+                  printfunc "StdDatePrint" } } ,
+            {
+              asn1 "Seqdesc.prf" ,
+              label "PRF block" ,
+              prefix "\n" ,
+              form
+                null NULL } ,
+            {
+              asn1 "Seqdesc.pdb" ,
+              label "PDB block" ,
+              prefix "\n" ,
+              form
+                null NULL } ,
+            {
+              asn1 "Seqdesc.het" ,
+              label "Heterogen" ,
+              prefix "\n" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Seqdesc.source" ,
+              label "Source" ,
+              prefix "\n" ,
+              form
+                null NULL } ,
+            {
+              asn1 "Seqdesc.molinfo" ,
+              label "Mol info" ,
+              prefix "\n" ,
+              form
+                null NULL } } } } } ,
+  {
+    name "StdSourceDesc" ,
+    format {
+      asn1 "Seqdesc" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Seqdesc.genbank" ,
+              prefix "\n" ,
+              form
+                use-template "StdSourceInGBBlock" } } } } } ,
+  {
+    name "StdTaxDesc" ,
+    format {
+      asn1 "Seqdesc" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Seqdesc.genbank" ,
+              prefix "\n" ,
+              form
+                use-template "StdTaxInGBBlock" } } } } } ,
+  {
+    name "StdDivDesc" ,
+    format {
+      asn1 "Seqdesc" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Seqdesc.genbank" ,
+              prefix "\n" ,
+              form
+                use-template "StdDivInGBBlock" } } } } } ,
+  {
+    name "StdSequenceId" ,
+    format {
+      asn1 "Seq-id" ,
+      form
+        block {
+          components {
+            {
+               asn1 "Seq-id.gi" ,
+             label "gi|" ,
+              form
+               text {
+                         } } ,
+            {
+              asn1 "Seq-id.genbank" ,
+              form
+                use-template "ReportTextseqId" } ,
+            {
+              asn1 "Seq-id.local" ,
+              form
+                use-template "StdObjectId" } } } } } ,
+  {
+    name "StdPubSeqId" ,
+    format {
+      asn1 "Seq-id" ,
+      label "" ,
+      prefix "; " ,
+      form
+        block {
+          components {
+            {
+               asn1 "Seq-id.gi" ,
+             label "gi|" ,
+              form
+               text {
+                         } } ,
+            {
+              asn1 "Seq-id.local" ,
+              form
+                use-template "StdObjectId" } } } } } ,
+  {
+    name "StartingPubSeqId" ,
+    format {
+      asn1 "Seq-id" ,
+      label "Location:" ,
+      prefix "\t" ,
+      form
+        block {
+          components {
+            {
+               asn1 "Seq-id.gi" ,
+             label "gi|" ,
+              form
+               text {
+                         } } ,
+            {
+              asn1 "Seq-id.local" ,
+              form
+                use-template "StdObjectId" } } } } } ,
+  {
+    name "StdObjectId" ,
+    format {
+      asn1 "Object-id" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Object-id.id" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Object-id.str" ,
+              form
+                text {
+                   } } } } } } ,
+  {
+    name "StdTextseqId" ,
+    format {
+      asn1 "Textseq-id" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Textseq-id.name" ,
+             label "locus" ,
+             prefix " " ,
+              form
+                text { 
+                 } } ,
+            {
+              asn1 "Textseq-id.accession" ,
+             label "accession" ,
+             prefix " " ,
+              form
+                text { 
+                 } } ,
+            {
+              asn1 "Textseq-id.release" ,
+             label "release" ,
+             prefix " " ,
+              form
+                text { 
+                 } } ,
+            {
+              asn1 "Textseq-id.version" ,
+              form
+                null NULL } ,
+                   } } } } ,
+  {
+    name "ReportTextseqId" ,
+    format {
+      asn1 "Textseq-id" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Textseq-id.name" ,
+             label "locus" ,
+             prefix " " ,
+             suffix " " ,
+              form
+                text { 
+                 } } ,
+            {
+              asn1 "Textseq-id.accession" ,
+             label "accession" ,
+             prefix " " ,
+             suffix " " ,
+              form
+                text { 
+                 } } ,
+            {
+              asn1 "Textseq-id.release" ,
+             label "release" ,
+             prefix " " ,
+             suffix " " ,
+              form
+                text { 
+                 } } ,
+            {
+              asn1 "Textseq-id.version" ,
+              form
+                null NULL } ,
+                   } } } } ,
+  {
+    name "StdPDBseqId" ,
+    format {
+      asn1 "PDB-seq-id" ,
+      label "PDB Id: " ,
+      form
+        block {
+          components {
+            {
+              asn1 "PDB-seq-id.mol" ,
+             label "molecule" ,
+             prefix " " ,
+             suffix ", " ,
+              form
+                text {
+                 } } ,
+            {
+              asn1 "PDB-seq-id.chain" ,
+             label "chain" ,
+             prefix " " ,
+             suffix ", " ,
+              form
+                text { 
+                 } } ,
+            {
+              asn1 "PDB-seq-id.rel" ,
+             label "release" ,
+             prefix " " ,
+              form
+                user {
+                  printfunc "StdDatePrint" } } } } } } ,
+  {
+    name "StdEMBLseqId" ,
+    format {
+      asn1 "Textseq-id" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Textseq-id.name" ,
+             label "locus" ,
+             prefix " " ,
+             suffix ", " ,
+              form
+                text { 
+                 } } ,
+            {
+              asn1 "Textseq-id.accession" ,
+             label "accession" ,
+             prefix " " ,
+              form
+                text { 
+                 } } ,
+            {
+              asn1 "Textseq-id.release" ,
+             label "release" ,
+             prefix " " ,
+              form
+                text { 
+                 } } ,
+            {
+              asn1 "Textseq-id.version" ,
+              form
+                null NULL } ,
+                   } } } } ,
+  {
+    name "StdPIRseqId" ,
+    format {
+      asn1 "Textseq-id" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Textseq-id.name" ,
+             label "locus" ,
+             prefix " " ,
+             suffix "" ,
+              form
+                text { 
+                 } } ,
+            {
+              asn1 "Textseq-id.accession" ,
+             label " accession" ,
+             prefix " " ,
+              form
+                text { 
+                 } } ,
+                   } } } } ,
+  {
+    name "StdPRFseqId" ,
+    format {
+      asn1 "Textseq-id" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Textseq-id.name" ,
+             label "locus" ,
+             prefix " " ,
+             suffix "" ,
+              form
+                text { 
+                 } } ,
+            {
+              asn1 "Textseq-id.accession" ,
+             label " accession" ,
+             prefix " " ,
+              form
+                text { 
+                 } } ,
+                   } } } } ,
+  {
+    name "StdPDBseqId" ,
+    format {
+      asn1 "Textseq-id" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Textseq-id.name" ,
+             label "locus" ,
+             prefix " " ,
+             suffix "" ,
+              form
+                text { 
+                 } } ,
+            {
+              asn1 "Textseq-id.accession" ,
+             label " accession" ,
+             prefix " " ,
+              form
+                text { 
+                 } } ,
+                   } } } } ,
+  {
+    name "StdSPseqId" ,
+    format {
+      asn1 "Textseq-id" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Textseq-id.name" ,
+             label "locus" ,
+             prefix " " ,
+             suffix "," ,
+              form
+                text { 
+                 } } ,
+            {
+              asn1 "Textseq-id.accession" ,
+             label " accession" ,
+             prefix " " ,
+              form
+                text { 
+                 } } ,
+                   } } } } ,
+  {
+    name "StdLocalId" ,
+    format {
+      asn1 "Object-id" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Object-id.id" ,
+             prefix " " ,
+             suffix "" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Object-id.str" ,
+             prefix " " ,
+             suffix "" ,
+              form
+                text {
+                   } } } } } } ,
+  {
+    name "StdGPseqId" ,
+    format {
+      asn1 "Textseq-id" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Textseq-id.name" ,
+             label "locus" ,
+             prefix " " ,
+             suffix "," ,
+              form
+                text { 
+                 } } ,
+            {
+              asn1 "Textseq-id.accession" ,
+             label " accession" ,
+             prefix " " ,
+              form
+                text { 
+                 } } ,
+                   } } } } ,
+  {
+    name "StdIdPat" ,
+    format {
+      asn1 "Id-pat" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Id-pat.country" ,
+              suffix " " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Id-pat.id.number" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Id-pat.id.app-number" ,
+              prefix "Appl: " ,
+              form
+                text {
+                   } } } } } } ,
+  {
+    name "StdPatentSeqId" ,
+    format {
+      asn1 "Patent-seq-id" ,
+      label "patent: " ,
+      form
+        block {
+          components {
+            {
+              asn1 "Patent-seq-id.seqid" ,
+              suffix " " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Patent-seq-id.cit" ,
+              prefix " " ,
+             form
+                use-template "StdIdPat" } } } } } ,
+  {
+    name "StdSeqFeatLocation" ,
+    format {
+      asn1 "Seq-feat.location" ,
+      label "Location" ,
+      prefix "\t" ,
+      form
+        user {
+          printfunc "StdSeqLocPrint" } } } ,
+  {
+    name "StdSeqFeatProduct" ,
+    format {
+      asn1 "Seq-feat.product" ,
+      label "Product" ,
+      prefix "\t" ,
+      form
+        user {
+          printfunc "StdSeqLocPrint" } } } ,
+  {
+    name "EntrySeqFeatData" ,
+    labelfrom "Seq-feat.data" ,
+    format {
+      asn1 "Seq-feat.data" ,
+      prefix "\t" ,
+      form
+        use-template "StdSeqFeatData" } } ,
+  {
+    name "StdSeqFeat" ,
+    labelfrom "Seq-feat.data" ,
+    format {
+      asn1 "Seq-feat" ,
+      prefix "\n" ,
+      suffix "\n" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "Seq-feat.data" ,
+              form
+                use-template "StdSeqFeatData" } ,
+            {
+              asn1 "Seq-feat" ,
+              form
+                use-template "StdSeqFeatCommon" } ,
+            {
+              asn1 "Seq-feat.product" ,
+              label "Product" ,
+              prefix " " ,
+              form
+                user {
+                  printfunc "StdSeqLocPrint" } } ,
+            {
+              asn1 "Seq-feat.location" ,
+              label "Location" ,
+              prefix " " ,
+              form
+                user {
+                  printfunc "StdSeqLocPrint" } } ,
+            {
+              asn1 "Seq-feat.cit" ,
+              label "Citations" ,
+              prefix "\n" ,
+              form
+                block {
+                  separator "\n" ,
+                  components {
+                    {
+                      asn1 "Seq-feat.cit.pub.E" ,
+                      form
+                        use-template "StdPub" } } } } ,
+            {
+              asn1 "Seq-feat.xref" ,
+              label "Cross-reference" ,
+              prefix "\n" ,
+              form
+                block {
+                  separator "\n" ,
+                  components {
+                    {
+                      asn1 "Seq-feat.xref.E" ,
+                      form
+                        use-template "StdSeqFeatXref" } } } } } } } } ,
+  {
+    name "StdSeqFeatData" ,
+    format {
+      asn1 "SeqFeatData" ,
+      form
+        block {
+          components {
+            {
+              asn1 "SeqFeatData.gene" ,
+              label "Gene" ,
+              form
+                use-template "StdGeneRef" } ,
+            {
+              asn1 "SeqFeatData.org" ,
+              label "Organism" ,
+              form
+                use-template "StdOrgRef" } ,
+            {
+              asn1 "SeqFeatData.cdregion" ,
+              label "Coding Region" ,
+              form
+                use-template "StdCdRegion" } ,
+            {
+              asn1 "SeqFeatData.prot" ,
+              label "Protein" ,
+              form
+                use-template "StdProtRef" } ,
+            {
+              asn1 "SeqFeatData.rna" ,
+              label "RNA" ,
+              form
+                use-template "StdRNARef" } ,
+            {
+              asn1 "SeqFeatData.pub" ,
+              label "Citation" ,
+              form
+                use-template "StdPubdesc" } ,
+            {
+              asn1 "SeqFeatData.seq" ,
+              label "Sequence" ,
+              form
+                user {
+                  printfunc "StdSeqLocPrint" } } ,
+            {
+              asn1 "SeqFeatData.imp.key" ,
+              label "Import" ,
+              form
+                use-template "StdImpFeat" } ,
+            {
+              asn1 "SeqFeatData.region" ,
+              label "Region" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "SeqFeatData.comment" ,
+              label "Comment" ,
+              form
+                null NULL } ,
+            {
+              asn1 "SeqFeatData.bond" ,
+              label "Bond" ,
+              form
+                enum {
+                   } } ,
+            {
+              asn1 "SeqFeatData.site" ,
+              label "Site" ,
+              form
+                enum {
+                   } } ,
+            {
+              asn1 "SeqFeatData.rsite" ,
+              label "Rest. Site" ,
+              form
+                use-template "StdRsiteRef" } ,
+            {
+              asn1 "SeqFeatData.user" ,
+              label "User Type" ,
+              form
+                use-template "StdUserObj" } ,
+            {
+              asn1 "SeqFeatData.txinit" ,
+              label "TxInit" ,
+              form
+                use-template "StdTxInit" } ,
+            {
+              asn1 "SeqFeatData.num" ,
+              label "Numbering" ,
+              form
+                use-template "StdNumbering" } ,
+            {
+              asn1 "SeqFeatData.psec-str" ,
+              label "Sec. Struct" ,
+              form
+                enum {
+                   } } ,
+            {
+              asn1 "SeqFeatData.non-std-residue" ,
+              label "NonStd Residue" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "SeqFeatData.het" ,
+              label "Heterogen" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "SeqFeatData.biosrc" ,
+              label "BioSource" ,
+              form
+                null NULL } } } } } ,
+  {
+    name "StdGeneRef" ,
+    format {
+      asn1 "Gene-ref" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "Gene-ref" ,
+              form
+                block {
+                  components {
+                    {
+                      asn1 "Gene-ref.locus" ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Gene-ref.allele" ,
+                      prefix " " ,
+                      form
+                        text {
+                           } } } } } ,
+            {
+              asn1 "Gene-ref.desc" ,
+              prefix "[" ,
+              suffix "]" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Gene-ref.pseudo" ,
+              form
+                boolean {
+                  true "This is a pseudogene." } } ,
+            {
+              asn1 "Gene-ref.syn" ,
+              label "Synonyms" ,
+              prefix " (" ,
+              suffix ")" ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Gene-ref.syn.E" ,
+                      form
+                        text {
+                           } } } } } ,
+            {
+              asn1 "Gene-ref.maploc" ,
+              label "Map Location" ,
+              prefix " " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Gene-ref.db" ,
+              label "Cross Reference" ,
+              prefix " " ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Gene-ref.db.E" ,
+                      prefix "(" ,
+                      suffix ")" ,
+                      form
+                        use-template "StdDbtag" } } } } } } } } ,
+  {
+    name "StdUserObj" ,
+    format {
+      asn1 "User-object" ,
+      label "User-object" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "User-object.class" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "User-object.type" ,
+              form
+                use-template "StdObjectId" } } } } } ,
+  {
+    name "StartingPubFeatLocation" ,
+    format {
+      asn1 "Seq-feat.location" ,
+      label "Location:" ,
+      prefix "\t" ,
+      form
+        user {
+          printfunc "StdSeqLocPrint" } } } ,
+  {
+    name "StdPubFeatLocation" ,
+    format {
+      asn1 "Seq-feat.location" ,
+      label "" ,
+      prefix "; " ,
+      form
+        user {
+          printfunc "StdSeqLocPrint" } } } ,
+  {
+    name "StdPubOnFeat" ,
+    format {
+      asn1 "Pub" ,
+      label "Citation" ,
+      prefix "\n" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "Pub" ,
+              form
+                use-template "StdPub" } } } } } ,
+  {
+    name "StdPub" ,
+    format {
+      asn1 "Pub" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "Pub.gen" ,
+              form
+                use-template "StdCitGen" } ,
+            {
+              asn1 "Pub.sub" ,
+              form
+                use-template "StdCitSub" } ,
+            {
+              asn1 "Pub.medline" ,
+              form
+                use-template "StdMedlineEntry" } ,
+            {
+              asn1 "Pub.muid" ,
+              label "MEDLINE uid: " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Pub.article" ,
+              form
+                use-template "StdCitArt" } ,
+            {
+              asn1 "Pub.journal" ,
+              form
+                use-template "StdCitJour" } ,
+            {
+              asn1 "Pub.book" ,
+              form
+                use-template "StdCitBook" } ,
+            {
+              asn1 "Pub.proc" ,
+              form
+                use-template "StdCitProc" } ,
+            {
+              asn1 "Pub.patent" ,
+              form
+                use-template "StdCitPat" } ,
+            {
+              asn1 "Pub.pat-id" ,
+              form
+                use-template "StdIdPat" } ,
+            {
+              asn1 "Pub.man" ,
+              form
+                use-template "StdCitLet" } ,
+            {
+              asn1 "Pub.equiv" ,
+              form
+                use-template "StdPubEquiv" } } } } } ,
+  {
+    name "StdCitGen" ,
+    format {
+      asn1 "Cit-gen" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "Cit-gen.serial-number" ,
+              prefix "[" ,
+              suffix "]" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Cit-gen.authors" ,
+              form
+                use-template "StdAuthList" } ,
+            {
+              asn1 "Cit-gen.date" ,
+              prefix "(" ,
+              suffix ")" ,
+              form
+                user {
+                  printfunc "StdDatePrint" } } ,
+            {
+              asn1 "Cit-gen.title" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Cit-gen.cit" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Cit-gen" ,
+              form
+                block {
+                  separator " " ,
+                  components {
+                    {
+                      asn1 "Cit-gen.journal" ,
+                      suffix ":" ,
+                      form
+                        use-template "StdTitle" } ,
+                    {
+                      asn1 "Cit-gen.issue" ,
+                      suffix ";" ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Cit-gen.pages" ,
+                      form
+                        text {
+                           } } } } } } } } } ,
+  {
+    name "StdCitSub" ,
+    format {
+      asn1 "Cit-sub" ,
+      prefix "Data Submission " ,
+      form
+        block {
+          components {
+            {
+              asn1 "Cit-sub.medium" ,
+              prefix "on " ,
+              suffix " " ,
+              form
+                enum {
+                   } } ,
+            {
+              asn1 "Cit-sub.imp.date" ,
+              prefix "(" ,
+              suffix ")" ,
+              form
+                user {
+                  printfunc "StdDatePrint" } } ,
+            {
+              asn1 "Cit-sub.authors" ,
+              prefix "\n" ,
+              form
+                use-template "StdAuthList" } } } } } ,
+  {
+    name "StdMedlineEntry" ,
+    format {
+      asn1 "Medline-entry" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "Medline-entry" ,
+              form
+                block {
+                  separator "   " ,
+                  components {
+                    {
+                      asn1 "Medline-entry.uid" ,
+                      label "uid" ,
+                      prefix ": " ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Medline-entry.em" ,
+                      label "entry month" ,
+                      prefix ": " ,
+                      form
+                        user {
+                          printfunc "StdDatePrint" } } } } } ,
+            {
+              asn1 "Medline-entry.cit" ,
+              form
+                use-template "StdCitArt" } ,
+            {
+              asn1 "Medline-entry.abstract" ,
+              label "abstract" ,
+              prefix ": " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Medline-entry.mesh" ,
+              label "Mesh Terms" ,
+              prefix "\n" ,
+              form
+                block {
+                  separator "\n" ,
+                  components {
+                    {
+                      asn1 "Medline-entry.mesh.E" ,
+                      form
+                        block {
+                          components {
+                            {
+                              asn1 "Medline-mesh.term" ,
+                              form
+                                text {
+                                   } } ,
+                            {
+                              asn1 "Medline-mesh.mp" ,
+                              form
+                                boolean {
+                                  true " (Main Point)" } } ,
+                            {
+                              asn1 "Medline-mesh.qual" ,
+                              form
+                                block {
+                                  separator "\n" ,
+                                  components {
+                                    {
+                                      asn1 "Medline-mesh.qual.E" ,
+                                      form
+                                        block {
+                                          components {
+                                            {
+                                              asn1 "Medline-qual.subh" ,
+                                              form
+                                                text {
+                                                   } } ,
+                                            {
+                                              asn1 "Medline-qual.mp" ,
+                                              form
+                                                boolean {
+                                                  true " (Main Point)" } } } } } } } } } } } } } } ,
+            {
+              asn1 "Medline-entry.substance" ,
+              label "Substance" ,
+              prefix "\n" ,
+              form
+                block {
+                  separator "\n" ,
+                  components {
+                    {
+                      asn1 "Medline-entry.substance.E" ,
+                      form
+                        block {
+                          components {
+                            {
+                              asn1 "Medline-rn.name" ,
+                              form
+                                text {
+                                   } } ,
+                            {
+                              asn1 "Medline-rn.type" ,
+                              form
+                                enum {
+                                  values {
+                                    "" ,
+                                    " CAS: " ,
+                                    "EC " } } } ,
+                            {
+                              asn1 "Medline-rn.cit" ,
+                              form
+                                text {
+                                   } } } } } } } } ,
+            {
+              asn1 "Medline-entry.xref" ,
+              label "Cross Reference" ,
+              prefix "\n" ,
+              form
+                block {
+                  separator "\n" ,
+                  components {
+                    {
+                      asn1 "Medline-entry.xref.E" ,
+                      form
+                        block {
+                          separator ": " ,
+                          components {
+                            {
+                              asn1 "Medline-si.type" ,
+                              form
+                                enum {
+                                   } } ,
+                            {
+                              asn1 "Medline-si.cit" ,
+                              form
+                                text {
+                                   } } } } } } } } ,
+            {
+              asn1 "Medline-entry.gene" ,
+              label "Possible Gene Symbols" ,
+              prefix ": " ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Medline-entry.gene.E" ,
+                      form
+                        text {
+                           } } } } } ,
+            {
+              asn1 "Medline-entry.idnum" ,
+              label "Support" ,
+              prefix ": " ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Medline-entry.idnum.E" ,
+                      form
+                        text {
+                           } } } } } } } } } ,
+  {
+    name "StdCitArt" ,
+    format {
+      asn1 "Cit-art" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "Cit-art.title" ,
+              form
+                use-template "StdTitle" } ,
+            {
+              asn1 "Cit-art.authors" ,
+              form
+                use-template "StdAuthList" } ,
+            {
+              asn1 "Cit-art.from.journal" ,
+              form
+                use-template "StdCitJour" } ,
+            {
+              asn1 "Cit-art.from.book" ,
+              prefix "(in) " ,
+              form
+                use-template "StdCitBook" } ,
+            {
+              asn1 "Cit-art.from.proc" ,
+              prefix "(in) " ,
+              form
+                use-template "StdCitProc" } } } } } ,
+  {
+    name "StdCitJour" ,
+    format {
+      asn1 "Cit-jour" ,
+      form
+        block {
+          separator " " ,
+          components {
+            {
+              asn1 "Cit-jour.title" ,
+              form
+                use-template "StdTitle" } ,
+            {
+              asn1 "Cit-jour.imp" ,
+              form
+                use-template "StdImprint" } } } } } ,
+  {
+    name "StdCitBook" ,
+    format {
+      asn1 "Cit-book" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "Cit-book.title" ,
+              form
+                use-template "StdTitle" } ,
+            {
+              asn1 "Cit-book.coll" ,
+              prefix "Collection: " ,
+              form
+                use-template "StdTitle" } ,
+            {
+              asn1 "Cit-book.authors" ,
+              form
+                use-template "StdAuthList" } ,
+            {
+              asn1 "Cit-book.imp" ,
+              form
+                use-template "StdImprint" } } } } } ,
+  {
+    name "StdCitProc" ,
+    format {
+      asn1 "Cit-proc" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "Cit-proc.book" ,
+              form
+                use-template "StdCitBook" } ,
+            {
+              asn1 "Cit-proc.meet" ,
+              label "Meeting " ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Meeting.number" ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Meeting.date" ,
+                      form
+                        user {
+                          printfunc "StdDatePrint" } } ,
+                    {
+                      asn1 "Meeting.place" ,
+                      form
+                        use-template "StdAffil" } } } } } } } } ,
+  {
+    name "StdCitPat" ,
+    format {
+      asn1 "Cit-pat" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "Cit-pat.title" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Cit-pat.authors" ,
+              form
+                use-template "StdAuthList" } ,
+            {
+              asn1 "Cit-pat" ,
+              form
+                block {
+                  components {
+                    {
+                      asn1 "Cit-pat.country" ,
+                      suffix " " ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Cit-pat.doc-type" ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Cit-pat.number" ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Cit-pat.date-issue" ,
+                      prefix " (" ,
+                      suffix ")" ,
+                      form
+                        user {
+                          printfunc "StdDatePrint" } } ,
+                    {
+                      asn1 "Cit-pat.app-number" ,
+                      prefix " Appl: " ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Cit-pat.app-date" ,
+                      prefix " (" ,
+                      suffix ")" ,
+                      form
+                        user {
+                          printfunc "StdDatePrint" } } } } } } } } } ,
+  {
+    name "StdIdPat" ,
+    format {
+      asn1 "Id-pat" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Id-pat.country" ,
+              suffix " " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Id-pat.id.number" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Id-pat.id.app-number" ,
+              prefix "Appl: " ,
+              form
+                text {
+                   } } } } } } ,
+  {
+    name "StdCitLet" ,
+    format {
+      asn1 "Cit-let" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "Cit-let.type" ,
+              prefix "[" ,
+              suffix "]" ,
+              form
+                enum {
+                   } } ,
+            {
+              asn1 "Cit-let.man-id" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Cit-let.cit" ,
+              form
+                use-template "StdCitBook" } } } } } ,
+  {
+    name "StdPubEquiv" ,
+    format {
+      asn1 "Pub-equiv" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "Pub-equiv.E" ,
+              form
+                use-template "StdPub" } } } } } ,
+  {
+    name "StdTitle" ,
+    format {
+      asn1 "Title" ,
+      form
+        block {
+          separator ", " ,
+          components {
+            {
+              asn1 "Title.E.trans" ,
+              prefix "[" ,
+              suffix "]" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Title.E.name" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Title.E.tsub" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Title.E.abr" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Title.E.iso-jta" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Title.E.ml-jta" ,
+              label "MEDLINE" ,
+              prefix ": " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Title.E.jta" ,
+              label "jta" ,
+              prefix ": " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Title.E.issn" ,
+              label "ISSN" ,
+              prefix ": " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Title.E.coden" ,
+              label "CODEN" ,
+              prefix ": " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Title.E.isbn" ,
+              label "ISBN" ,
+              prefix ": " ,
+              form
+                text {
+                   } } } } } } ,
+  {
+    name "StdAuthList" ,
+    format {
+      asn1 "Auth-list" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "Auth-list" ,
+              form
+                user {
+                  printfunc "StdAuthListNamesPrint" } } ,
+            {
+              asn1 "Auth-list.affil" ,
+              form
+                use-template "StdAffil" } } } } } ,
+  {
+    name "StdAffil" ,
+    format {
+      asn1 "Affil" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "Affil.str" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Affil.std.affil" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Affil.std.div" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Affil.std.street" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Affil.std" ,
+              form
+                block {
+                  separator " " ,
+                  components {
+                    {
+                      asn1 "Affil.std.city" ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Affil.std.sub" ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Affil.std.country" ,
+                      form
+                        text {
+                           } } } } } } } } } ,
+  {
+    name "StdImprint" ,
+    format {
+      asn1 "Imprint" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Imprint.date" ,
+              prefix "(" ,
+              suffix ") " ,
+              form
+                user {
+                  printfunc "StdDatePrint" } } ,
+            {
+              asn1 "Imprint.volume" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Imprint.issue" ,
+              prefix " (" ,
+              suffix ")" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Imprint.section" ,
+              prefix " (" ,
+              suffix ")" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Imprint.part-sup" ,
+              prefix " (" ,
+              suffix ")" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Imprint.pages" ,
+              prefix ": " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Imprint.prepub" ,
+              prefix " (" ,
+              suffix ")" ,
+              form
+                enum {
+                   } } ,
+            {
+              asn1 "Imprint.pub" ,
+              label "\nPublisher: " ,
+              form
+                use-template "StdAffil" } ,
+            {
+              asn1 "Imprint.cprt" ,
+              label " Copyright: " ,
+              form
+                user {
+                  printfunc "StdDatePrint" } } } } } } ,
+  {
+    name "StdSeqFeatXref" ,
+    format {
+      asn1 "SeqFeatXref" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "SeqFeatXref.id" ,
+              label "Id=" ,
+              form
+                use-template "StdFeatId" } ,
+            {
+              asn1 "SeqFeatXref.data" ,
+              form
+                use-template "StdSeqFeatData" } } } } } ,
+  {
+    name "StdOrgRef" ,
+    format {
+      asn1 "Org-ref" ,
+      label "Org-ref" ,
+      prefix "\n" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "Org-ref" ,
+              form
+                block {
+                  separator " " ,
+                  components {
+                    {
+                      asn1 "Org-ref.taxname" ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Org-ref.common" ,
+                      prefix "(" ,
+                      suffix ")" ,
+                      form
+                        text {
+                           } } } } } ,
+            {
+              asn1 "Org-ref.mod" ,
+              label "Modifiers" ,
+              prefix " (" ,
+              suffix ")" ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Org-ref.mod.E" ,
+                      form
+                        text {
+                           } } } } } ,
+            {
+              asn1 "Org-ref.db" ,
+              label "Cross Reference" ,
+              prefix " " ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Org-ref.db.E" ,
+                      prefix "(" ,
+                      suffix ")" ,
+                      form
+                        use-template "StdDbtag" } } } } ,
+            {
+              asn1 "Org-ref.syn" ,
+              label "Synonyms" ,
+              prefix " (" ,
+              suffix ")" ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Org-ref.syn.E" ,
+                      form
+                        text {
+                           } } } } } } } } } ,
+  {
+    name "StdCdRegion" ,
+    format {
+      asn1 "Cdregion" ,
+      label "Cdregion" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "Cdregion.orf" ,
+              form
+                boolean {
+                  true "Uncharacterized Open Reading Frame" } } ,
+            {
+              asn1 "Cdregion.frame" ,
+              label "Reading Frame = " ,
+              form
+                enum {
+                   } } ,
+            {
+              asn1 "Cdregion.code" ,
+              label "Genetic Code: " ,
+              suffix ";" ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Genetic-code.E.name" ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Genetic-code.E.id" ,
+                      label "id= " ,
+                      form
+                        text {
+                           } } } } } ,
+            {
+              asn1 "Cdregion.conflict" ,
+              form
+                boolean {
+                  true "Translation conflicts with protein sequence" } } ,
+            {
+              asn1 "Cdregion.stops" ,
+              prefix "Translation contains " ,
+              suffix " stop codons" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Cdregion.gaps" ,
+              prefix "Translation contains " ,
+              suffix " gaps when aligned to protein" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Cdregion.mismatch" ,
+              prefix "Translation contains " ,
+              suffix " mismatches when aligned to protein" ,
+              form
+                text {
+                   } } } } } } ,
+  {
+    name "StdProtRef" ,
+    format {
+      asn1 "Prot-ref" ,
+      label "Prot-ref" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "Prot-ref.name" ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Prot-ref.name.E" ,
+                      form
+                        text {
+                           } } } } } ,
+            {
+              asn1 "Prot-ref.desc" ,
+              prefix "[" ,
+              suffix "]" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Prot-ref.ec" ,
+              label "ec" ,
+              prefix ": " ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Prot-ref.ec.E" ,
+                      form
+                        text {
+                           } } } } } ,
+            {
+              asn1 "Prot-ref.activity" ,
+              label "activity" ,
+              prefix ": " ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Prot-ref.activity.E" ,
+                      form
+                        text {
+                           } } } } } ,
+            {
+              asn1 "Prot-ref.db" ,
+              form
+                use-template "StdDbtag" } } } } } ,
+  {
+    name "StdRNARef" ,
+    format {
+      asn1 "RNA-ref" ,
+      label "RNA-ref" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "RNA-ref.type" ,
+              form
+                enum {
+                   } } ,
+            {
+              asn1 "RNA-ref.pseudo" ,
+              form
+                boolean {
+                  true "This is an RNA pseudogene." } } ,
+            {
+              asn1 "RNA-ref.ext.name" ,
+              form
+                text {
+                   } } } } } } ,
+  {
+    name "StdPubdesc" ,
+    format {
+      asn1 "Pubdesc" ,
+      label "Pubdesc" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "Pubdesc.pub" ,
+              form
+                use-template "StdPubEquiv" } ,
+            {
+              asn1 "Pubdesc" ,
+              prefix "In this article:\n" ,
+              form
+                block {
+                  separator "\n" ,
+                  components {
+                    {
+                      asn1 "Pubdesc.name" ,
+                      label "name=" ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Pubdesc.fig" ,
+                      label "figure=" ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Pubdesc.poly-a" ,
+                      form
+                        boolean {
+                          true "poly(A) shown" } } ,
+                    {
+                      asn1 "Pubdesc.maploc" ,
+                      label "map location=" ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Pubdesc.num" ,
+                      form
+                        use-template "StdNumbering" } ,
+                    {
+                      asn1 "Pubdesc.numexc" ,
+                      form
+                        boolean {
+                          true "numbering inconsistent" } } } } } ,
+            {
+              asn1 "Pubdesc.comment" ,
+              form
+                text {
+                   } } } } } } ,
+  {
+    name "StdImpFeat" ,
+    format {
+      asn1 "Imp-feat.key" ,
+      label "Imp-feat" ,
+      form
+        text {
+           } } } ,
+  {
+    name "StdRsiteRef" ,
+    format {
+      asn1 "Rsite-ref" ,
+      label "Rsite-ref" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Rsite-ref.str" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Rsite-ref.std" ,
+              form
+                use-template "StdDbtag" } } } } } ,
+  {
+    name "StdTxInit" ,
+    format {
+      asn1 "Txinit" ,
+      label "TxInit" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Txinit.name" ,
+              form
+                text {
+                   } } } } } } ,
+  {
+    name "StdNumbering" ,
+    format {
+      asn1 "Numbering" ,
+      label "Numbering" ,
+      form
+        null NULL } } ,
+  {
+    name "StdGBBlock" ,
+    format {
+      asn1 "GB-block" ,
+      label "GenBank-block" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "GB-block.extra-accessions" ,
+              label "Extra accessions" ,
+              prefix " (" ,
+              suffix ")" ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "GB-block.extra-accessions.E" ,
+                      form
+                        text {
+                           } } } } } ,
+            {
+              asn1 "GB-block.keywords" ,
+              label "Keywords" ,
+              prefix " (" ,
+              suffix ")" ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "GB-block.keywords.E" ,
+                      form
+                        text {
+                           } } } } } ,
+            {
+              asn1 "GB-block.source" ,
+              label "Source: " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "GB-block.origin" ,
+              label "Origin: " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "GB-block.div" ,
+              label "Division: " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "GB-block.taxonomy" ,
+              label "Taxonomy: " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "GB-block.date" ,
+              label "Date: " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "GB-block.entry-date" ,
+              label "Entry date: " ,
+              form
+                user {
+                  printfunc "StdDatePrint" } } } } } } ,
+  {
+    name "StdReportGBBlock" ,
+    format {
+      asn1 "GB-block" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "GB-block.extra-accessions" ,
+              label "Extra accessions" ,
+              prefix " (" ,
+              suffix ")" ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "GB-block.extra-accessions.E" ,
+                      form
+                        text {
+                           } } } } } ,
+            {
+              asn1 "GB-block.keywords" ,
+              label "Keywords" ,
+              prefix " (" ,
+              suffix ")" ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "GB-block.keywords.E" ,
+                      form
+                        text {
+                           } } } } } ,
+            {
+              asn1 "GB-block.origin" ,
+              label "Origin: " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "GB-block.date" ,
+              label "Date: " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "GB-block.entry-date" ,
+              label "Entry date: " ,
+              form
+                user {
+                  printfunc "StdDatePrint" } } } } } } ,
+  {
+    name "StdSourceInGBBlock" ,
+    format {
+      asn1 "GB-block" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "GB-block.source" ,
+              label "Source: " ,
+              form
+                text {
+                   } } } } } } ,
+  {
+    name "StdDivInGBBlock" ,
+    format {
+      asn1 "GB-block" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "GB-block.div" ,
+              label "Division: " ,
+              form
+                text {
+                   } } } } } } ,
+  {
+    name "StdTaxInGBBlock" ,
+    format {
+      asn1 "GB-block" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "GB-block.taxonomy" ,
+              label "Taxonomy: " ,
+              form
+                text {
+                   } } } } } } ,
+  {
+    name "StdFeatId" ,
+    format {
+      asn1 "Feat-id" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Feat-id.gibb" ,
+              label "GenInfo Backbone: " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Feat-id.giim.id" ,
+              label "GenInfo Import Id: " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Feat-id.local" ,
+              label "Local: " ,
+              form
+                use-template "StdObjectId" } ,
+            {
+              asn1 "Feat-id.general" ,
+              form
+                use-template "StdDbtag" } } } } } ,
+  {
+    name "StdSeqFeatCommon" ,
+    format {
+      asn1 "Seq-feat" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "Seq-feat.id" ,
+              label "Id=" ,
+              form
+                use-template "StdFeatId" } ,
+            {
+              asn1 "Seq-feat.title" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Seq-feat" ,
+              suffix ";" ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Seq-feat.partial" ,
+                      form
+                        boolean {
+                          true "Partial" } } ,
+                    {
+                      asn1 "Seq-feat.except" ,
+                      form
+                        boolean {
+                          true "Biological Exception" } } ,
+                    {
+                      asn1 "Seq-feat.exp-ev" ,
+                      label "Evidence" ,
+                      prefix " is " ,
+                      form
+                        enum {
+                           } } } } } ,
+            {
+              asn1 "Seq-feat.comment" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Seq-feat.ext" ,
+              form
+                use-template "StdUserObj" } ,
+            {
+              asn1 "Seq-feat.qual" ,
+              label "Qualifiers" ,
+              prefix "\n" ,
+              form
+                block {
+                  separator "\n" ,
+                  components {
+                    {
+                      asn1 "Seq-feat.qual.E" ,
+                      prefix "/" ,
+                      form
+                        block {
+                          separator "= " ,
+                          components {
+                            {
+                              asn1 "Gb-qual.qual" ,
+                              form
+                                text {
+                                   } } ,
+                            {
+                              asn1 "Gb-qual.val" ,
+                              form
+                                text {
+                                   } } } } } } } } } } } } ,
+  {
+    name "StdDbtag" ,
+    format {
+      asn1 "Dbtag" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Dbtag.db" ,
+              suffix ": " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Dbtag.tag" ,
+              form
+                use-template "StdObjectId" } } } } } ,
+  {
+    name "StdObjectId" ,
+    format {
+      asn1 "Object-id" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Object-id.id" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Object-id.str" ,
+              form
+                text {
+                   } } } } } } }
diff --git a/websoft/data/blast/objprt.prt b/websoft/data/blast/objprt.prt
new file mode 100755 (executable)
index 0000000..ffcb2e4
--- /dev/null
@@ -0,0 +1,1802 @@
+PrintTemplateSet ::= {
+  {
+    name "StdSeqDesc" ,
+    format {
+      asn1 "Seqdesc" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Seqdesc.mol-type" ,
+              label "Molecule type" ,
+              prefix "\n" ,
+              form
+                enum {
+                   } } ,
+            {
+              asn1 "Seqdesc.modif" ,
+              label "Modifiers" ,
+              prefix "\n" ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Seqdesc.modif.E" ,
+                      form
+                        enum {
+                           } } } } } ,
+            {
+              asn1 "Seqdesc.method" ,
+              label "Method" ,
+              prefix "\n" ,
+              form
+                enum {
+                   } } ,
+            {
+              asn1 "Seqdesc.name" ,
+              label "Name" ,
+              prefix "\n" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Seqdesc.title" ,
+              label "Title" ,
+              prefix "\n" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Seqdesc.org" ,
+              label "Organism" ,
+              prefix "\n" ,
+              form
+                use-template "StdOrgRef" } ,
+            {
+              asn1 "Seqdesc.comment" ,
+              label "Comment" ,
+              prefix "\n" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Seqdesc.num" ,
+              label "Numbering" ,
+              prefix "\n" ,
+              form
+                use-template "StdNumbering" } ,
+            {
+              asn1 "Seqdesc.maploc" ,
+              label "Map location" ,
+              prefix "\n" ,
+              form
+                use-template "StdDbtag" } ,
+            {
+              asn1 "Seqdesc.pir" ,
+              label "PIR block" ,
+              prefix "\n" ,
+              form
+                null NULL } ,
+            {
+              asn1 "Seqdesc.genbank" ,
+              label "GenBank block" ,
+              prefix "\n" ,
+              form
+                use-template "StdGBBlock" } ,
+            {
+              asn1 "Seqdesc.pub" ,
+              label "Citation" ,
+              prefix "\n" ,
+              form
+                use-template "StdPubdesc" } ,
+            {
+              asn1 "Seqdesc.region" ,
+              label "Region" ,
+              prefix "\n" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Seqdesc.user" ,
+              label "User Type" ,
+              prefix "\n" ,
+              form
+                use-template "StdUserObj" } ,
+            {
+              asn1 "Seqdesc.sp" ,
+              label "SWISS-PROT block" ,
+              prefix "\n" ,
+              form
+                null NULL } ,
+            {
+              asn1 "Seqdesc.dbxref" ,
+              label "Cross reference" ,
+              prefix "\n" ,
+              form
+                use-template "StdDbtag"  } ,
+            {
+              asn1 "Seqdesc.embl" ,
+              label "EMBL block" ,
+              prefix "\n" ,
+              form
+                null NULL } ,
+            {
+              asn1 "Seqdesc.create-date" ,
+              label "Create date" ,
+              prefix "\n" ,
+              form
+                user {
+                  printfunc "StdDatePrint" } } ,
+            {
+              asn1 "Seqdesc.update-date" ,
+              label "Update date" ,
+              prefix "\n" ,
+              form
+                user {
+                  printfunc "StdDatePrint" } } ,
+            {
+              asn1 "Seqdesc.prf" ,
+              label "PRF block" ,
+              prefix "\n" ,
+              form
+                null NULL } ,
+            {
+              asn1 "Seqdesc.pdb" ,
+              label "PDB block" ,
+              prefix "\n" ,
+              form
+                null NULL } ,
+            {
+              asn1 "Seqdesc.het" ,
+              label "Heterogen" ,
+              prefix "\n" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Seqdesc.source" ,
+              label "Biological Source" ,
+              prefix "\n" ,
+              form
+                use-template "StdBioSource" } ,
+            {
+              asn1 "Seqdesc.molinfo" ,
+              label "Molecule Information" ,
+              prefix "\n" ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "MolInfo.biomol" ,
+                      form
+                        enum {
+                           } } ,
+                    {
+                      asn1 "MolInfo.tech" ,
+                      form
+                        enum {
+                           } } ,
+                    {
+                      asn1 "MolInfo.completeness" ,
+                      form
+                        enum {
+                           } } } } } } } } } ,
+  {
+    name "StdSeqFeatLocation" ,
+    format {
+      asn1 "Seq-feat.location" ,
+      label "Location" ,
+      prefix "\t" ,
+      form
+        user {
+          printfunc "StdSeqLocPrint" } } } ,
+  {
+    name "StdSeqFeatProduct" ,
+    format {
+      asn1 "Seq-feat.product" ,
+      label "Product" ,
+      prefix "\t" ,
+      form
+        user {
+          printfunc "StdSeqLocPrint" } } } ,
+  {
+    name "EntrySeqFeatData" ,
+    labelfrom "Seq-feat.data" ,
+    format {
+      asn1 "Seq-feat.data" ,
+      prefix "\t" ,
+      form
+        use-template "StdSeqFeatData" } } ,
+  {
+    name "StdSeqFeat" ,
+    labelfrom "Seq-feat.data" ,
+    format {
+      asn1 "Seq-feat" ,
+      prefix "\n" ,
+      suffix "\n" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "Seq-feat.data" ,
+              form
+                use-template "StdSeqFeatData" } ,
+            {
+              asn1 "Seq-feat" ,
+              form
+                use-template "StdSeqFeatCommon" } ,
+            {
+              asn1 "Seq-feat.product" ,
+              label "Product" ,
+              prefix " " ,
+              form
+                user {
+                  printfunc "StdSeqLocPrint" } } ,
+            {
+              asn1 "Seq-feat.location" ,
+              label "Location" ,
+              prefix " " ,
+              form
+                user {
+                  printfunc "StdSeqLocPrint" } } ,
+            {
+              asn1 "Seq-feat.cit" ,
+              label "Citations" ,
+              prefix "\n" ,
+              form
+                block {
+                  separator "\n" ,
+                  components {
+                    {
+                      asn1 "Seq-feat.cit.pub.E" ,
+                      form
+                        use-template "StdPub" } } } } ,
+            {
+              asn1 "Seq-feat.xref" ,
+              label "Cross-reference" ,
+              prefix "\n" ,
+              form
+                block {
+                  separator "\n" ,
+                  components {
+                    {
+                      asn1 "Seq-feat.xref.E" ,
+                      form
+                        use-template "StdSeqFeatXref" } } } } } } } } ,
+  {
+    name "StdSeqFeatData" ,
+    format {
+      asn1 "SeqFeatData" ,
+      form
+        block {
+          components {
+            {
+              asn1 "SeqFeatData.gene" ,
+              label "Gene" ,
+              form
+                use-template "StdGeneRef" } ,
+            {
+              asn1 "SeqFeatData.org" ,
+              label "Organism" ,
+              form
+                use-template "StdOrgRef" } ,
+            {
+              asn1 "SeqFeatData.cdregion" ,
+              label "Coding Region" ,
+              form
+                use-template "StdCdRegion" } ,
+            {
+              asn1 "SeqFeatData.prot" ,
+              label "Protein" ,
+              form
+                use-template "StdProtRef" } ,
+            {
+              asn1 "SeqFeatData.rna" ,
+              label "RNA" ,
+              form
+                use-template "StdRNARef" } ,
+            {
+              asn1 "SeqFeatData.pub" ,
+              label "Citation" ,
+              form
+                use-template "StdPubdesc" } ,
+            {
+              asn1 "SeqFeatData.seq" ,
+              label "Sequence" ,
+              form
+                user {
+                  printfunc "StdSeqLocPrint" } } ,
+            {
+              asn1 "SeqFeatData.imp.key" ,
+              label "Import" ,
+              form
+                use-template "StdImpFeat" } ,
+            {
+              asn1 "SeqFeatData.region" ,
+              label "Region" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "SeqFeatData.comment" ,
+              label "Comment" ,
+              form
+                null NULL } ,
+            {
+              asn1 "SeqFeatData.bond" ,
+              label "Bond" ,
+              form
+                enum {
+                   } } ,
+            {
+              asn1 "SeqFeatData.site" ,
+              label "Site" ,
+              form
+                enum {
+                   } } ,
+            {
+              asn1 "SeqFeatData.rsite" ,
+              label "Rest. Site" ,
+              form
+                use-template "StdRsiteRef" } ,
+            {
+              asn1 "SeqFeatData.user" ,
+              label "User Type" ,
+              form
+                use-template "StdUserObj" } ,
+            {
+              asn1 "SeqFeatData.txinit" ,
+              label "TxInit" ,
+              form
+                use-template "StdTxInit" } ,
+            {
+              asn1 "SeqFeatData.num" ,
+              label "Numbering" ,
+              form
+                use-template "StdNumbering" } ,
+            {
+              asn1 "SeqFeatData.psec-str" ,
+              label "Sec. Struct" ,
+              form
+                enum {
+                   } } ,
+            {
+              asn1 "SeqFeatData.non-std-residue" ,
+              label "NonStd Residue" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "SeqFeatData.het" ,
+              label "Heterogen" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "SeqFeatData.biosrc" ,
+              label "Biological Source" ,
+              prefix "\n" ,
+              form
+                use-template "StdBioSource" } } } } } ,
+  {
+    name "StdGeneRef" ,
+    format {
+      asn1 "Gene-ref" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "Gene-ref" ,
+              form
+                block {
+                  components {
+                    {
+                      asn1 "Gene-ref.locus" ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Gene-ref.allele" ,
+                      prefix " " ,
+                      form
+                        text {
+                           } } } } } ,
+            {
+              asn1 "Gene-ref.desc" ,
+              prefix "[" ,
+              suffix "]" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Gene-ref.pseudo" ,
+              form
+                boolean {
+                  true "This is a pseudogene." } } ,
+            {
+              asn1 "Gene-ref.syn" ,
+              label "Synonyms" ,
+              prefix " (" ,
+              suffix ")" ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Gene-ref.syn.E" ,
+                      form
+                        text {
+                           } } } } } ,
+            {
+              asn1 "Gene-ref.maploc" ,
+              label "Map Location" ,
+              prefix " " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Gene-ref.db" ,
+              label "Cross Reference" ,
+              prefix " " ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Gene-ref.db.E" ,
+                      prefix "(" ,
+                      suffix ")" ,
+                      form
+                        use-template "StdDbtag" } } } } } } } } ,
+  {
+    name "StdUserObj" ,
+    format {
+      asn1 "User-object" ,
+      label "User-object" ,
+      prefix "\n" ,
+      form
+        block {
+          separator ": " ,
+          components {
+            {
+              asn1 "User-object.class" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "User-object.type" ,
+              form
+                use-template "StdObjectId" } } } } } ,
+  {
+    name "StdPubOnFeat" ,
+    format {
+      asn1 "Pub" ,
+      label "Citation" ,
+      prefix "\n" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "Pub" ,
+              form
+                use-template "StdPub" } } } } } ,
+  {
+    name "StdPub" ,
+    format {
+      asn1 "Pub" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "Pub.gen" ,
+              form
+                use-template "StdCitGen" } ,
+            {
+              asn1 "Pub.sub" ,
+              form
+                use-template "StdCitSub" } ,
+            {
+              asn1 "Pub.medline" ,
+              form
+                use-template "StdMedlineEntry" } ,
+            {
+              asn1 "Pub.muid" ,
+              label "MEDLINE uid: " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Pub.pmid" ,
+              label "PubMed id: " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Pub.article" ,
+              form
+                use-template "StdCitArt" } ,
+            {
+              asn1 "Pub.journal" ,
+              form
+                use-template "StdCitJour" } ,
+            {
+              asn1 "Pub.book" ,
+              form
+                use-template "StdCitBook" } ,
+            {
+              asn1 "Pub.proc" ,
+              form
+                use-template "StdCitProc" } ,
+            {
+              asn1 "Pub.patent" ,
+              form
+                use-template "StdCitPat" } ,
+            {
+              asn1 "Pub.pat-id" ,
+              form
+                use-template "StdIdPat" } ,
+            {
+              asn1 "Pub.man" ,
+              form
+                use-template "StdCitLet" } ,
+            {
+              asn1 "Pub.equiv" ,
+              form
+                use-template "StdPubEquiv" } } } } } ,
+  {
+    name "StdCitGen" ,
+    format {
+      asn1 "Cit-gen" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "Cit-gen.serial-number" ,
+              prefix "[" ,
+              suffix "]" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Cit-gen.authors" ,
+              form
+                use-template "StdAuthList" } ,
+            {
+              asn1 "Cit-gen.date" ,
+              prefix "(" ,
+              suffix ")" ,
+              form
+                user {
+                  printfunc "StdDatePrint" } } ,
+            {
+              asn1 "Cit-gen.title" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Cit-gen.cit" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Cit-gen" ,
+              form
+                block {
+                  separator " " ,
+                  components {
+                    {
+                      asn1 "Cit-gen.journal" ,
+                      suffix ":" ,
+                      form
+                        use-template "StdTitle" } ,
+                    {
+                      asn1 "Cit-gen.issue" ,
+                      suffix ";" ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Cit-gen.pages" ,
+                      form
+                        text {
+                           } } } } } } } } } ,
+  {
+    name "StdCitSub" ,
+    format {
+      asn1 "Cit-sub" ,
+      prefix "Data Submission " ,
+      form
+        block {
+          components {
+            {
+              asn1 "Cit-sub.medium" ,
+              prefix "on " ,
+              suffix " " ,
+              form
+                enum {
+                   } } ,
+            {
+              asn1 "Cit-sub.imp.date" ,
+              prefix "(" ,
+              suffix ")" ,
+              form
+                user {
+                  printfunc "StdDatePrint" } } ,
+            {
+              asn1 "Cit-sub.authors" ,
+              prefix "\n" ,
+              form
+                use-template "StdAuthList" } } } } } ,
+  {
+    name "StdMedlineEntry" ,
+    format {
+      asn1 "Medline-entry" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "Medline-entry" ,
+              form
+                block {
+                  separator "   " ,
+                  components {
+                    {
+                      asn1 "Medline-entry.uid" ,
+                      label "uid" ,
+                      prefix ": " ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Medline-entry.em" ,
+                      label "entry month" ,
+                      prefix ": " ,
+                      form
+                        user {
+                          printfunc "StdDatePrint" } } } } } ,
+            {
+              asn1 "Medline-entry.cit" ,
+              form
+                use-template "StdCitArt" } ,
+            {
+              asn1 "Medline-entry.abstract" ,
+              label "abstract" ,
+              prefix ": " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Medline-entry.mesh" ,
+              label "Mesh Terms" ,
+              prefix "\n" ,
+              form
+                block {
+                  separator "\n" ,
+                  components {
+                    {
+                      asn1 "Medline-entry.mesh.E" ,
+                      form
+                        block {
+                          components {
+                            {
+                              asn1 "Medline-mesh.term" ,
+                              form
+                                text {
+                                   } } ,
+                            {
+                              asn1 "Medline-mesh.mp" ,
+                              form
+                                boolean {
+                                  true " (Main Point)" } } ,
+                            {
+                              asn1 "Medline-mesh.qual" ,
+                              form
+                                block {
+                                  separator "\n" ,
+                                  components {
+                                    {
+                                      asn1 "Medline-mesh.qual.E" ,
+                                      form
+                                        block {
+                                          components {
+                                            {
+                                              asn1 "Medline-qual.subh" ,
+                                              form
+                                                text {
+                                                   } } ,
+                                            {
+                                              asn1 "Medline-qual.mp" ,
+                                              form
+                                                boolean {
+                                                  true " (Main Point)" } } } } } } } } } } } } } } ,
+            {
+              asn1 "Medline-entry.substance" ,
+              label "Substance" ,
+              prefix "\n" ,
+              form
+                block {
+                  separator "\n" ,
+                  components {
+                    {
+                      asn1 "Medline-entry.substance.E" ,
+                      form
+                        block {
+                          components {
+                            {
+                              asn1 "Medline-rn.name" ,
+                              form
+                                text {
+                                   } } ,
+                            {
+                              asn1 "Medline-rn.type" ,
+                              form
+                                enum {
+                                  values {
+                                    "" ,
+                                    " CAS: " ,
+                                    "EC " } } } ,
+                            {
+                              asn1 "Medline-rn.cit" ,
+                              form
+                                text {
+                                   } } } } } } } } ,
+            {
+              asn1 "Medline-entry.xref" ,
+              label "Cross Reference" ,
+              prefix "\n" ,
+              form
+                block {
+                  separator "\n" ,
+                  components {
+                    {
+                      asn1 "Medline-entry.xref.E" ,
+                      form
+                        block {
+                          separator ": " ,
+                          components {
+                            {
+                              asn1 "Medline-si.type" ,
+                              form
+                                enum {
+                                   } } ,
+                            {
+                              asn1 "Medline-si.cit" ,
+                              form
+                                text {
+                                   } } } } } } } } ,
+            {
+              asn1 "Medline-entry.gene" ,
+              label "Possible Gene Symbols" ,
+              prefix ": " ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Medline-entry.gene.E" ,
+                      form
+                        text {
+                           } } } } } ,
+            {
+              asn1 "Medline-entry.idnum" ,
+              label "Support" ,
+              prefix ": " ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Medline-entry.idnum.E" ,
+                      form
+                        text {
+                           } } } } } } } } } ,
+  {
+    name "StdCitArt" ,
+    format {
+      asn1 "Cit-art" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "Cit-art.title" ,
+              form
+                use-template "StdTitle" } ,
+            {
+              asn1 "Cit-art.authors" ,
+              form
+                use-template "StdAuthList" } ,
+            {
+              asn1 "Cit-art.from.journal" ,
+              form
+                use-template "StdCitJour" } ,
+            {
+              asn1 "Cit-art.from.book" ,
+              prefix "(in) " ,
+              form
+                use-template "StdCitBook" } ,
+            {
+              asn1 "Cit-art.from.proc" ,
+              prefix "(in) " ,
+              form
+                use-template "StdCitProc" } } } } } ,
+  {
+    name "StdCitJour" ,
+    format {
+      asn1 "Cit-jour" ,
+      form
+        block {
+          separator " " ,
+          components {
+            {
+              asn1 "Cit-jour.title" ,
+              form
+                use-template "StdTitle" } ,
+            {
+              asn1 "Cit-jour.imp" ,
+              form
+                use-template "StdImprint" } } } } } ,
+  {
+    name "StdCitBook" ,
+    format {
+      asn1 "Cit-book" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "Cit-book.title" ,
+              form
+                use-template "StdTitle" } ,
+            {
+              asn1 "Cit-book.coll" ,
+              prefix "Collection: " ,
+              form
+                use-template "StdTitle" } ,
+            {
+              asn1 "Cit-book.authors" ,
+              form
+                use-template "StdAuthList" } ,
+            {
+              asn1 "Cit-book.imp" ,
+              form
+                use-template "StdImprint" } } } } } ,
+  {
+    name "StdCitProc" ,
+    format {
+      asn1 "Cit-proc" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "Cit-proc.book" ,
+              form
+                use-template "StdCitBook" } ,
+            {
+              asn1 "Cit-proc.meet" ,
+              label "Meeting " ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Meeting.number" ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Meeting.date" ,
+                      form
+                        user {
+                          printfunc "StdDatePrint" } } ,
+                    {
+                      asn1 "Meeting.place" ,
+                      form
+                        use-template "StdAffil" } } } } } } } } ,
+  {
+    name "StdCitPat" ,
+    format {
+      asn1 "Cit-pat" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "Cit-pat.title" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Cit-pat.authors" ,
+              form
+                use-template "StdAuthList" } ,
+            {
+              asn1 "Cit-pat" ,
+              form
+                block {
+                  components {
+                    {
+                      asn1 "Cit-pat.country" ,
+                      suffix " " ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Cit-pat.doc-type" ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Cit-pat.number" ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Cit-pat.date-issue" ,
+                      prefix " (" ,
+                      suffix ")" ,
+                      form
+                        user {
+                          printfunc "StdDatePrint" } } ,
+                    {
+                      asn1 "Cit-pat.app-number" ,
+                      prefix " Appl: " ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Cit-pat.app-date" ,
+                      prefix " (" ,
+                      suffix ")" ,
+                      form
+                        user {
+                          printfunc "StdDatePrint" } } } } } } } } } ,
+  {
+    name "StdIdPat" ,
+    format {
+      asn1 "Id-pat" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Id-pat.country" ,
+              suffix " " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Id-pat.id.number" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Id-pat.id.app-number" ,
+              prefix "Appl: " ,
+              form
+                text {
+                   } } } } } } ,
+  {
+    name "StdCitLet" ,
+    format {
+      asn1 "Cit-let" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "Cit-let.type" ,
+              prefix "[" ,
+              suffix "]" ,
+              form
+                enum {
+                   } } ,
+            {
+              asn1 "Cit-let.man-id" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Cit-let.cit" ,
+              form
+                use-template "StdCitBook" } } } } } ,
+  {
+    name "StdPubEquiv" ,
+    format {
+      asn1 "Pub-equiv" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "Pub-equiv.E" ,
+              form
+                use-template "StdPub" } } } } } ,
+  {
+    name "StdTitle" ,
+    format {
+      asn1 "Title" ,
+      form
+        block {
+          separator ", " ,
+          components {
+            {
+              asn1 "Title.E.trans" ,
+              prefix "[" ,
+              suffix "]" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Title.E.name" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Title.E.tsub" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Title.E.abr" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Title.E.iso-jta" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Title.E.ml-jta" ,
+              label "MEDLINE" ,
+              prefix ": " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Title.E.jta" ,
+              label "jta" ,
+              prefix ": " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Title.E.issn" ,
+              label "ISSN" ,
+              prefix ": " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Title.E.coden" ,
+              label "CODEN" ,
+              prefix ": " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Title.E.isbn" ,
+              label "ISBN" ,
+              prefix ": " ,
+              form
+                text {
+                   } } } } } } ,
+  {
+    name "StdAuthList" ,
+    format {
+      asn1 "Auth-list" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "Auth-list" ,
+              form
+                user {
+                  printfunc "StdAuthListNamesPrint" } } ,
+            {
+              asn1 "Auth-list.affil" ,
+              form
+                use-template "StdAffil" } } } } } ,
+  {
+    name "StdAffil" ,
+    format {
+      asn1 "Affil" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "Affil.str" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Affil.std.affil" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Affil.std.div" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Affil.std.street" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Affil.std" ,
+              form
+                block {
+                  separator " " ,
+                  components {
+                    {
+                      asn1 "Affil.std.city" ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Affil.std.sub" ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Affil.std.country" ,
+                      form
+                        text {
+                           } } } } } } } } } ,
+  {
+    name "StdImprint" ,
+    format {
+      asn1 "Imprint" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Imprint.date" ,
+              prefix "(" ,
+              suffix ") " ,
+              form
+                user {
+                  printfunc "StdDatePrint" } } ,
+            {
+              asn1 "Imprint.volume" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Imprint.issue" ,
+              prefix " (" ,
+              suffix ")" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Imprint.section" ,
+              prefix " (" ,
+              suffix ")" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Imprint.part-sup" ,
+              prefix " (" ,
+              suffix ")" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Imprint.pages" ,
+              prefix ": " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Imprint.prepub" ,
+              prefix " (" ,
+              suffix ")" ,
+              form
+                enum {
+                   } } ,
+            {
+              asn1 "Imprint.pub" ,
+              label "\nPublisher: " ,
+              form
+                use-template "StdAffil" } ,
+            {
+              asn1 "Imprint.cprt" ,
+              label " Copyright: " ,
+              form
+                user {
+                  printfunc "StdDatePrint" } } } } } } ,
+  {
+    name "StdSeqFeatXref" ,
+    format {
+      asn1 "SeqFeatXref" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "SeqFeatXref.id" ,
+              label "Id=" ,
+              form
+                use-template "StdFeatId" } ,
+            {
+              asn1 "SeqFeatXref.data" ,
+              form
+                use-template "StdSeqFeatData" } } } } } ,
+  {
+    name "StdOrgRef" ,
+    format {
+      asn1 "Org-ref" ,
+      label "Org-ref" ,
+      prefix "\n" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "Org-ref" ,
+              form
+                block {
+                  separator " " ,
+                  components {
+                    {
+                      asn1 "Org-ref.taxname" ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Org-ref.common" ,
+                      prefix "(" ,
+                      suffix ")" ,
+                      form
+                        text {
+                           } } } } } ,
+            {
+              asn1 "Org-ref.mod" ,
+              label "Modifiers" ,
+              prefix " (" ,
+              suffix ")" ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Org-ref.mod.E" ,
+                      form
+                        text {
+                           } } } } } ,
+            {
+              asn1 "Org-ref.db" ,
+              label "Cross Reference" ,
+              prefix " " ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Org-ref.db.E" ,
+                      prefix "(" ,
+                      suffix ")" ,
+                      form
+                        use-template "StdDbtag" } } } } ,
+            {
+              asn1 "Org-ref.syn" ,
+              label "Synonyms" ,
+              prefix " (" ,
+              suffix ")" ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Org-ref.syn.E" ,
+                      form
+                        text {
+                           } } } } } } } } } ,
+  {
+    name "StdBioSource" ,
+    format {
+      asn1 "BioSource" ,
+      label "BioSource" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "BioSource.genome" ,
+              form
+                enum {
+                   } } ,
+            {
+              asn1 "BioSource.org" ,
+              label "Organism" ,
+              form
+                use-template "StdOrgRef" } } } } } ,
+  {
+    name "StdCdRegion" ,
+    format {
+      asn1 "Cdregion" ,
+      label "Cdregion" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "Cdregion.orf" ,
+              form
+                boolean {
+                  true "Uncharacterized Open Reading Frame" } } ,
+            {
+              asn1 "Cdregion.frame" ,
+              label "Reading Frame = " ,
+              form
+                enum {
+                   } } ,
+            {
+              asn1 "Cdregion.code" ,
+              label "Genetic Code: " ,
+              suffix ";" ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Genetic-code.E.name" ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Genetic-code.E.id" ,
+                      label "id= " ,
+                      form
+                        text {
+                           } } } } } ,
+            {
+              asn1 "Cdregion.conflict" ,
+              form
+                boolean {
+                  true "Translation conflicts with protein sequence" } } ,
+            {
+              asn1 "Cdregion.stops" ,
+              prefix "Translation contains " ,
+              suffix " stop codons" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Cdregion.gaps" ,
+              prefix "Translation contains " ,
+              suffix " gaps when aligned to protein" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Cdregion.mismatch" ,
+              prefix "Translation contains " ,
+              suffix " mismatches when aligned to protein" ,
+              form
+                text {
+                   } } } } } } ,
+  {
+    name "StdProtRef" ,
+    format {
+      asn1 "Prot-ref" ,
+      label "Prot-ref" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "Prot-ref.name" ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Prot-ref.name.E" ,
+                      form
+                        text {
+                           } } } } } ,
+            {
+              asn1 "Prot-ref.desc" ,
+              prefix "[" ,
+              suffix "]" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Prot-ref.processed" ,
+              form
+                enum {
+                   } } ,
+            {
+              asn1 "Prot-ref.ec" ,
+              label "ec" ,
+              prefix ": " ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Prot-ref.ec.E" ,
+                      form
+                        text {
+                           } } } } } ,
+            {
+              asn1 "Prot-ref.activity" ,
+              label "activity" ,
+              prefix ": " ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Prot-ref.activity.E" ,
+                      form
+                        text {
+                           } } } } } ,
+            {
+              asn1 "Prot-ref.db" ,
+              label "Cross Reference" ,
+              prefix " " ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Prot-ref.db.E" ,
+                      prefix "(" ,
+                      suffix ")" ,
+                      form
+                        use-template "StdDbtag" } } } } } } } } ,
+  {
+    name "StdRNARef" ,
+    format {
+      asn1 "RNA-ref" ,
+      label "RNA-ref" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "RNA-ref.type" ,
+              form
+                enum {
+                   } } ,
+            {
+              asn1 "RNA-ref.pseudo" ,
+              form
+                boolean {
+                  true "This is an RNA pseudogene." } } ,
+            {
+              asn1 "RNA-ref.ext.name" ,
+              form
+                text {
+                   } } } } } } ,
+  {
+    name "StdPubdesc" ,
+    format {
+      asn1 "Pubdesc" ,
+      label "Pubdesc" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "Pubdesc.pub" ,
+              form
+                use-template "StdPubEquiv" } ,
+            {
+              asn1 "Pubdesc" ,
+              prefix "In this article:\n" ,
+              form
+                block {
+                  separator "\n" ,
+                  components {
+                    {
+                      asn1 "Pubdesc.name" ,
+                      label "name=" ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Pubdesc.fig" ,
+                      label "figure=" ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Pubdesc.poly-a" ,
+                      form
+                        boolean {
+                          true "poly(A) shown" } } ,
+                    {
+                      asn1 "Pubdesc.maploc" ,
+                      label "map location=" ,
+                      form
+                        text {
+                           } } ,
+                    {
+                      asn1 "Pubdesc.num" ,
+                      form
+                        use-template "StdNumbering" } ,
+                    {
+                      asn1 "Pubdesc.numexc" ,
+                      form
+                        boolean {
+                          true "numbering inconsistent" } } } } } ,
+            {
+              asn1 "Pubdesc.comment" ,
+              form
+                text {
+                   } } } } } } ,
+  {
+    name "StdImpFeat" ,
+    format {
+      asn1 "Imp-feat.key" ,
+      label "Imp-feat" ,
+      form
+        text {
+           } } } ,
+  {
+    name "StdRsiteRef" ,
+    format {
+      asn1 "Rsite-ref" ,
+      label "Rsite-ref" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Rsite-ref.str" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Rsite-ref.std" ,
+              form
+                use-template "StdDbtag" } } } } } ,
+  {
+    name "StdTxInit" ,
+    format {
+      asn1 "Txinit" ,
+      label "TxInit" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Txinit.name" ,
+              form
+                text {
+                   } } } } } } ,
+  {
+    name "StdNumbering" ,
+    format {
+      asn1 "Numbering" ,
+      label "Numbering" ,
+      form
+        null NULL } } ,
+  {
+    name "StdGBBlock" ,
+    format {
+      asn1 "GB-block" ,
+      label "GenBank-block" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "GB-block.extra-accessions" ,
+              label "Extra accessions" ,
+              prefix " (" ,
+              suffix ")" ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "GB-block.extra-accessions.E" ,
+                      form
+                        text {
+                           } } } } } ,
+            {
+              asn1 "GB-block.keywords" ,
+              label "Keywords" ,
+              prefix " (" ,
+              suffix ")" ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "GB-block.keywords.E" ,
+                      form
+                        text {
+                           } } } } } ,
+            {
+              asn1 "GB-block.source" ,
+              label "Source: " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "GB-block.origin" ,
+              label "Origin: " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "GB-block.div" ,
+              label "Division: " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "GB-block.taxonomy" ,
+              label "Taxonomy: " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "GB-block.date" ,
+              label "Date: " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "GB-block.entry-date" ,
+              label "Entry date: " ,
+              form
+                user {
+                  printfunc "StdDatePrint" } } } } } } ,
+  {
+    name "StdFeatId" ,
+    format {
+      asn1 "Feat-id" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Feat-id.gibb" ,
+              label "GenInfo Backbone: " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Feat-id.giim.id" ,
+              label "GenInfo Import Id: " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Feat-id.local" ,
+              label "Local: " ,
+              form
+                use-template "StdObjectId" } ,
+            {
+              asn1 "Feat-id.general" ,
+              form
+                use-template "StdDbtag" } } } } } ,
+  {
+    name "StdSeqFeatCommon" ,
+    format {
+      asn1 "Seq-feat" ,
+      form
+        block {
+          separator "\n" ,
+          components {
+            {
+              asn1 "Seq-feat.id" ,
+              label "Id=" ,
+              form
+                use-template "StdFeatId" } ,
+            {
+              asn1 "Seq-feat.title" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Seq-feat" ,
+              suffix ";" ,
+              form
+                block {
+                  separator ", " ,
+                  components {
+                    {
+                      asn1 "Seq-feat.partial" ,
+                      form
+                        boolean {
+                          true "Partial" } } ,
+                    {
+                      asn1 "Seq-feat.except" ,
+                      form
+                        boolean {
+                          true "Biological Exception" } } ,
+                    {
+                      asn1 "Seq-feat.exp-ev" ,
+                      label "Evidence" ,
+                      prefix " is " ,
+                      form
+                        enum {
+                           } } } } } ,
+            {
+              asn1 "Seq-feat.comment" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Seq-feat.ext" ,
+              form
+                use-template "StdUserObj" } ,
+            {
+              asn1 "Seq-feat.qual" ,
+              label "Qualifiers" ,
+              prefix "\n" ,
+              form
+                block {
+                  separator "\n" ,
+                  components {
+                    {
+                      asn1 "Seq-feat.qual.E" ,
+                      prefix "/" ,
+                      form
+                        block {
+                          separator "= " ,
+                          components {
+                            {
+                              asn1 "Gb-qual.qual" ,
+                              form
+                                text {
+                                   } } ,
+                            {
+                              asn1 "Gb-qual.val" ,
+                              form
+                                text {
+                                   } } } } } } } } } } } } ,
+  {
+    name "StdDbtag" ,
+    format {
+      asn1 "Dbtag" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Dbtag.db" ,
+              suffix ": " ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Dbtag.tag" ,
+              form
+                use-template "StdObjectId" } } } } } ,
+  {
+    name "StdObjectId" ,
+    format {
+      asn1 "Object-id" ,
+      form
+        block {
+          components {
+            {
+              asn1 "Object-id.id" ,
+              form
+                text {
+                   } } ,
+            {
+              asn1 "Object-id.str" ,
+              form
+                text {
+                   } } } } } } }
diff --git a/websoft/data/blast/pubkey.enc b/websoft/data/blast/pubkey.enc
new file mode 100755 (executable)
index 0000000..f1272c6
--- /dev/null
@@ -0,0 +1,22 @@
+-- $Revision: 1.1.1.1.2.1 $
+-- What follows is the public encryption key to be used in NCBI Network
+-- services, effective 18 May 1994.
+-- 
+-- This key can be confirmed in several possible ways:
+-- (1) It will appear in the "data" directory on Entrez CD-ROMs release 11.0
+--     and higher
+-- (2) Beginning in June of 1994, it will appear within the NCBI toolbox
+--     on ftp.ncbinih.gov:/toolbox/ncbi_tools
+-- (3) As a last resort, if you wish to confirm this information, call
+--     (301)496-2475 and ask for "NCBI network services".
+
+RSA-Pubkey ::= {
+  bits 508 ,
+  modulus '0000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000D7AA28FCB6508A85
+F63C439AA60AF7B7B0DB7570683FB457C9E3918BFF90EFF15CFE2893D3FE1AED81C1FDFE1107DA
+0AFB349870F2F9CF729B34001C73A2365'H ,
+  exponent '000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000010001'H }
diff --git a/websoft/data/blast/seqcode.val b/websoft/data/blast/seqcode.val
new file mode 100755 (executable)
index 0000000..88eac76
Binary files /dev/null and b/websoft/data/blast/seqcode.val differ
diff --git a/websoft/data/blast/sequin.hlp b/websoft/data/blast/sequin.hlp
new file mode 100755 (executable)
index 0000000..805854b
--- /dev/null
@@ -0,0 +1,4006 @@
+<HTML> <HEAD>
+
+<TITLE>Sequin help documentation</TITLE>
+
+<!-- if you use the following meta tags, uncomment them.
+ <meta name="author" content="sequindoc">
+ <META NAME="keywords" CONTENT="national center for biotechnology information, ncbi, national library of medicine, nlm, national institutes of health, nih, database, archive, bookshelf, pubmed, pubmed central, bioinformatics, biomedicine, sequence submission, sequin, bankit, submitting sequences">
+ <META NAME="description" CONTENT="Sequin is a stand-alone software tool developed by the National Center for Biotechnology Information (NCBI) for submitting and updating entries to the GenBank, EMBL, or DDBJ sequence databases. "> -->
+ <link rel="stylesheet" href="ncbi_sequin.css">
+
+</HEAD> 
+
+<body bgcolor="#FFFFFF" text="#000000" link="#0033CC" vlink="#0033CC">
+<!-- change the link and vlink colors from the original orange (link="#CC6600" vlink="#CC6600") -->
+
+<!--  the header   --> 
+<table border="0" width="600" cellspacing="0" cellpadding="0">
+  <tr> 
+    <td width="140"><a href="http://www.ncbi.nlm.nih.gov"> <img src="http://www.ncbi.nlm.nih.gov/corehtml/left.GIF" width="130" height="45" border="0"></a></td>
+    <td width="360" class="head1" valign="BOTTOM"> <span class="H1">Sequin Help Documentation</span></td>
+<!--    <td width="100" valign="BOTTOM">Your Logo</td> -->
+  </tr>
+</table>
+
+<!--  the quicklinks bar   --> 
+<table CLASS="TEXT" border="0" width="600" cellspacing="0" cellpadding="3" bgcolor="#000000">
+  <tr CLASS="TEXT"  align="CENTER"> 
+    <td width="100"><a href="index.html" class="BAR">Sequin</a></td>
+    <td width="100"><a href="http://www.ncbi.nlm.nih.gov/Entrez/" class="BAR">Entrez</a></td>
+    <td width="100"><a href="http://www.ncbi.nlm.nih.gov/BLAST/" class="BAR">BLAST</a></td>
+    <td width="100"><a href="http://www.ncbi.nlm.nih.gov/omim/" class="BAR">OMIM</a></td>
+    <td width="100"><a href="http://www.ncbi.nlm.nih.gov/Taxonomy/taxonomyhome.html" class="BAR">Taxonomy</a></td>
+    <td width="100"><a href="http://www.ncbi.nlm.nih.gov/Structure/" class="BAR">Structure</a></td>
+  </tr>
+</table>
+
+<!--  the contents   --> 
+<P>&nbsp
+
+<H2>Table of Contents</H2>
+
+<HR>
+
+>Introduction
+
+#Sequin is a program designed to aid in the submission of sequences to
+the GenBank, EMBL, and DDBJ sequence databases.  It was written at the
+National Center for Biotechnology Information, part of the National
+Library of Medicine at the National Institutes of Health.  This section
+of the help document provides a basic overview of how to submit
+sequences using the Sequin forms.  Subsequent sections provide detailed
+instructions for entering information on each form.
+
+*The Help Documentation
+
+#The Sequin help documentation is available in both on-line and World
+Wide Web (http://www.ncbi.nlm.nih.gov/Sequin/sequin.hlp.html) formats.
+The text of the on-line version scrolls as you progress through the
+Sequin forms.  Specific words or phrases can be identified with the
+"find" command at the top of the window.  The on-line document can also
+be saved as a text file, or printed directly to a printer.  Click on the
+window that contains the help documentation.  Under the Sequin File
+menu, choose Export Help... to save the documentation as a text file. 
+To print the documentation without saving it first, click on the help
+window, and choose Print from the Sequin File menu.
+
+*Organization of Forms
+
+#Information is entered into Sequin on a number of different forms. Each
+form is made up of pages, which are indicated by folder tabs at the top
+of the form.  You can move to the desired page by clicking on the
+appropriate folder tab.  You can also move between pages of a form by
+clicking on the "Next page" or "Prev page" buttons at the bottom of the
+screen.  You can move to the previous form or the next form by clicking
+on the "Prev form" or "Next form" buttons on the first or last pages of
+a form, respectively.
+
+#There are numerous ways to enter information onto a page of a form,
+#including text fields, radio buttons, check boxes, scrolling boxes,
+#pop-up menus and spreadsheets.
+
+#You may also use tables to import annotation of source information. 
+#The formatting of these tables will be discussed below.
+
+*Overview of Sequin
+
+#If you are using Sequin for the first time, you will be prompted to
+fill out four forms:  the Welcome to Sequin form, the Submitting
+Authors Form, the Sequence Format form, and the Organism and Sequences
+Form. After you have filled out these forms, a window will appear that
+contains the Sequin record viewer. This viewer allows you to access
+many other forms in which you can edit fields filled out in the three
+initial forms, as well as add additional information.  Detailed
+instructions on how to fill out the forms and use the record viewer are
+presented below.
+
+>Welcome to Sequin Form
+
+#First, indicate with one of the three radio buttons whether you are
+submitting the sequence to the GenBank, EMBL, or DDBJ database.  If you
+are working on a sequence submission for the first time, click on
+"Start New Submission".  If you are modifying an existing submission
+record, click on "Read Existing Record". If you would like to quit from
+Sequin, click on "Quit Program".
+
+#You can also "Read Existing Record" to read in a FASTA-formatted
+#sequence file
+for analysis purposes.  The sequence will be displayed in Sequin and
+can be analyzed with tools such as CDD Search, but it should not be
+submitted because it does not have the appropriate annotations.
+
+#If you are running Sequin in its network-aware mode, you will see
+another button labeled "Download from Entrez".  This option allows you
+to update an existing database record using Sequin. The record will be
+downloaded from GenBank into Sequin using NCBI's Entrez retrieval
+system.  The contents of the record will appear in Sequin, and you can
+edit them by updating the sequence or the annotations, as necessary.  If
+you do not see the button labeled "Download from Entrez" on the Welcome
+to Sequin form, you are not running Sequin in its network-aware mode. 
+To make Sequin network-aware, see the
+<A HREF="#NetConfigure">
+instructions
+</A> 
+later in the help documentation.
+
+#You can update only those records that you have submitted, not those
+submitted by others.  To update an existing record, first select which
+of the databases you will be sending the update to.  This should be the
+database to which the original record was submitted.  If you do not
+know which database to use, send the record to GenBank and the NCBI
+staff will forward it to the appropriate database.  Next, click on the
+button "Download from Entrez". Enter the nucleotide Accession number or
+GI of the sequence on the first form. Then enter "yes" if you are
+planning to submit the record as an update to one of the databases.
+Fill out the Submitting Authors form.
+
+<A HREF="#EditSubmitterInfo">
+Instructions
+</A> 
+
+for this form are found in the Sequin help documentation under "Edit
+Submitter Info" under the Sequin File menu.  The record will then open
+in the record viewer.  Explanations of how to add annotations or update
+sequences are presented in the documentation entitled 
+
+<A HREF="#EditingtheRecord">
+"Editing the record"
+</A> 
+and 
+<A HREF="#SequenceEditor">
+"Sequence Editor"
+</A>
+
+ respectively.  You will not see the Submitting Authors Form, the
+Sequence Format Form, or the Organism and Sequences Form.  Note that
+updates, as well as new records, must be emailed to the appropriate
+database.  Sequin does not support direct submission of records over the
+Internet.
+
+#Additional configuration options are available under the Misc menu. 
+You can toggle between the stand-alone and network-aware modes of
+Sequin.  The default mode of Sequin, which is sufficient for most
+sequence submissions, is stand-alone.  In its network-aware mode, Sequin
+can exchange data with NCBI and, for example, retrieve sequences
+from Entrez and perform Taxonomy searches.  The network-aware mode of
+Sequin is described in detail in the 
+<A HREF="#NetConfigure">
+Net Configure
+</A> 
+section below.  You can also start the NCBI DeskTop, which is for
+advanced Sequin users only. 
+
+>Submitting Authors Form
+
+#Information from this form will be used as a citation for the sequence
+entry itself.  It can contain the same information found in citations
+associated with the formal publication of the sequence.
+
+#On the bottom of each form are two buttons.  Click "Prev form" (first
+page in a form) or "Prev page" (subsequent pages in a form) to go to the
+previous form or page.  Click "Next Form" (last page on a form) or "Next
+Page" (earlier pages on a form) to move to the next form or page.
+
+#Form pages can also be saved individually by using the "Export" function
+under the File menu.  If you are processing multiple submissions, you
+can use the "Import" function under the File menu to paste previously
+entered information directly on the page.
+
+#The Contact, Authors, and Affiliation pages can be saved as a block so
+that you can use this information for your next submission.  For your
+first Sequin submission, fill in the requested information on the
+Submitting Authors form and proceed with the preparation of the
+submission.  Choose Export Submitter Info under the File menu to export
+this to a file.  You can then import this information in subsequent
+submissions using the Import Submitter Info in the File menu.  You will
+need to fill in the manuscript title for each submission however.
+
+*Submission Page
+
+**When May We Release Your Sequence Record?
+
+#Please select one of the two radio buttons.  If you select
+#"Immediately After Processing", the
+entry will be released to the public after the database staff has added
+it to the database. If you select "Release Date", fields will appear in
+which you can indicate the date on which the sequences should be
+released to the public.  The submission will then be held back until
+formal publication of the sequence or GenBank Accession number, or
+until the release date, whichever comes first.
+
+**Tentative Title for Manuscript
+
+#Please enter a title that appropriately describes the sequence entry.
+ Later in the submission process, you will have the
+opportunity to change this information and add details for published
+or in press references.   
+
+*Contact Page
+
+#Please enter the name, telephone and fax numbers, and email address of
+the person who is submitting the sequence.  This is the person who will
+be contacted regarding the sequence submission.  The phone, fax, and
+email address will not be visible in the database record, but are
+essential for contact by the database staff.
+
+*Authors Page
+
+#Please enter the names of the people who should receive scientific
+credit for the generation of sequences in this entry.  The person on
+the Contact page is automatically listed as the first author.  This
+information can be changed if necessary. The author names should be
+entered in the order first name, middle initial, surname.  You can add
+as many authors to this page as you wish.  After you type in the name
+of the third author, the box becomes a spreadsheet, and you can scroll
+down to the next line by using the space bar.  The consortium box
+should only be used for consortium names, not institute or department
+names.
+
+*Affiliation Page
+
+#Please enter information about the principal institution where the
+sequencing was performed.  This is not necessarily the same as the
+workplace of the person described on the Contact page.  This information
+will show up in the reference section of the record, with the title
+Direct Submission.  
+
+>Sequence Format Form
+
+#Use this form to indicate the type, format and category of sequence
+#you are submitting. 
+
+#Sequin can process single nucleotide sequences, gapped sequences and
+sets of related sequences.  If the sequences are related in terms of
+coming from the same publication, or the same organism, they may be
+candidates for a Batch submission.  Biologically related sequences may
+be classified as environmental samples, population, phylogenetic,
+mutation, or segmented sets as appropriate.  Segmented sets consist of
+a collection of non-overlapping sequences covering a specific genetic
+region.  In all cases, although the sequences are handled as a single
+submission, each sequence in a set will receive its own database
+Accession number and can be annotated independently.
+
+#Sequin can display the alignments of sequences that are submitted as
+part of an aligned phylogenetic, population, mutation set, or
+environmental samples.  Such sequences can be submitted in FASTA,
+Contiguous (FASTA+GAP, NEXUS, MACAW), or Interleaved (PHYLIP, NEXUS)
+formats.  If the sequences are in FASTA format, Sequin can generate an
+alignment. If the sequences have already been aligned in FASTA+GAP,
+PHYLIP, MACAW, or NEXUS, Sequin will not change the alignment. If one
+of the sequences in your alignment is already present in the
+GenBank/EMBL/DDBJ database, you must mark that sequence so that it does
+not receive a new Accession number. Instead of supplying that sequence
+with a new Sequence Identifier, give it the identifier accU12345, where
+U12345 is the Accession number of the sequence.
+
+#Single sequences, gapped sequences, segmented sequences, and batch
+submissions must be submitted in FASTA format.  
+
+*Submission Type
+
+#Use the radio buttons to indicate which of the following types of
+submissions you are creating:
+
+#-Single sequence: a single mRNA or genomic DNA sequence.  If you are
+submitting multiple sequences from the same publication, consider a
+Batch Submission.  If you decide to submit multiple Sequin files, each
+with one or more sequences, please send each file in a separate email
+message.
+
+#-Segmented sequence: a collection of non-overlapping, non-contiguous
+sequences that cover a specified genetic region.  A standard example is
+a set of genomic DNA sequences that encode exons from a gene along with
+fragments of their flanking introns.  If the segmented set is part of
+an alignment, however, select the appropriate Population, Phylogenetic,
+or Mutation study button.
+
+#-Gapped sequence: a single, non-contiguous mRNA or genomic DNA sequence.
+A gapped sequence contains specified gaps of know or unknown length
+where the exact nucleotide sequence has not been determined.  The FASTA
+format for gapped sequences is slightly different and is explained
+below.
+
+#-Population study: a set of sequences that were derived by sequencing
+the same gene from different isolates of the same organism.
+
+#-Phylogenetic study: a set of sequences that were derived by sequencing
+the same gene from different organisms.
+
+#-Mutation study: a set of sequences that were derived by sequencing
+multiple mutations of a single gene.
+
+#-Environmental samples: a set of sequences that were derived by
+sequencing the same gene from a population of unclassified or unknown
+organisms.
+
+#-Batch submission: a set of related sequences that are not part of a
+population, mutation, or phylogenetic study. The sequences should be
+related in some way, such as coming from the same publication or
+organism.  You should plan that all sequences will be released to the
+public on the same date. 
+
+*Sequence Data Format
+
+#If you are submitting a single, gapped, or segmented sequence, or a
+batch submission, your sequence must be in FASTA format, described
+below.  If you are submitting a set of sequences as part of a
+population, phylogenetic, or mutation study, you have a choice of
+sequence formats.  You may submit the set as individual sequences in
+FASTA format.  Alternatively, you can submit the sequences as part of
+an alignment.  Sequin currently accepts the alignment formats
+FASTA+GAP, PHYLIP, MACAW, NEXUS Interleaved, and NEXUS Contiguous. 
+
+*Submission Category
+
+#Use the radio buttons to indicate whether your sequence corresponds to
+an original submission or a third-party annotation submission.  If you
+have directly sequenced the nucleotide sequence in your laboratory,
+your submission would be considered an original submission.
+
+#If you have downloaded the sequence from GenBank and added to it your
+own annotations, your entry may be eligible for submission to the
+Third-Party Annotation Database
+
+<A HREF="http://www.ncbi.nlm.nih.gov/Genbank/tpa.html">
+(TPA)
+</A>
+.
+
+#In order to be released into the TPA database, the sequence must appear
+in a peer-reviewed publication in a biological journal.  If you select
+this option, a pop-up box will appear upon the completion of the
+Sequence Format form.  You must provide some description of the
+biological experiments used as evidence for the annotation of your TPA
+submission in this box. 
+
+#You will be asked later in the submission process to provide the GenBank
+Accession number(s) of the primary sequence(s) from which your TPA
+submission was derived.
+
+>Organism and Sequences Form
+
+#This form is made up of four pages.  If your sequences are imported as
+properly formatted FASTA files, there will be minimum input necessary
+in these pages.
+
+>FASTA Format for Nucleotide Sequences
+
+#In FASTA format the line before the nucleotide sequence, called the
+FASTA definition line, must begin with a carat (">"), followed by a
+unique SeqID (sequence identifier).  The SeqID must be unique for each
+nucleotide sequence and should not contain any spaces.  Use of brackets
+("[]") in the SeqID is also prohibited.  The identifier will be
+replaced with an Accession number by the database staff when your
+submission is processed. 
+
+#Information about the source organism from which the sequence was
+obtained follows the SeqID and must be in the format [modifier=text]. 
+Do not put spaces around the "=".  At minimum, the scientific name of
+the organism should be included.  Optional modifiers can be added to
+provide additional information.  A complete list of available source 
+<A HREF="http://www.ncbi.nlm.nih.gov/Sequin/modifiers.html">
+modifiers
+</A>
+ and their format is available.
+
+#The final optional component of the FASTA definition line is the
+sequence title, which will be used as the DEFINITION field in the final
+flatfile.  The title should contain a brief description of the
+sequence.  There is a preferred format for nucleotide and protein
+titles and Sequin can generate them automatically using the Generate
+Definition Line function under the Annotate menu in the record viewer.
+
+#Note in all cases, the FASTA definition line must not contain any hard
+returns.  All information must be on a single line of text.  If you
+have trouble importing your FASTA sequences, please double check that
+no returns were added to the FASTA definition line by your editing
+software.
+
+#Examples of properly formatted FASTA definition lines for nucleotide
+sequences are:
+
+<KBD><PRE>>Seq1 [organism=Mus musculus] [strain=C57BL/6] Mus musculus neuropilin 1 (Nrp1) mRNA, complete cds.
+</KBD></PRE>
+<KBD><PRE>>ABCD [organism=Plasmodium falciparum] [isolate=ABCD] Plasmodium falciparum isolate ABCD merozoite surface protein 2 (msp2) gene, partial cds.
+</KBD></PRE>
+<KBD><PRE>>DNA.new [organism=Homo sapiens] [chromosome=17] [map=17q21] [moltype=mRNA] Homo sapiens breast and ovarian cancer susceptibility protein (BRCA1) mRNA, complete cds.
+</KBD></PRE>
+#The line after the FASTA definition line begins the nucleotide
+sequence.  Unlike the FASTA definition line, the nucleotide sequence
+itself can contain returns.  It is recommended that each line of
+sequence be no longer than 80 characters.  Please only use IUPAC
+symbols within the nucleotide sequence.  For sequences that are not
+contained within an alignment, do not use "?" or "-" characters.  These
+will be stripped from the sequence.  Use the IUPAC approved symbol "N"
+for ambiguous characters instead. 
+
+#A single file containing multiple FASTA sequences can be imported into
+Sequin.  Make sure that the FASTA definition line for each sequence is
+formatted as above.
+
+#If the FASTA definition line is not properly formatted a pop-up box
+will appear upon importing the nucleotide FASTA.  The top box in this
+pop-up will list any errors in the FASTA definition lines, including
+missing SeqIDs, duplicate SeqIDs for different sequences, or improperly
+formatted modifiers.  You can add or edit this information in the
+spreadsheet provided.  The toggle at the bottom of the pop-up allows
+you to select whether all sequences or only those with errors are
+listed in the spreadsheet above. After making changes, click on Refresh
+Error List to ensure that all errors have been corrected.  You must
+correct any errors involving the SeqID in order to proceed with your
+submission.  
+
+*FASTA Format for Segmented Sequence
+
+#Each segment of a segmented sequence must have its own SeqID, but the
+organism name and other modifiers are only indicated in the FASTA
+definition line of the first segment.  Square brackets are used to
+delimit the members of the segmented set.  For example,
+
+![
+!>A-0V-1-Apart1 [organism=Gallus gallus] [clone=C]
+!TCACTCTTTGGCAAC
+!>A-0V-1-Apart2
+!GACCCGTCGTCATAATAAAGATAGAGGGGCAACTAAAGGAAGCTCTA
+!TTAGATACAGGAGCAGATGATACAGTATTAGAAGAAAT 
+!]
+
+*FASTA Format for Gapped Sequence
+
+#The FASTA definition line for a gapped sequence follows the same format
+as above.  To indicate a gap within the sequence, enter a hard return
+within the sequence at the point of the gap, then insert an extra line
+starting with a carat (">") and a question mark ("?").  If the gap size
+is unknown, enter "unk100" after the question mark.  If the gap size is
+known, enter the length of the gap after the question mark.  For
+example,
+
+!>Dobi [organism=Canis familiaris] [breed=Doberman pinscher]
+!AAATGCATGGGTAAAAGTAGTAGAAGAGAAGGCTTTTAGCCCAGAAGTAATACCCATGTTTTCAGCATTA
+!GGAAAAAGGGCTGTTG
+!>?unk100
+!TGGATGACAGAAACCTTGTTGGTCCAAAATGCAAACCCAGATKGTAAGACCATTTTAAAAGCATTGGGTC
+!TTAGAAATAGGGCAACACAGAACAAAAAT
+!>?234
+!AAAAATAAAAGCATTAGTAGAAATTTGTACAGAACTGGAAAAGGAAGGAAAAATTTCAAAAATTGGGCCT
+!GAAAACCCATACAATACTCCGGG
+
+will generate a sequence containing two gaps.  The first gap is of
+unknown length, the second is 234 nucleotides long.
+
+*FASTA+GAP Format for Aligned Nucleotide Sequences
+
+#A number of programs output sets of aligned sequences in FASTA format.
+Frequently, to align these sequences, gaps must be inserted.  Specify
+relevant gap and ambiguous characters in the appropriate box on the
+
+<A HREF="#NucleotidePage">
+Nucleotide Page
+</A>
+
+form.  Each sequence, including gaps, must be the same length.  The
+gaps will only show up in the alignment, not in the individual sequence
+in the database.
+
+#Sequences in FASTA+GAP format resemble FASTA sequences.  The previous
+section on
+
+<A HREF="#FASTAFormatforNucleotideSequences">
+FASTA Format for Nucleotide Sequences
+</A>
+
+has instructions for formatting FASTA sequences.  If one of the
+sequences in your alignment is already present in the GenBank/EMBL/DDBJ
+database, you must mark that sequence so that it does not receive a new
+Accession number.  To do this, use a SeqID in the format accU12345,
+where U12345 is the Accession number of the pre-existing sequence.  All
+sequences in FASTA+GAP format should be in the same file.
+
+#The following is an example of FASTA+GAP format:
+
+!>A-0V-1-A [organism=Gallus gallus] [clone=C]
+!TCACTCTTTGGCAACGACCCGTCGTCATAATAAAGATAGAGGGGCAACTAAAGGAAGCTCTA
+!TTAGATACAGGAGCAGATGATACAGTATTAGAAGAAAT
+!
+!>A-0V-2-A [organism=Drosophila melanogaster] [strain=D]
+!TCACTCTTTGGCAAC---GCGTCGTCACAATAAAGATAGAGGGGCAACTAAAGGAAGCTCTA
+!TTAGATACAGGAGCAGATGATACAGTATTAGAAGAAAT
+!
+!>A-0V-3-A [organism=Caenorhabditis elegans] [strain=E]
+!TCACTCTTTGGCAAC---GCGTCGTCACAATAAAGATAGAGGGGCAACTAAAGGAAGCTCTA
+!TTAGATACAGGAGCAGATGATACAGTATTAGAAGAAAT
+!
+!>A-0V-4-A [organism=Rattus norvegicus] [strain=F]
+!TCACTCTTTGGCAACGACCCGTCGTCACAATAAAGATAGAGGGGCAACTAAAGGAAGCTCTA
+!TTAGATACAGGAGCAGATGATACAGTATTAGAAGAAAT
+!
+!>A-0V-7-A [organism=Aspergillus nidulans] [strain=G]
+!TCACTCTTTGGCAACGACCAGTCGTCACAATAAAGATAGAGGGGCAACTAAAGGAAGCTCTA
+!TTAGATACAGGAGCAGATGATACAGTATTAGAAGAAAT
+
+*PHYLIP Format for Aligned Nucleotide Sequences
+
+#A number of programs output sets of aligned sequences in PHYLIP format.
+
+#The following is an example of PHYLIP format.
+
+!     5    100
+!A-0V-1-A   TCACTCTTTG GCAACGACCC GTCGTCATAA TAAAGATAGA GGGGCAACTA
+!A-0V-2-A   TCACTCTTTG GCAAC---GC GTCGTCACAA TAAAGATAGA GGGGCAACTA
+!A-0V-3-A   TCACTCTTTG GCAAC---GC GTCGTCACAA TAAAGATAGA GGGGCAACTA
+!A-0V-4-A   TCACTCTTTG GCAACGACCC GTCGTCACAA TAAAGATAGA GGGGCAACTA
+!A-0V-7-A   TCACTCTTTG GCAACGACCA GTCGTCACAA TAAAGATAGA GGGGCAACTA
+!
+!
+!           AAGGAAGCTC TATTAGATAC AGGAGCAGAT GATACAGTAT TAGAAGAAAT
+!           AAGGAAGCTC TATTAGATAC AGGAGCAGAT GATACAGTAT TAGAAGAAAT
+!           AAGGAAGCTC TATTAGATAC AGGAGCAGAT GATACAGTAT TAGAAGAAAT
+!           AAGGAAGCTC TATTAGATAC AGGAGCAGAT GATACAGTAT TAGAAGAAAT
+!           AAGGAAGCTC TATTAGATAC AGGAGCAGAT GATACAGTAT TAGAAGAAAT
+
+#In this example, the first line indicates that there are 5 sequences,
+each with 100 nt of sequence.  The following five lines contain the
+Sequence IDs, followed by the sequences. Specifically, the sequence
+identifier for the first sequence is A-0V-1-A.  Note that subsequent
+blocks of sequence do not contain the Sequence ID. If one of the
+sequences in your alignment is already present in the GenBank/EMBL/DDBJ
+database, you must mark that sequence so that it does not receive a new
+Accession number.  To do this, use a SeqID in the format accU12345,
+where U12345 is the Accession number of the pre-existing sequence. 
+
+#Specify relevant gap and ambiguous characters in the appropriate box on the
+<A HREF="#NucleotidePage">
+Nucleotide Page
+</A>
+form.
+
+#You can modify the PHYLIP format so that Sequin can
+determine the correct organism and any other modifiers for each
+sequence.  An example of such modifications are below in the section on
+<A HREF="#SourceModifiersforPHYLIPandNEXUS">
+Source Modifiers for PHYLIP and NEXUS
+</A>
+. 
+#Alternatively, you can leave your sequence alignment in
+standard PHYLIP format and enter the organism, strain, chromosome, etc.
+information on the following
+
+<A HREF="#SourceModifiersForm">
+Source Modifers form
+</A>
+. 
+
+*NEXUS Format for Aligned Nucleotide Sequences
+
+#A number of programs output sets of aligned sequences in one of two
+NEXUS formats, NEXUS Interleaved and NEXUS Contiguous.
+
+#NEXUS files can contain ? for "missing" at the 5' and 3' ends of
+sequences, as long as this parameter is properly defined within the
+header of the NEXUS file.
+
+#The following is an example of NEXUS Interleaved format.
+
+!#NEXUS
+!
+!begin data;
+!   dimensions ntax=5 nchar=100;
+!   format datatype=dna missing=? gap=- interleave;
+!   matrix
+!
+!A-0V-1-A   TCACTCTTTG GCAACGACCC GTCGTCATAA TAAAGATAGA GGGGCAACTA
+!A-0V-2-A   TCACTCTTTG GCAAC---GC GTCGTCACAA TAAAGATAGA GGGGCAACTA
+!A-0V-3-A   TCACTCTTTG GCAAC---GC GTCGTCACAA TAAAGATAGA GGGGCAACTA
+!A-0V-4-A   TCACTCTTTG GCAACGACCC GTCGTCACAA T????ATAGA GGGGCAACTA
+!A-0V-7-A   TCACTCTTTG GCAACGACCA GTCGTCACAA TAAAGATAGA GGGGCAACTA
+!
+!
+!A-0V-1-A   AAGGAAGCTC TATTAGATAC AGGAGCAGAT GATACAGTAT TAGAAGAAAT
+!A-0V-2-A   AAGGAAGCTC TATTAGATAC AGGAGCAGAT GATACAGTAT TAGAAGAAAT
+!A-0V-3-A   AAGGAAGCTC TATTAGATAC AGGAGCAGAT GATACAGTAT TAGAAGAAAT
+!A-0V-4-A   AAGGAAGCTC TATTAGATAC AGGAGCAGAT GATACAGTAT TAGAAGAAAT
+!A-0V-7-A   AAGGAAGCTC TATTAGATAC AGGAGCAGAT GATACAGTAT TAGAAGAAAT
+
+#In this example, the first few lines provide information about the data
+in the sequence alignment. The following five lines contain the
+Sequence IDs, followed by the sequences. Specifically, the sequence
+identifier for the first sequence is A-0V-1-A. Note that subsequent
+blocks of sequence also contain the Sequence ID. If one of the
+sequences in your alignment is already present in the GenBank/EMBL/DDBJ
+database, you must mark that sequence so that it does not receive a new
+Accession number.  To do this, use a SeqID in the format accU12345,
+where U12345 is the Accession number of the pre-existing sequence. 
+Also, Sequin will replace the "?" characters in the sequences with "N"s
+since they are defined as "missing" data in the header.  You should
+specify relevant gap and ambiguous characters in the appropriate box on
+the
+
+<A HREF="#NucleotidePage">
+
+Nucleotide Page
+
+</A>
+
+form.
+#The following is an example of NEXUS Contiguous format.
+
+!#NEXUS
+!BEGIN DATA;
+!DIMENSIONS NTAX=5 NCHAR=100;
+!FORMAT MISSING=? GAP=- DATATYPE=DNA ;
+!MATRIX
+!
+!A-0V-1-A
+!TCACTCTTTGGCAACGACCCGTCGTCATAATAAAGATAGAGGGGCAACTAAAGGAAGCTCTA
+!TTAGATACAGGAGCAGATGATACAGTATTAGAAGAAAT
+!
+!A-0V-2-A
+!TCACTCTTTGGCAAC---GCGTCGTCACAATAAAGATAGAGGGGCAACTAAAGGAAGCTCTA
+!TTAGATACAGGAGCAGATGATACAGTATTAGAAGAAAT
+!
+!A-0V-3-A
+!TCACTCTTTGGCAAC---GCGTCGTCACAATAAAGATAGAGGGGCAACTAAAGGAAGCTCTA
+!TTAGATACAGGAGCAGATGATACAGTATTAGAAGAAAT
+!
+!A-0V-4-A
+!TCACTCTTTGGCAACGACCCGTCGTCACAATAAAGATAGAGGGGCAACTAAAGGAAGCTCTA
+!TTAGATACAGGAGCAGATGATACAGTATTAGAAGAAAT
+!
+!A-0V-7-A
+!TCACTCTTTGGCAACGACCAGTCGTCACAATAAAGATAGAGGGGCAACTAAAGGAAGCTCTA
+!TTAGATACAGGAGCAGATGATACAGTATTAGAAGAAAT
+
+#In this example, the first few lines provide information about the data
+in the sequence alignment.  The following five lines contain the
+Sequence IDs, followed by the sequences. Specifically, the sequence
+identifier for the first sequence is A-0V-1-A.  Note that subsequent
+blocks of sequence also contain the Sequence ID.  If one of the
+sequences in your alignment is already present in the GenBank/EMBL/D
+DBJ database, you must mark that sequence so that it does not receive a
+new Accession number.  To do this, use a SeqID in the format accU12345,
+where U12345 is the Accession number of the pre-existing sequence.
+
+#You can modify either NEXUS format so that Sequin can
+determine the correct organism and any other modifiers for each
+sequence.  An example of such modifications are below in the section on
+<A HREF="#SourceModifiersforPHYLIPandNEXUS">
+Source Modifiers for PHYLIP and NEXUS
+</A>
+.
+Alternatively, you can leave your sequence alignment in
+standard NEXUS format and enter the organism, strain, chromosome, etc.
+information on the following
+
+<A HREF="#SourceModifiersForm">
+Source Modifers form
+</A>
+.
+
+**Source Modifiers for PHYLIP and NEXUS
+
+#You can modify the PHYLIP or NEXUS formats so that Sequin can determine
+the correct organism and any other modifiers for each sequence by
+adding lines at the end of the file.  The first line applies to the
+first sequence, the second line to the second sequence, and so on.  You
+must have one line for each sequence.  These inserted lines contain
+modifiers formatted like in the FASTA definition line, but do not begin
+with a SeqID.  Instead, the SeqID is present at the beginning of the
+sequence lines as shown above.
+
+#Each of the initial lines starts with the character ">".  The
+scientific organism name follows in brackets.  Optional modifiers also
+follow in brackets.  For further information on the data that can go in
+the lines preceding the sequences, see the instructions entitled "FASTA
+Format for Nucleotide Sequences",
+
+<A HREF="#FASTAFormatforNucleotideSequences">
+above.
+</A>
+
+#The following lines indicating the organisms and strain of each sequence
+would follow immediately after the sequence in the PHYLIP and NEXUS
+examples, above.
+
+!>[organism=Gallus gallus] [clone=C]
+!>[organism=Drosophila melanogaster] [strain=D]
+!>[organism=Caenorhabditis elegans] [strain=E]
+!>[organism=Rattus norvegicus] [strain=F]
+!>[organism=Aspergillus nidulans] [strain=G]
+
+#The number of lines of source information must exactly match the number
+of sequences provided.
+
+#Alternatively, you can leave your sequence alignment in
+standard NEXUS or PHYLIP format and enter the organism, strain, chromosome, etc.
+information on the following
+
+<A HREF="#OrganismPage">
+Organism Page
+</A>
+.
+
+*Importing Aligned Sets of Segmented Sequences
+
+#Sequin can also read segmented sets that are part of an alignment if
+the sequences are in FASTA or FASTA+GAP format.  Each segment should
+have its own Sequence ID, but organism name and source modifiers should
+only be indicated for the first segment from each sequence. Square
+brackets are used to delimit the members of a set.  For example,
+
+![
+!>A-0V-1-Apart1 [organism=Gallus gallus] [strain=C]
+!TCACTCTTTGGCAAC
+!>A-0V-1-Apart2
+!GACCCGTCGTCATAATAAAGATAGAGGGGCAACTAAAGGAAGCTCTA
+!TTAGATACAGGAGCAGATGATACAGTATTAGAAGAAAT
+!]
+![
+!>A-0V-2-Apart1 [organism=Drosophila melanogaster] [strain=D]
+!TCACTCTTTGGCAAC
+!>A-0V-2-Apart2
+!GAAGCGTCGTCACAATAAAGATAGAGGGGCAACTAAAGGAAGCTCTA
+!TTAGATACAGGAGCAGATGATACAGTATTAGAAGAAAT
+!]
+
+>Nucleotide Page
+
+#The options on this page will vary depending on the 
+<A HREF="#SubmissionType">
+Submission Type
+</A>
+ and
+<A HREF="#SequenceDataFormat">
+Sequence Data Format
+</A>
+selected earlier.  Segmented sets and gapped sequences mut be imported
+as properly formatted FASTA files.  Details about importing alignment
+files are 
+<A HREF="#NucleotidePageforAlignedDataFormats">
+below
+</A>
+.
+
+*Nucleotide Page for FASTA Data Format
+
+**Create Alignment
+
+#If you have selected a Population study, Phylogenetic study, Mutation
+study, or Environmental samples set as a
+<A HREF="#SubmissionType">
+Submission Type
+</A>
+a check box will appear at the top of the Nucleotide Page.  If you
+check 'Create Alignment', Sequin will attempt to generate an alignment
+of the seqeunces within your submission.
+
+**Import Nucleotide FASTA
+
+#Use this button to import your properly formatted 
+<A HREF="#FASTAFormatforNucleotideSequences">
+FASTA file
+</A>
+.  You will see a window containing information about the imported
+sequence(s).  Please check the number of sequences, Sequence IDs
+(SeqIDs) and length of each sequence to make sure they are correct.  If
+you have included source information within the FASTA definition line,
+this will also be listed.
+
+**Add/Modify Sequences
+
+#This option allows you to add or modify sequences without using a
+previously formatted FASTA file, but is not available if you have
+selected a Segmented sequence or Gapped sequence as a 
+<A HREF="#SubmissionType">
+Submission Type
+</A>
+.  On the Specify Sequences box you can either import a nucleotide FASTA
+or add a new sequence.  If you choose Add New Sequence, a new box will
+pop-up where you can either import an existing sequence file or
+directly paste or type the nucleotide sequence.  
+
+#If you add a sequence where the FASTA definition line is not properly
+formatted a pop-up box will appear.  The top box in this pop-up will
+list any errors in the FASTA definition lines, including missing
+SeqIDs, duplicate SeqIDs for different sequences, or improperly
+formatted modifiers.  You can add or edit this information in the
+spreadsheet provided.  The toggle at the bottom of the pop-up allows
+you to select whether all sequences or only those with errors are
+listed in the spreadsheet above.  After making changes, click on
+Refresh Error List to ensure that all errors have been corrected.  You
+must correct any errors involving the SeqID in order to proceed with
+your submission.  Click on Accept to save your sequences and return to
+the Specify Sequences box.  
+
+#In the Specify Sequences box, you can choose to add another sequence or
+select a sequence from the list and choose to edit or delete it.  You
+can also delete all sequences at this point.  You will need to click on
+Done to save your sequences and return to the Nucleotide Page.
+
+**Clear Sequences
+
+#This option will remove all imported nucleotide sequences.
+
+**Specify Molecule
+
+#A database sequence can represent one of several different molecule
+types. The default molecule is genomic DNA.  If the sequence was not
+derived from genomic DNA, you can edit that information here. If you
+are submitting multiple sequences you can apply one molecule type to
+all sequences or apply the molecule type to each sequence individually.
+  Enter in the Molecule pop-up menu the type of molecule that was
+sequenced.
+
+#-Genomic DNA: Sequence derived directly from the DNA of an organism.
+Note: The DNA sequence of an rRNA gene has this molecule type, as does
+that from a naturally-occurring plasmid.
+
+#-Genomic RNA: Sequence derived directly from the genomic RNA of certain
+organisms, such as viruses.
+
+#-Precursor RNA: An RNA transcript before it is processed into mRNA,
+rRNA, tRNA, or other cellular RNA species.
+
+#-mRNA[cDNA]: A cDNA sequence derived from mRNA.
+
+#-Ribosomal RNA: A sequence derived from the RNA in ribosomes.  This
+should only be selected if the RNA itself was isolated and sequenced. 
+If the gene for the ribosomal RNA was sequence, select Genomic DNA. 
+
+#-Transfer RNA: A sequence derived from the RNA in a transfer RNA, for
+example, the sequence of a cDNA derived from tRNA.
+
+#-Small nuclear RNA: A sequence derived from small nuclear RNA, for
+example, the sequence of a cDNA derived from snRNA.
+
+#-Small cytoplasmic RNA: A sequence derived from small cytoplasmic RNA,
+for example, the sequence of a cDNA derived from small cytoplasmic RNA.
+
+#-Other-Genetic: A synthetically derived sequence including cloning
+vectors and tagged fusion constructs.
+
+#-cRNA: A sequence derived from complementary RNA transcribed from DNA,
+mainly used for viral submissions.
+
+#-Small nucleolar RNA: A sequence derived from small nucleolar RNA, for
+example, the sequence of a cDNA derived from snoRNA.
+
+**Specify Topology
+
+#Most sequences have a Linear topology and this is the default. You
+should change this setting to Circular only if the sequence is complete
+and it has a circular topology. For example, a complete plasmid or a
+complete mitochondrial genome would have a Circular topology, but a
+single gene from a plasmid or mitochondrion would have a Linear
+topology.  If you are submitting multiple sequences you can apply one
+topology to all sequences or set the topology for each sequence
+individually.
+
+*Nucleotide Page for Aligned Data Formats
+
+**Sequence Characters
+
+#If you are submitting a set of aligned sequences, you can specify sequence
+characters used in your alignment here.  Sequin requires that you
+define any non-IUPAC nucleotide characters in your alignment file.  The
+five types of variable characters are listed under Sequence Characters.
+
+#Every sequence within an alignment file must contain the same number of
+characters (nucleotides + gaps).  Gap characters are used to represent the
+spaces between contiguous nucleotides in an alignment.  Gaps that appear at
+the beginning or end of a sequence are treated differently than gaps that
+appear between nucleotides and each must be defined.  GenBank prefers to
+use a hyphen (-) to represent gaps. If you use a different character to
+represent a gap, you will need to add this character to the list in the
+Beginning Gap, Middle Gap, or End Gap boxes.
+
+#Ambiguous characters represent nucleotides that are known to exist, but
+whose identity has not been experimentally validated.  GenBank prefers to
+use 'n' to represent any ambiguous nucleotides.  If you are using a
+different character to represent an ambiguous base, you will need to add
+this character to the list in the Ambiguous/Unknown box.  Sequin will
+convert these characters to 'n's when your file is imported.
+
+#Match characters denote nucleotides that are identical in every member of
+an alignment.  GenBank prefers the use of a colon (:) to represent match
+characters.  If you are using a different character to represent a match
+character, you will need to add this character to the list in the Match box.
+
+**Import Nucleotide Alignment
+
+#Once you have imported the alignment using the Import Nucleotide
+Alignment button, you can edit the molecule information using the
+<A HREF="#SpecifyMolecule">
+Specify Molecule
+</A>
+ and 
+<A HREF="#SpecifyTopology"> 
+Specify Topology
+</A>
+buttons explained above.  Note that you can not access the 
+<A HREF="#Add/ModifySequences">
+Add/Modify Sequences
+</A>
+ dialog for submissions of aligned sequences.
+
+>Organism Page
+
+#Information about the organism from which the sequence was derived
+should be entered or edited on this page.  If there are any potential
+problems with the organism information previously provided in either
+the 
+<A HREF="#FASTAFormatforNucleotideSequences">
+FASTA definition line
+</A>
+ or entered in the
+<A HREF="#Add/ModifySequences">
+Add/Modify Sequences
+</A>
+ dialog, a window listing these problems will appear at the top of the
+form.  Please review these problems and edit using the 
+
+<A HREF="#AddSourceModifiers">
+</A>
+Add Source Modifiers button as necessary.  At minimum, you must supply
+the scientific name of the organism from which the sequence was
+obtained in order to proceed with your submission.  
+
+#The second window is a summary of the organism information provided so
+far. Double clicking on a line of text within this window will launch a
+modifier-specific editing window.  In each of these windows, you can
+edit the available information for the specific modifier.  In most
+cases, you have the choice to edit the modifier for each sequence
+separately, or to enter text and select Apply above value to all
+sequences.  These changes will be reflected in the windows of the
+Organism page immediately upon closing the modifier-specific editor.
+
+*Add Organisms, Locations, and Genetic Codes
+
+#If you have not added organism information using either the 
+<A HREF="#FASTAFormatforNucleotideSequences">
+FASTA definition line
+</A>
+ or the
+<A HREF="#Add/ModifySequences">
+Add/Modify Sequences
+</A>
+dialog, you can use the Add Organisms, Locations, and Genetic Codes to
+do so at this point.  This button will launch the Multiple Organism
+Editor pop-up where you may add or edit existing information concerning
+the
+<A HREF="#Organism">
+Organism
+</A>
+ name, 
+<A HREF="#Location">
+Location
+</A>
+ and
+<A HREF="#GeneticCode">
+Genetic Code
+</A>
+.  The SeqID of each sequence is listed at the left of the spreadsheet
+format.  You can change the information in the spreadsheet individually
+or globally for all sequences.
+
+**Organism
+
+#The scrollable list at the top of the pop-up contains the scientific
+names of many organisms. To reach a name on the list, type the first
+few letters of the scientific name into the box above the list or the
+appropriate box in the spreadsheet.  The list will scroll to the names
+beginning with those letters, and you can select the organism within
+the list itself.  You can then use the arrow button to copy this name
+into the appropriate box in the spreadsheet.  
+
+#To apply the same scientific name to all sequences in the submission,
+click on the Organism button in the spreadsheet column header.  A
+separate pop-up box will appear with the same organism list.  You can
+select a name from this list and choose Accept to apply this name to
+all sequences.  
+
+#If you have any questions about the scientific name of an organism, see
+the NCBI 
+<A HREF="http://www.ncbi.nlm.nih.gov/Taxonomy/tax.html">
+Taxonomy Browser
+</A> 
+http://www.ncbi.nlm.nih.gov/Taxonomy/tax.html
+
+#If the name of the organism is not on the list, type it in directly. If
+you do not know the scientific name, please be as specific as you can
+and include a unique identifier, such as a clone, isolate, strain or
+voucher number, or cultivar name, e.g.; Nostoc ATCC29106, uncultured
+spirochete Im403, Lauraceae sp. Vásquez 25230 (MO), Rosa hybrid
+cultivar 'Kazanlik'.  Also, if applicable, indicate if the name is
+unpublished as of the time of submission.  Additional information such
+as strain, isolate, or serotype can be entered later in the submission
+process.
+
+**Location 
+
+#The default Location for all seqeunces is "Genomic".  If the sequence
+is not genomic, select the alternative location (ie, organelle) from
+the pull-down list.  You can change the location of all sequences
+globally by clicking on the Location button in the spreadsheet header. 
+The following is a brief description of the choices in this list:
+
+#-Genomic:  chromosome.  This category includes
+mitochondrial and chloroplast proteins that are encoded by the nuclear
+genome.
+
+#-Chloroplast:  a chlorophyllous plastid.
+
+#-Chromoplast:  a non-chlorophyllous, pigmented plastid, found in
+fruits and flowers.
+
+#-Kinetoplast: a specialized type of mitochondrion found exclusively
+in Kinetoplastida (e.g., Leishmania).  NOTE: kinetoplast should
+be applied ONLY to members of the Kinetoplastida (trypanosomes and
+bodonids). 
+
+#-Mitochondrion: a semi-autonomous, self-reproducing organelle that
+occurs in the cytoplasm of most eukaryotic cells. 
+
+#-Plastid: any of a class of double membrane-bound, light-harvesting
+organelles (or derived from same).  NOTE: plastid should be used
+ONLY when a more precise term, e.g., chloroplast, is not
+applicable. 
+
+#-Macronuclear: a specialized type of nucleus found exclusively in the
+ciliated protists (e.g., Tetrahymena).  NOTE: macronucleus
+should be applied ONLY to members of the Ciliophora. 
+
+#-Extrachromosomal:  other extrachromosomal elements not listed here,
+such as a B chromosome or an F factor.
+
+#-Plasmid: extrachromosomal genetic element found in bacterial species.
+Note this does not include the cloning vector used to propagate
+the sequence of interest. 
+
+#-Cyanelle:  a specialized type of plastid found exclusively in
+glaucocystophytes (e.g., Cyanophora).  NOTE: cyanelle should be
+applied ONLY to members of the Glaucocystophyceae. 
+
+#-Proviral:  a virus that is integrated into a host cell chromosome.
+
+#-Virion:  a completed virus particle.
+
+#-Nucleomorph:  a reduced nuclear remnant found in Chlorarachniophyceae
+(e.g., Chlorarachnion) and Cryptophyta (e.g, Cryptomonas).  NOTE:
+nucleomorph should be applied ONLY to members of the
+Chlorarachniophyceae or Cryptophyta.  
+
+#-Apicoplast:   a reduced plastid characteristic of apicomplexans
+(e.g., Plasmodium).  NOTE: apicoplast should be applied ONLY to
+members of the Apicomplexa.
+
+#-Leucoplast:  a plastid lacking pigments of any type.
+
+#-Proplastid:  an immature plastid.
+
+#-Endogenous_virus:  a virus that has integrated permanently into the
+host genome, and which is inherited vertically through the
+germ-line of the host.
+
+#-Hydrogenosome:  an organelle that produces hydrogen and ATP and is
+found mainly in ciliates, fungi and trichomonads.  Hydrogenosomes may
+be reduced mitochondria 
+
+**Genetic Code 
+
+#If you selected a scientific organism name from the scrollable list
+described above, this field will be filled out automatically.  However,
+if the organism is not on the list, this field will default to the
+"Standard" genetic code.  If this is incorrect, you can select the
+correct genetic code from the pull-down list.  To globally change the
+genetic code for all sequences which are not automatically filled out,
+click on the Genetic Code button in the spreadsheet header.  
+
+#For more information regarding the genetic codes available, see the NCBI
+<A HREF="http://www.ncbi.nlm.nih.gov/htbin-post/Taxonomy/wprintgc?mode=c">
+Taxonomy page
+</A>.
+http://www.ncbi.nlm.nih.gov/htbin-post/Taxonomy/wprintgc?mode=c
+
+*Import Source Modifiers
+
+#Using this button allows you to import a tab-delimited table of source
+modifiers.  The first column in the table must contain the Sequince
+Identifiers (SeqIDs) used earlier in the submission and each subsequent
+column must contain a different source modifier.  The first row in the
+table must contain the labels for each column.  The label for the
+Sequence Identifiers column should be in the format "Seq_ID".  A list
+of available
+<A HREF="http://www.ncbi.nlm.nih.gov/Sequin/modifiers.html"> 
+modifiers
+</A>
+in the format to be used in the column headers can be found at
+http://www.ncbi.nlm.nih.gov/Sequin/modifiers.html .
+
+*Add Source Modifiers
+
+#Using this button will launch the Specify Source Modifiers pop-up box
+where you can add or edit any source modifier.  You can also import a
+source modifier table or export the existing source modifiers in table
+format from this page. 
+
+#The Select Modifier dialog allows you to select a modifier from the
+pull-down list and edit the value of this modifier for each sequence or
+globally add a value to all sequences. 
+
+#The two windows in this pop-up provide information about the current
+source modifiers for the sequences in your submission.  The top window
+provides a summary of these modifiers and the lower window lists the
+values of each modifier for each sequence.  If any sequences have
+missing organism names or have source information that is identical to
+another sequence, the SeqIDs will be shown in red in this window. 
+Double-clicking on a modifier value in this window will launch a pop-up
+where you can edit this value.  Double-clicking on the modifier name
+used in the header will launch a modifier-specific pop-up where you can
+globally edit the modifier value for all sequences or change the value
+for individual sequences.
+
+*Clear All Source Modifiers
+
+#This button will clear all modifiers previously entered in either the
+FASTA definition lines or the submission dialogs.  This includes the
+organism name which is required for submission.
+
+>Protein Page
+
+#This page allows you to provide the protein sequence translated from
+the nucleotide sequence that you just entered.  If the nucleotide
+sequence is alternatively spliced or contains multiple open reading
+frames, enter all of the protein sequences on this page.  Each protein
+sequence will appear in the database record as a coding sequence (CDS)
+feature.  Sequin will automatically determine which nucleotide
+sequences code for the protein and indicate the nucleotide sequence
+interval on the database record. Sequin also provides tools that allow
+you to view a graphical representation of all the open reading frames
+in your nucleotide sequence and to convert these reading frames into
+CDS features.  These tools are described later in the help
+documentation under the 
+
+<A HREF="#ORFFinder">
+ORF Finder.
+</A>
+
+*Conceptual Translation Confirmed by Peptide Sequencing
+
+#Most protein entries are computer-generated conceptual translations of
+a nucleic acid sequence.  If you have confirmed this translation by
+direct sequencing either of the entire protein or of peptides derived
+from the protein, please check this box.
+
+*Incomplete at NH3 end/Incomplete at COOH end
+
+#If the sequence is lacking amino acids at the amino- or
+carboxy-terminal end of the protein, please check the appropriate box. 
+
+*Create Initial mRNA with CDS Intervals
+
+#If you check this box, Sequin will make an mRNA feature with the same
+initial intervals (i.e., range of sequence) as the CDS feature.  After
+the record has been assembled, you should edit the mRNA feature location
+to add the 5' UTR and 3' UTR intervals.  This may be done either in the
+mRNA editor or in the sequence editor.
+
+*Import Protein FASTA
+
+#You can import a single or multiple protein sequences contained within
+a previously generated protein FASTA file.  
+
+**FASTA Format for Protein Sequences
+
+#The basic FASTA format is the same as that used for 
+<A HREF="#FASTAFormatforNucleotideSequences">
+nucleotide sequences
+</A>
+, with a FASTA definition line followed by the sequence itself.  
+
+#In order to match the protein sequence to the correct nucleotide
+sequence, you must use the same Sequence Identifier (SeqID) that you
+used to identify the nucleotide sequence.  Thus in cases of
+alternatively spliced genes, a single protein FASTA file can contain
+two unique sequences that have the same SeqID.  Both coding regions
+will be added to the same nucleotide sequence.
+
+#The available modifiers for use in a protein FASTA definition line are
+different than those for a nucleotide FASTA definition line and are
+limited to information about the protein or gene itself and are
+contained within the examples below.  The format remains [modifer=text].
+
+#Note in all cases, the FASTA definition line must not contain any hard
+returns.  All information must be on a single line of text. 
+
+#Examples of properly formatted protein FASTA definition lines are:
+
+<KBD><PRE>>Seq1 [protein=neuropilin 1] [gene=Nrp1]</KBD></PRE>
+
+<KBD><PRE>>ABCD [protein=merozoite surface protein 2] [gene=msp2] [protein_desc=MSP2]</KBD></PRE>
+
+<KBD><PRE>>DNA.new [protein=breast and ovarian cancer susceptibility protein] [gene=BRCA1] [note=breast cancer 1, early onset]</KBD></PRE>
+
+#The protein name should be included in the entry; all other fields are
+optional.
+
+#The line after the FASTA definition line begins the amino acid
+sequence.  It is recommended that each line of sequence be no longer
+than 80 characters.  Please only use IUPAC symbols within the amino
+acid sequence. Non-IUPAC amino acid symbols will be stripped from the
+sequence.  
+
+#After you import your sequence, a window will appear with information
+about the sequence.  The first line will describe the number of protein
+sequences imported and the total length in amino acids of
+all sequences. Each sequence is numbered, and its length,
+unique identifier (SeqID), Gene symbol, Protein name, and title
+(Definition line) as supplied in the FASTA definition line are listed. 
+
+>Annotation Page
+
+#Note: This page will not be available if you have selected a segmented
+or gapped sequence as the
+<A HREF="#SubmissionType">
+Submission Type
+</A>
+.
+
+#On this page, you can add a
+<A HREF="#gene">
+gene
+</A>
+,
+<A HREF="#rRNA">
+ribosomal RNA
+</A>
+ or
+<A HREF="#CDS">
+CDS
+</A>
+ feature across the entire span of each sequence you are submitting.
+You can not specify locations within each sequence using this page.
+More options are available under the
+
+<A HREF="#AnnotateMenu">
+Annotate Menu
+</A>
+in the record viewer.
+
+#If the feature should be partial at one or both ends, check the
+appropriate box and then fill in the text boxes for the relevant
+feature.
+
+#You may add a title to all sequences if this was not included in the
+FASTA definition line.  This will be used as the DEFINITION field in
+the final flatfile.  The title should contain a brief description of
+the sequence.  There is a preferred format for nucleotide and protein
+titles and Sequin can generate them automatically using the Generate
+Definition Line function under the Annotate menu in the record viewer.
+
+>Assembly Tracking
+
+#You will only see this form if you had previously indicated that the
+entry is a Third-Party Annotation submission.  You must provide the
+GenBank Accession number(s) of the primary sequence used to assemble
+your TPA sequence.  We can not accept primary sequences corresponding
+to Reference Sequences or those from proprietary databases.  More
+information about this can be found on the
+
+<A HREF="http://www.ncbi.nlm.nih.gov/Genbank/tpa.html">
+TPA
+</A>
+home page.
+
+#If a proper GenBank Accession is entered in the first column of the
+Assembly Tracking form, the GenBank staff can map the coordinates for
+you.  You do not need to fill out the 'from' and 'to' columns.  Note
+that multiple accessions may be entered to provide full coverage of the
+assembled sequence.
+
+#You may also generate an Assembly Tracking form in the record viewer
+under the Annotate menu.  Select Descriptors and TPA Assembly from the
+pull-down menu in order to generate the Assembly Tracking form.
+
+>Editing the Record
+
+*Overview
+
+#After you finish the Organism and Sequences Form, Sequin will process
+your entry based on the information you have entered.  The window you
+see now is called the record viewer.  This is also the window you will
+see if you are submitting an update to an existing record.  The
+instructions after this point are the same whether you are submitting a
+new record or an update.
+
+#In the default window of the record viewer, you will see your entry
+approximately as it would appear in the database.  Most of the
+information that you entered earlier in the submission process is
+present in the viewer; other information, such as the contact, is still
+present in the record but will not be visible in the database entry.  If
+you have provided a conceptual translation of the nucleotide sequence,
+the translation will be listed as a CDS Feature.  Sequin automatically
+determines which nucleotides encode for the protein, and lists them,
+even if the nucleotide sequence contains introns and exons.
+
+#You can save the entry to a file by selecting Save or Save As under the
+File menu.  This is not the same as saving the entry for submission to
+the database.  It is a good idea to save the file at this point so that
+if you make any unwanted changes during the editing process you can
+revert to the original copy.  If you wish to edit the entry later, click
+on "Read Existing Record" on the Welcome to Sequin form and choose
+the file.
+
+#It is likely that the entry could be processed now for submission to
+the database.  However, you may wish to add information to
+the entry. This information may be in the form of Descriptors or
+Features.  Descriptors are annotations that apply to an
+entire sequence, or an entire set of sequences, and Features are
+annotations that apply to a specific sequence interval.  For example,
+you may want to change the Reference Descriptor to add a published
+manuscript, or to annotate the sequence by adding features such as a
+signal peptide or polyA signal.  
+
+#Information in the record viewer can be edited in different ways.  One
+way to modify information is to double click within the block of
+information you wish to edit.  Many blocks, such as "Definition",
+"Source", "Reference", or "Features" can be edited.  
+
+#To add information, create a new descriptor
+or feature by selecting the appropriate form from the Misc or Features
+menus. These options are described later in this help document.
+
+#Finally, you may need to edit the sequence itself.  
+<A HREF="#SequenceEditor">
+Instructions
+</A> 
+for working with the sequence are presented in the documentation for the
+Sequence Editor.
+
+*Submitting the Finished Record to the Database
+
+#Once you are satisfied that you have added all the appropriate
+information, you must process your entry for submission to the database.
+ Select "Validate" under the Search menu.  This function detects
+discrepancies between the format of your submission and that required by
+the database selected for entry.
+
+#If Sequin detects problems with the format of your record, you will see a
+screen listing the validation errors as well as suggestions for how to fix the
+discrepancies.  Single clicking on an error message scrolls the record viewer
+to the feature that is causing the error.  Double clicking on the error message
+launches a new form on which you can enter information to correct the problem. 
+If you are annotating a set of multiple sequences, shift-click to scroll to the
+target sequence and feature.  You can also dismiss the suggestion and proceed
+on your own. When you think you have corrected all the problems, click on
+"Revalidate".
+
+#Message:  Select Verbose, Normal, Terse, or Table. Verbose gives a more
+detailed explanation of the problem.
+
+#Filter:  Select the error messages you wish to see.  You can select
+ALL, SEQ_INST (errors regarding the sequence itself, its type, or
+length), SEQ_DESCR (descriptor errors), SEQ_FEAT (feature errors), or
+errors specific to your record.
+
+#Severity:  Select the types of error messages you wish to see.  You
+will see the type of message selected, as well as any messages warning
+of more serious problems.
+
+#There are four types of error messages, Info, Warning, Error, and
+Reject. Info is the least severe, and Reject is the most severe.  You
+may submit the record even if it does contain errors.  However, we
+encourage you to fix as many problems as possible.  Note that some
+messages may be merely suggestions, not discrepancies.  A possible
+Warning message is that a splice site does not match the consensus. 
+This may be a legitimate result, but you may wish to recheck the
+sequence.  A possible Error message is that the conceptual translation
+of the sequence that you supplied does not encode an open reading
+frame.  In this case, you should check that you translated the sequence
+in the correct reading frame.  A possible Reject message is that you
+neglected to include the name of the organism from which the sequence
+was derived.  The name of the organism is absolutely required for a
+database entry.
+
+#If Sequin does not detect any problems with the format of your record,
+you will see a message that "Validation test succeeded".  
+
+#To prepare the submission, click the "Done" button on the record
+viewer, or select "Prepare Submission" under the File menu. You will be
+prompted to save the file.  Email this file to the database at the
+address shown.  You MUST email the file; Sequin does not submit the
+file automatically over the network.  The email addresses for the
+databases are:
+
+!-GenBank:  gb-sub@ncbi.nlm.nih.gov 
+!-EMBL:  datasubs@ebi.ac.uk 
+!-DDBJ: ddbjsub@ddbj.nig.ac.jp
+
+#After your entry is complete, close the record viewer.  You will be
+returned to the Welcome to Sequin form and can begin another entry.
+
+>The Record Viewer
+
+*Target Sequence
+
+#This pop-up menu shows a list of SeqIDs of all nucleotide and protein
+sequences associated with the Sequin entry.  Use the menu to select the
+sequences displayed in the record viewer, as well as the sequences you
+want to "target", that is, the sequences to which you want to apply a
+descriptor (see 
+<A HREF="#Descriptors">
+Descriptors
+</A>
+ in the Sequin help documentation).  You may select either an individual
+sequence by name or a set of sequences, such as All Sequences, or
+SEG_dna if you have a segmented nucleotide set.  You may change the
+selection at any time.
+
+*Display Format
+
+#You may change the display format of the record viewer to any of the
+formats described below. Editing a field in one display format will
+change that field in all formats.  Subsequent pop-up menus will appear
+depending on which format is selected.  
+
+**GenBank
+
+#This display format allows you to see the submission as it would appear
+as a GenBank or DDBJ entry.  It is the default format.  
+
+#The Mode pop-up default setting is Sequin.  Release mode shows certain
+qualifiers and db_xrefs in RefSeq entries which are non-collaborative. 
+Entrez mode is used fro web display and can show new elements that have
+not yet finished their four month quarentine period. Dump mode requires
+that the accession slot be populated.  In most cases, there is no need
+to change from the default Sequin mode.
+
+#The Style pop-up allows different views of segmented records.  The
+default is Normal.  Segment style is the traditional representation of
+segmented sequences, while Contig style displays a CONTIG line with a
+join of accessions instead of raw sequence.  Master style shows
+features mapped to the segmented sequence coordinates instead of the
+coordinates of the individual parts.
+
+**Graphic
+
+#This display format shows the entry in a graphical view.  The top bar
+represents the nucleotide sequence.  Lower arrows or bars represent
+different features on the sequence.  Double click on an arrow or bar to
+launch the appropriate editing window. Any sequence highlighted in the
+Sequence Editor will be boxed on the graphical view of the sequence. 
+To see a graphical representation of a segmented set (see
+
+<A HREF="#Submissiontype">
+Submission type
+</A>,
+above), the Target Sequence must be set to
+SEG_dna.
+
+#The Style pop-up menu allows you to see the display in different styles
+and colors.
+
+#The Scale pop-up menu allows you to see the display in different sizes.
+The smaller the number, the larger the display.
+
+**Sequence
+
+#This display format shows the nucleotide sequence in the record along
+with any annotated features (such as CDS or mRNA).  You can only view a
+single sequence at a time with this option.  You can use the Features
+pop-up menu to change the display of the features.  With the numbering
+pop-up menu, select where you want the sequence numbers to be
+indicated, at the side of the sindow, at the top of each sequence line,
+or not at all.
+
+**Alignment
+
+#This display format shows sets of aligned sequences, such as those
+imported as part of a population, phylogenetic, mutation, or
+environmental samples set. When toggled to All Sequences in the Target
+Sequence pop-up, the alignment of all entries will be displayed.  To
+more closely analyze similarities, you can select a single entry in the
+Target Sequence pop-up.  The complete sequence of the entry selected
+will be displayed.  Any nucleotides in the other sequences that differ
+from that selected will be displayed, while identical nucleotides will
+be displayed as a period.  You can also display features annotated on
+the selected target sequence or all sequences using the Feature display
+toggle.  To launch the alignment editor, select 
+<A HREF="#AlignmentAssistant">
+Alignment Assistant
+</A>
+from the record viewer Edit menu.
+
+**EMBL
+
+#This display format allows you to see the submission as it would appear
+as an EMBL entry.
+
+**Table
+
+#This display format shows the annotation in a five-column, tab-delimited 
+<A HREF="table.html">table</A>
+ format. This format can be imported to add annotation to a record that
+has none.
+
+**FASTA
+
+#This display shows the sequence and Definition line only, without any
+annotations, in a format called the FASTA format.  This is a format used
+by many molecular biology analysis programs.  You cannot edit in this
+display mode.
+
+**Quality
+
+#This display format shows quality score data ifit has been included in
+the submission.
+
+**ASN.1
+
+#This display shows the entry in Abstract Syntax Notation 1, a data
+description language used by the NCBI.  You cannot edit in this display
+mode.
+
+**XML
+
+#This display format shows the entry in XML language, sometimes used by
+various databases.  You cannot edit in this display mode.
+
+**INSDSeq
+
+#This display format shows the entry in the XML format used by the INSD.
+ You cannot edit in this display mode.
+
+**Desktop
+
+#The NCBI DeskTop displays the internal
+structure of the record being viewed in Sequin.  The 
+<A HREF="#NCBIDeskTop">
+DeskTop
+</A> 
+is explained under the Misc menu.
+
+*Done
+
+#This button allows you to validate the entry when you are finished with
+the submission.  See 
+<A HREF="#SubmittingtheFinishedRecordtotheDatabase">
+Submitting the Finished Record to the Database
+</A> 
+ in the Sequin help documentation.
+
+*Controls for Downloaded Entries 
+
+#If you have downloaded a sequence from Entrez, you will see an
+additional button labeled PubMed.  This button will launch a web
+browser containing the target sequence as it appears in Entrez.  From
+here, you can access any Entrez-supported Links, including related
+sequences and associated references in PubMed. 
+
+>Descriptors
+
+*Overview
+
+#Descriptors are annotations that apply to an entire sequence, or an
+entire set of sequences, in a given entry.  They do not have a specific
+location on a sequence, as they apply to the entire sequence.  They can
+be contrasted to 
+<A HREF="#Features">
+Features,
+</A>
+which apply to a specific interval of the sequence.  
+
+#You may edit descriptors in one of two ways.
+
+#(1) In the record viewer, double click within the text of the
+descriptor to bring up a form on which information can be added.
+
+#(2) Choose the option Descriptors from the Annotate menu.  
+
+*Annotate Menu
+
+#This menu allows you either to create new descriptors or to modify
+existing ones.  Select the descriptor that you wish to modify.
+
+#When you first select a descriptor, you will see a window called
+"Descriptor Target Control".  Using the target control pop-up menu,
+select the sequences you wish this descriptor to cover.  The name(s)
+listed correspond to the SeqID(s) given to the nucleotide or amino acid
+sequences when when they were imported into Sequin.  The default
+selection for this menu is set in the Target Sequence pop-up menu on
+the record viewer.  You may choose to have the descriptor cover just
+one sequence, or a set of sequences in your entry.  If you are creating
+a new descriptor, select "Create New".  If you wish to modify a
+previous descriptor, select "Edit Old".
+
+#The following is a list of some of the descriptors that can be added.
+Two additional descriptors, those for 
+<A HREF="#Publications">
+Publications
+</A> 
+and 
+<A HREF="#BiologicalSourceDescriptororFeature">
+Biological Source,
+</A>
+are described in other sections.
+
+**TPA Assembly
+
+#If you indicated that your sequence is a TPA submission, a 
+<A HREF="#AssemblyTracking">
+TPA Assembly
+</A>
+ was created from the information regarding primary accession numbers. 
+This Assembly information can be edited here.  Note that it is not
+necessary to enter nucleotide location in the "from" and "to" columns.
+
+**Update Date
+
+#This is for database staff use only.  Please do not modify the date.
+
+**Create Date
+
+#This is for database staff use only.  Please do not modify the date.
+
+**Region
+
+#This descriptor provides general information about the genetic context
+of the sequence.  For example, if your nucleotide sequence is cloned
+from the region surrounding the Huntington's Disease gene, you could
+enter that information here.  Providing information for this descriptor
+is optional.
+
+**Name
+
+#Alternative place for a descriptive name for the sequence.  This
+information will not appear in the flatfile view, but will be
+maintained in the ASN1.
+
+**Comment
+
+#This descriptor is used to list any additional information that you
+wish to provide about the sequence. Use of this descriptor is optional.
+ Most information can be better annotated using the appropriate
+features and qualifiers rather than a generic comment descriptor.
+
+**Title
+
+#This descriptor contains the information that will go on the Definition
+line of the database entry.  If you supplied a title for your
+nucleotide sequence when you imported it into Sequin, that information
+is here.  If you wish to change the Definition line, or if you did not
+supply a title when you submitted the sequence, edit this Descriptor.
+For more information on creating proper Definition lines, please see
+the Sequin help documentation for the 
+
+<A HREF="#NucleotideDefinitionLine(Title)">
+Nucleotide Definition Line (Title)
+</A>.
+
+**Molecule Description
+
+#This descriptor indicates the characteristics of the molecule from
+which the sequence was derived. The information that you have already
+entered can be edited here.  In most cases, the molecule and class are
+the only choices which should be edited from the default values.
+
+***Molecule
+
+#A GenBank sequence can represent one of several different molecule
+types. Enter in the Molecule pop-up menu the type of molecule that was
+sequenced.  A brief description of the choices in this pop-up menu were
+listed previously.
+
+***Completedness
+
+Choose the appropriate option from the pop-up menu.
+
+#-Complete:  Use this designation when a complete molecule, such as a
+complete mitochondrial genome, is being submitted.
+
+#-Partial:  Use this designation when an incomplete unit, such as the
+partial coding sequence of a gene, is being submitted.
+
+#-No left:  Use this designation when an incomplete unit, such as the
+partial coding sequence of a gene, or a partial protein sequence, is
+being submitted.  The sequence has no left if it is incomplete on the
+5', or amino-terminal, end.
+
+#-No right:  Use this designation when an incomplete unit, such as the
+partial coding sequence of a gene, or a partial protein sequence, is
+being submitted.  The sequence has no right if it is incomplete on the
+3', or carboxy-terminal, end.
+
+#-No ends:  Use this designation when an incomplete unit, such as the
+partial coding sequence of a gene, or a partial protein sequence, is
+being submitted, The sequence has no ends if it is incomplete at both
+the 5' and 3', or amino- and carboxy- terminal, ends.
+
+#-Other:  Use this designation when none of the above descriptions apply.
+
+***Technique
+
+#From the pop-up menu, select the technique that was used to generate the
+sequence.
+
+#-Standard: standard sequencing technique.
+
+#-EST:  
+<A HREF="http://www.ncbi.nlm.nih.gov/dbEST/index.html">
+Expressed Sequence Tag
+</A>
+: single-pass, low-quality mRNA sequences
+derived from cDNAs.  These sequences will appear in the EST division.
+
+#-STS:
+<A HREF="http://www.ncbi.nlm.nih.gov/dbSTS/index.html">
+  Sequence Tagged Site
+</A>
+: short sequences that are operationally
+unique in a genome and that define a specific position on the physical
+map.  These sequences will appear in the STS division.
+
+#-Survey: 
+<A HREF="http://www.ncbi.nlm.nih.gov/dbGSS/index.html">
+single-pass genomic sequence
+</A>
+.  These sequences will appear in
+the Genome Survey Sequence (GSS) division.
+
+#-Genetic Map: Genetic map information, for example, in the Genomes division.
+
+#-Physical Map: Physical map information, for example in the Genomes division.
+
+#-Derived: A sequence assembled into a contig from shorter sequences.
+
+#-Concept-trans: A protein translation generated with the appropriate
+genetic code.
+
+#-Seq-pept: Protein sequence was generated by direct sequencing of a
+peptide.
+
+#-Both: Protein sequence was generated by conceptual translation and
+confirmed by peptide sequencing.
+
+#-Seq-pept-Overlap: Protein sequence was generated by sequencing
+multiple peptides, and the order of peptides was determined by overlap
+in their sequences.
+
+#-Seq-pept-Homol: Protein sequence was generated by sequencing
+multiple peptides, and the order of peptides was determined by homology
+with another protein.
+
+#-Concept-Trans-A: Conceptual translation of the nucleotide sequence
+provided by the author of the entry.
+
+#-HTGS 0: 
+<A HREF="http://www.ncbi.nlm.nih.gov/HTGS/">
+High Throughput Genome Sequence
+</A>
+, Phase 0.  These sequences
+are produced by high-throughput sequencing projects and will be in the
+HTG division.
+
+#-HTGS 1: 
+<A HREF="http://www.ncbi.nlm.nih.gov/HTGS/">
+High Throughput Genome Sequence
+</A>
+, Phase 1.  These sequences
+are produced by high-throughput sequencing projects and will be in the
+HTG division.
+
+#-HTGS 2: 
+<A HREF="http://www.ncbi.nlm.nih.gov/HTGS/">
+High Throughput Genome Sequence
+</A>
+, Phase 2.  These sequences
+are produced by high-throughput sequencing projects and will be in the
+HTG division.
+
+#-HTGS 3: 
+<A HREF="http://www.ncbi.nlm.nih.gov/HTGS/">
+High Throughput Genome Sequence
+</A>
+, Phase 3.  These sequences
+are produced by high-throughput sequencing projects and will be in the
+HTG division.
+
+#-FLI_cDNA: Full Length Insert cDNA.  Sequence corresponds to entire cDNA but
+not necessarily entire transcript. These sequences are produced by large
+sequencing projects.
+
+#-HTC: High Throughput cDNA. These sequences are produced by large sequencing
+projects.
+
+#-WGS: 
+<A HREF="http://www.ncbi.nlm.nih.gov/Genbank/wgs.html">
+Whole Genome Shotgun
+</A>
+.  These sequences are produced by large sequencing projets and follow a
+separate submission process.
+
+#-Barcode: Nucleotide sequence is part of Barcodes of Life project.  This
+selection should only be used by members of the Consortium for the
+Barcodes of Life.
+
+#-Other: Do not use this designation.
+
+***Class
+
+#From the pop-up menu, select the type of molecule that was sequenced.
+
+#-DNA:  DNA
+
+#-RNA:  RNA
+
+#-Protein:  Protein
+
+#-Nucleotide: Do not select this item
+
+#-Other:  Do not select this item
+
+***Topology
+
+#From the pop-up menu, select the topology of the sequenced molecule.
+
+#-Linear:  Linear molecule (most sequences).
+
+#-Circular:  Circular molecule (such as a complete plasmid or mitochondrion).
+
+#-Tandem:  Do not select this item.
+
+#-Other:  Do not select this item.
+
+***Strand
+
+#From the pop-up menu, select whether the sequence was derived from an
+organism with a single- or double-stranded genome.  This is used primarily for
+viral submissions.
+
+#-Single:  The organism contains only a single-stranded genome, for
+example, ssRNA viruses. 
+
+#-Double:  The organism contains only a double-stranded genome, for
+example, dsDNA viruses.
+
+#-Mixed:  Do not select this item. 
+
+#-Mixed Rev:  Do not select this item.
+
+#-Other:  Do not select this item.
+
+**Biological Source
+
+#The Biological Source descriptor is described in more detail 
+<A HREF="#BiologicalSourceDescriptororFeature">
+below.
+</A>
+
+>Features
+
+*Overview
+
+#Features are annotations which apply to one or more intervals on a
+sequence. They can be contrasted to 
+<A HREF="#Descriptors">
+Descriptors,
+</A> 
+that apply to an entire sequence or an entire set of sequences. 
+Features will be added to the Target Sequence selected in the record
+viewer pop-up menu. 
+
+#You may add or modify features in one of three ways.
+
+#(1) In the record viewer, double click on the text of an existing
+feature to bring up a form on which information can be added or edited.
+
+#(2) Choose the feature from the Annotate menu to add a new feature.  
+
+#(3) Choose the feature from the Sequence Editor Features menu to add a
+new feature.
+
+#The features listed in the Annotate menu and the Sequence Editor
+Features menu are identical, and the instructions for adding them are
+the same, with one exception.  If you annotate them in the Annotate
+menu, you must provide the nucleotide sequence location of the feature.
+ However, if you add features from the Sequence Editor, you can
+highlight the sequence that the feature covers, and the location of the
+sequence will be automatically entered in the feature location box.
+
+*Annotate Menu
+
+#This menu allows you to add or modify features on the sequence selected
+in the Target Sequence pop-up menu of the record viewer.  Features are
+grouped into six categories.  Select the feature that you would like to
+mark on your sequence.  A new form will appear.
+
+#Feature forms share a common design.  The first page is specific to the
+particular feature, e.g., Coding Region or Gene.  The second page lists
+Properties of the Feature.  The third page describes the Location of the
+feature.  Details about the common second and third pages are provided
+below.
+
+**Properties Page
+
+***General Subpage
+
+#Enter general comments about the feature here.
+
+#Select any of the flags if necessary.  If this sequence contains only a
+partial representation of the feature you are describing, check the
+"Partial" box.  Check the "Exception" box if the feature annotates a
+post-transcriptional modification of the nucleotide sequence, such as
+ribosomal slippage or RNA editing.  This is generally used only on CDS
+features.  The evidence dialogs will only be editable if information
+has been entered in the Evidence subpage. 
+
+#If a gene feature overlaps the feature you are editing, the gene symbol
+will appear in the pull-down menu.  If you want to add the name of a
+new gene, select new, and enter its name and optional description.  By
+default, mapping between the feature and the gene is done by overlap,
+that is, the gene associated with the feature is the gene whose
+location overlaps with the location of the feature.   Under some
+circumstances, for example, if the sequences of two genes overlap, you
+may wish the feature to apply to a different gene.  In this case,
+select cross-reference, and select the name of the new gene in the
+pop-up menu. If you do not want the feature to map to any existing
+gene, select suppress.  You may also edit information on the Gene
+feature form by clicking on Edit Gene Feature.
+
+***Comment Subpage
+
+#Add any comments about the feature here, especially if you checked the
+"Exception" box on the General Subpage.
+
+***Citations Subpage
+
+#This page is used to list any citations that specifically apply to the
+feature you are annotating.  The citation must have already been entered
+into the record (see 
+<A HREF="#Publications">
+Publications
+</A>)
+ in the Sequin help documentation.  Click on Edit Citations, and
+place a check mark in box next to the publication you want to cite.  
+However, we discourage the use of citations on features.
+
+***Cross-Refs Subpage
+
+#This is a read-only page used to cross-reference this entry to entries
+in external databases (databases other than GenBank, EMBL/EBI, and
+DDBJ), such as dbEST or FLYBASE.  For more information on this topic,
+see the International Nucleotide Sequence Database Collaboration
+
+<A HREF="http://www.ncbi.nlm.nih.gov/collab/db_xref.html">
+page
+</A>.
+http://www.ncbi.nlm.nih.gov/collab/db_xref.html
+
+***Evidence Subpage
+
+#This page is primarily used by large sequencing centers to explain
+annotation prediction methods and its use is optional.  More details
+about these qualifiers can be found in the
+<A HREF="http://www.ncbi.nlm.nih.gov/GenBank/evidence.html">
+genome submission guidelines
+</A>.
+The two choices of evidence are Experiment or Inference.
+
+#Wet-bench, experimental evidence can be entered as free text in the
+Experiment section.  Please be as brief as possible.
+
+#The Inference section allows for information to be added in cases where
+the feature is annotated based solely on sequence similarity or
+prediction software. In order to fill in text, you must select one of
+the options from the Category pull-down menu.  Different pull-down and
+text boxes will appear depending on the selection you choose from the
+Category menu.  If you select one of the 'similar to' categories, you
+must include the name of the database and the corresponding accession
+number of the sequence used as the basis for the annotation.  If you
+choose one of the prediction categories, you must include the name and
+version of the prediction program used as the basis for the annotation. 
+
+#For example, if your annotation of a coding region was based on
+similarity to the sequence and annotation in GenBank Accession number
+AY411252, you would select "similar to DNA sequence" from the pull-down
+menu and then select "INSD" in the Database pull-down.  You would then
+type "AY411252.1" in the Accession text box.  If the annotation is
+based on the Genscan prediction algorithm, you would select "ab initio
+prediction" from the pull-down menu, select "Genscan" in the Program
+pull-down and enter 2.0 in the Program Version text box.  If the
+database or program used is not listed in the appropriate pull-down
+list, select Other from the list.  A new text box will appear where you
+can enter the name of the database or program used.  You still must
+include the appropriate accession number or version in the subsequent
+text box. 
+
+***Identifiers Subpage
+
+#This is a read-only page used by the database staff for tracking
+features within the record.
+
+**Location Page
+
+#This page allows you to select the location of the feature you are
+citing. Each feature must have a sequence interval associated with it. 
+In most cases, Sequin will limit the option to the nucleic acid or
+protein sequence as appropriate. 
+
+#Check the 5' Partial or 3' Partial box if the feature in your nucleic
+acid sequence is missing residues at the 5' or 3' ends, respectively.
+Check the NH2 Partial or COOH Partial if the feature in your amino acid
+sequence is missing residues at the amino- or carboxy-terminal ends,
+respectively.  If you checked "Partial" on the Properties page, you
+must check either the 5' and/or 3' partial boxes.
+
+#Enter the sequence range of the feature.  The numbers should correspond
+to the nucleotide sequence interval if the SeqID is set to a nucleotide
+sequence, and to an amino acid sequence interval if the SeqID is set to
+a protein sequence.  If the feature spans multiple, non-continuous
+intervals on the sequence, indicate the beginning and end points of each
+interval. If each interval is separate, and should not be joined with
+the others to describe the feature, check the Intersperse intervals with
+gaps box (for example, when annotating multiple primer binding sites). 
+If the feature is composed of several intervals that should all be
+joined together, do not check the box (for example, when annotating mRNA
+on a genomic DNA sequence).
+
+#For nucleic acid Features only:  From the pop-up menu, select the
+strand on which the feature is found.
+
+#-Plus:  Plus strand, or coding strand.
+
+#-Minus:  Minus strand, or non-coding strand.
+
+#-Both:  Both strands.
+
+#-Reverse:  Do not select this item.
+
+#-Other:  Do not select this item.
+
+#Use the pop-up menu to select the SeqID of the sequence you are
+describing by the location.
+
+#If you are working on a set of sequences which contain an alignment,
+you will see a toggle at the bottom of the Location Page where you can
+select to add or view the location of the feature using the Sequence
+Coordinates of the target sequence or the Alignment Coordinates.  In
+either case, the feature will only be added to the target sequence.  If
+you want to add features to all members of the set using the alignment
+coordinates, you must use the 
+
+<A HREF="http://www.ncbi.nlm.nih.gov/Sequin/sequin.hlp.html#Workingwithsetsofalignedsequences">
+Alignment Assistant
+</A>
+.
+#A brief description of the available features follows.  A detailed
+explanation of how to use the coding region (CDS) feature is included.
+The DDBJ/EMBL/GenBank feature table definition 
+<A HREF="http://www.ncbi.nlm.nih.gov/collab/FT/index.html">
+page
+</A>
+http://www.ncbi.nlm.nih.gov/collab/FT/index.html
+ provides detailed information about other features.
+
+*attenuator
+
+#1) region of DNA at which regulation of termination of transcription
+occurs, which controls the expression of some bacterial operons; 2)
+sequence segment located between the promoter and the first structural
+gene that causes partial termination of transcription.
+
+*C_region
+
+#Constant region of immunoglobulin light and heavy chains, and T-cell
+receptor alpha, beta, and gamma chains.  Includes one or more exons,
+depending on the particular chain.
+
+*CAAT_signal
+
+#CAAT box; part of a conserved sequence located about 75 bp upstream of
+the start point of eukaryotic transcription units that may be involved
+in RNA polymerase binding; consensus=GG(C or T)CAATCT.
+
+*CDS
+
+#coding sequence; sequence of nucleotides that corresponds with the
+sequence of amino acids in a protein (location includes stop codon).
+Feature includes amino acid conceptual translation.
+
+**Coding Region Page
+
+#Most users add a coding region to their sequence when they fill out the
+Organism and Sequences form.  However, you may need to edit the coding
+region, or add additional ones.  Choose CDS under the Coding Regions
+and Transcripts submenu of the Features menu, or to edit an existing
+CDS, double click on the record viewer. If you appended the partial
+sequence of a coding region to the Organism and Sequences form, you will
+probably need to edit the Coding Region feature to avoid validation
+error messages about the location of the coding region.
+
+***General (Product) Subpage
+
+#Choose the genetic code that should be used to translate the
+nucleotide sequence.  For more information, and for the translation
+tables themselves, see the NCBI Taxonomy 
+<A HREF="http://www.ncbi.nlm.nih.gov/Taxonomy/Utils/wprintgc.cgi?mode=c">
+page
+</A>.
+If the genetic code is already populated from the taxonomy database, do
+not change this selection.
+
+#Choose the reading frame in which to translate the sequence.  Do not
+fill in the Protein Product or SeqID selections.
+
+#Supply additional information about the protein by clicking on Edit
+Protein Information to launch the Protein feature forms. The protein
+name must have already been filled out on the Protein subpage.
+
+#Checking retranslate on accept will translate the nucleotide sequence
+according to the interval(s) indicated on the Locations page when you
+click on Accept to exit the editor.  This new translation will replace
+any earlier translations you have supplied.  This should not be a
+problem if the interval was indicated appropriately. 
+
+#If the coding sequence that you supply is a partial sequence and you
+have checked a Partial box on the Location subpage, it is a good idea to
+check the Synchronize Partials box.  In this case, Sequin will ensure
+that all other appropriate features (such as protein) are also marked as
+partial.
+
+#When editing existing CDS features, choose the sequence you want to
+view by selecting its name uder the Product pop-up menu.  You may also
+import a new protein sequence by selecting Import Protein FASTA under
+the file menu. The sequence should be formatted as described above on
+the Organism and Sequences form. 
+
+#After you have imported a protein sequence, click on Predict Interval.
+This function will predict the interval on the nucleotide sequence to
+which the coding region applies. If you do not select this function,
+the interval will likely be wrong, and you will get an error message
+when you attempt to validate the record. If your sequence is a 5' or 3'
+partial, you must first indicate this manually on the Location Page. 
+
+#You may also have Sequin generate the protein sequence from the
+nucleotide sequence by clicking on Translate Product. However, you must
+first indicate the location and partialness of the coding region on the
+Location page in order to obtain the correct translation.
+
+***Protein Subpage
+
+#Use this page to enter or edit a name or descriptionof the protein
+product.  For a new sequence, enter information directly into the
+boxes.  You can edit descriptions of an existing sequence by clicking
+on Edit Protein Feature which will bring up the Protein feature form. 
+The Launch Product Viewer displays the flatfile view of ht eprotein
+record generated from the information in the CDS feature.
+
+***Exceptions Subpage
+
+#Exceptions describe places where there is a posttranslational
+modification. Enter the amino acid position at which the modification
+occurs, and select the amino acid that is actually represented in the
+protein from the pop-up list. Sequin will change the amino acid number
+to a nucleotide interval.  Please provide some explanation for the
+exception in a comment.
+
+*conflict
+
+#Independent determinations of the "same" sequence differ at this site
+or region.
+
+*D-loop
+
+#Displacement loop; a region within mitochondrial DNA in which a short
+stretch of RNA is paired with one strand of DNA, displacing the
+original partner DNA strand in this region; also used to describe the
+displacement of a region of one strand of duplex DNA by a single
+stranded invader in the reaction catalyzed by RecA protein.
+
+*D_segment
+
+#Diversity segment of immunoglobulin heavy chain, and T-cell receptor
+beta chain.
+
+*enhancer
+
+#A cis-acting sequence that increases the utilization of (some)
+eukaryotic promoters and can function in either orientation and in any
+location (upstream or downstream) relative to the promoter.
+
+*exon
+
+#Region of genome that codes for portion of spliced mRNA; may contain
+5' UTR, all CDSs, and 3' UTR.
+
+*gap
+
+#Gap in the sequence, only applied to gaps of unknown length.  The
+location span of the gap feature is 100 base pairs, indicated by 100 "n"s
+in the sequence.  The qualifier /estimated_length=unknown is mandatory.
+
+*GC_signal
+
+#GC box; a conserved GC-rich region located upstream of the start point
+of eukaryotic transcription units that may occur in multiple copies or
+in either orientation; consensus=GGGCGG.
+
+*gene
+
+#Region of biological interest identified as a gene and for which a name 
+has been assigned.
+
+*iDNA
+
+#Intervening DNA; DNA which is eliminated through any of several kinds
+of recombination.
+
+*intron
+
+#A segment of DNA that is transcribed, but removed from within the
+transcript, by splicing together the sequences (exons) on either side of
+it.
+
+*J_segment
+
+#Joining segment of immunoglobulin light and heavy chains, and T-cell
+receptor alpha, beta, and gamma chains.
+
+*LTR
+
+#Long terminal repeat, a sequence directly repeated at both ends of a
+defined sequence, of the sort typically found in retroviruses.
+
+*mat_peptide
+
+#Mature peptide or protein coding sequence; coding sequence for the
+mature or final peptide or protein product following post-translational
+modification. The location does not include the stop codon (unlike the
+corresponding CDS).
+
+*misc_binding
+
+#Site in nucleic acid that covalently or non-covalently binds another
+moiety that cannot be described by any other Binding key (primer_bind or
+protein_bind).
+
+*misc_difference
+
+#Feature sequence is different from that presented in the entry and
+cannot be described by any other Difference key (conflict, unsure,
+old_sequence, mutation, variation, allele, or modified_base).
+
+*misc_feature
+
+#Region of biological interest which cannot be described by any other
+feature key. 
+
+*misc_recomb
+
+#Site of any generalized, site-specific, or replicative recombination
+event where there is a breakage and reunion of duplex DNA that cannot be
+described by other recombination keys (iDNA and virion) or qualifiers of
+source key (/insertion_seq, /transposon, /proviral).
+
+*misc_RNA
+
+#Any transcript or RNA product that cannot be defined by other RNA keys
+(prim_transcript, precursor_RNA, mRNA, 5'clip, 3'clip, 5'UTR, 3'UTR,
+exon, intron, polyA_site, rRNA, tRNA, scRNA, snoRNA, and snRNA).
+
+*misc_signal
+
+#Any region containing a signal controlling or altering gene function or
+expression that cannot be described by other Signal keys (promoter,
+CAAT_signal, TATA_signal, -35_signal, -10_signal, GC_signal, RBS,
+polyA_signal, enhancer, attenuator, terminator, and rep_origin).
+
+*misc_structure
+
+#Any secondary or tertiary structure or conformation that cannot be
+described by other Structure keys (stem_loop and D-loop).
+
+*modified_base
+
+#The indicated nucleotide is a modified nucleotide and should be
+substituted for by the indicated molecule (given in the mod_base
+qualifier value).
+
+*mRNA
+
+#messenger RNA; includes 5' untranslated region (5' UTR), coding sequences
+(CDS, exon) and 3' untranslated region (3' UTR).
+
+*N_region
+
+#Extra nucleotides inserted between rearranged immunoglobulin segments.
+
+*old_sequence
+
+#The presented sequence revises a previous version of the sequence at
+this location.
+
+*operon
+
+#Region containing polycistronic transcript under the control of the same
+regulatory sequences.
+
+*oriT
+
+Origin of transfer; region of DNA where transfer is initiated during the
+process of conjugation or mobilization.
+
+*polyA_signal
+
+#Recognition region necessary for endonuclease cleavage of an RNA
+transcript that is followed by polyadenylation; consensus=AATAAA.
+
+*polyA_site
+
+#Site on an RNA transcript to which will be added adenine residues by
+post-transcriptional polyadenylation.
+
+*precursor_RNA
+
+#Any RNA species that is not yet the mature RNA product; may include 5'
+clipped region (5' clip), 5' untranslated region (5' UTR), coding
+sequences (CDS, exon), intervening sequences (intron), 3' untranslated
+region (3' UTR), and 3' clipped region (3' clip).
+
+*prim_transcript
+
+#Primary (initial, unprocessed) transcript; includes 5' clipped region
+(5' clip), 5' untranslated region (5' UTR), coding sequences (CDS, exon),
+intervening sequences (intron), 3' untranslated region (3' UTR), and 3'
+clipped region (3' clip).
+
+*primer_bind
+
+#Non-covalent primer binding site for initiation of replication,
+transcription, or reverse transcription. Includes site(s) for synthetic
+e.g., PCR primer elements.
+
+*promoter
+
+#Region on a DNA molecule involved in RNA polymerase binding to initiate
+transcription.
+
+*protein_bind
+
+#Non-covalent protein binding site on nucleic acid.
+
+*RBS
+
+#Ribosome binding site.
+
+*repeat_region
+
+#Region of genome containing repeating units.
+
+*repeat_unit
+
+#Single repeat element.
+
+*rep_origin
+
+#Origin of replication; starting site for duplication of nucleic acid to
+give two identical copies.
+
+*rRNA
+
+#Mature ribosomal RNA ; the RNA component of the ribonucleoprotein
+particle (ribosome) that assembles amino acids into proteins.
+
+*S_region
+
+#Switch region of immunoglobulin heavy chains. Involved in the
+rearrangement of heavy chain DNA leading to the expression of a
+different immunoglobulin class from the same B-cell.
+
+*satellite
+
+#Many tandem repeats (identical or related) of a short basic repeating
+unit; many have a base composition or other property different from the
+genome average that allows them to be separated from the bulk (main
+band) genomic DNA.
+
+*scRNA
+
+#Small cytoplasmic RNA; any one of several small cytoplasmic RNA
+molecules present in the cytoplasm and (sometimes) nucleus of a
+eukaryote.
+
+*sig_peptide
+
+#Signal peptide coding sequence; coding sequence for an N-terminal
+domain of a secreted protein; this domain is involved in attaching
+nascent polypeptide to the membrane; leader sequence.
+
+*snRNA
+
+#Small nuclear RNA involved in pre-mRNA splicing and processing. 
+
+*snoRNA
+
+#Small nucleolar RNA molecules generally involved in rRNA modification
+and processing.
+
+*source
+
+#Identifies the biological source of the specified span of the sequence.
+This key is mandatory. Every entry will have, as a minimum, a single
+source key spanning the entire sequence. More than one source key per
+sequence is permittable.
+
+*stem_loop
+
+#Hairpin; a double-helical region formed by base-pairing between
+adjacent (inverted) complementary sequences in a single strand of RNA or
+DNA.
+
+*STS
+
+#Sequence Tagged Site. Short, single-copy DNA sequence that
+characterizes a mapping landmark on the genome and can be detected by
+PCR. A region of the genome can be mapped by determining the order of a
+series of STSs.
+
+*TATA_signal
+
+#TATA box; Goldberg-Hogness box; a conserved AT-rich septamer found
+about 25 bp before the start point of each eukaryotic RNA polymerase II
+transcript unit that may be involved in positioning the enzyme for
+correct initiation; consensus=TATA(A or T)A(A or T).
+
+*terminator
+
+#Sequence of DNA located either at the end of the transcript or adjacent
+to a promoter region that causes RNA polymerase to terminate
+transcription; may also be site of binding of repressor protein.
+
+*transit_peptide
+
+#Transit peptide coding sequence; coding sequence for an N-terminal
+domain of a nuclear-encoded organellar protein; this domain is involved
+in post- translational import of the protein into the organelle.
+
+*tRNA
+
+#Mature transfer RNA, a small RNA molecule (75-85 bases long) that
+mediates the translation of a nucleic acid sequence into an amino acid
+sequence.
+
+*unsure
+
+#Author is unsure of exact sequence in this region.
+
+*V_region
+
+#Variable region of immunoglobulin light and heavy chains, and T-cell
+receptor alpha, beta, and gamma chains.  Codes for the variable amino
+terminal portion.  Can be made up from V_segments, D_segments,
+N_regions, and J_segments.
+
+*V_segment
+
+#Variable segment of immunoglobulin light and heavy chains, and T-cell
+receptor alpha, beta, and gamma chains.  Codes for most of the variable
+region (V_region) and the last few amino acids of the leader peptide.
+
+*variation
+
+#A related strain contains stable mutations from the same gene (e.g.,
+RFLPs, polymorphisms, etc.) that differ from the presented sequence at
+this location (and possibly others).
+
+*3'clip
+
+#3'-most region of a precursor transcript that is clipped off during
+processing.
+
+*3'UTR
+
+#Region near or at the 3' end of a mature transcript (usually following
+the stop codon) that is not translated into a protein; trailer.
+
+*5'clip
+
+#5'-most region of a precursor transcript that is clipped off during
+processing.
+
+*5'UTR
+
+#Region near or at the 5' end of a mature transcript (usually preceding
+the initiation codon) that is not translated into a protein; leader.
+
+* -10_signal
+
+#Pribnow box; a conserved region about 10 bp upstream of the start point
+of bacterial transcription units that may be involved in binding RNA
+polymerase; consensus=TAtAaT.
+
+* -35_signal
+
+#A conserved hexamer about 35 bp upstream of the start point of
+bacterial transcription units; consensus = TTGACa or TGTTGACA.
+
+>Biological Source Descriptor or Feature
+
+#This annotation is very important, as an entry cannot be processed by
+the databases unless it includes some basic information about the
+organism from which the sequence was derived.  This basic information was
+entered previously in the submission, in the Organism and Sequences
+Form.  The more detailed Organism Information form allows you to alter
+or add to the data you entered earlier.
+
+*Overview:  Descriptor or Feature?
+
+#Sequin allows two types of biological source information to be entered,
+Biological Source Descriptors and Biological Source Features. Biological
+Source Descriptors, like other descriptors, provide organism information
+about an entire sequence, or an entire set of sequences, in an entry.
+Biological Source Features, like other features, provide organism
+information about a specific interval on a given sequence.
+
+#In most cases, you will want to use a Biological Source Descriptor, because
+all the sequences in the entry will derive from the same source. 
+However, if you have sequenced a transgenic molecule, for example, one
+that is part plant and part bacterial, you would use Biological Source
+Features to annotate which sequence was derived from plant and which from
+bacteria.
+
+#To add a Biological Source Descriptor, select Biological Source under
+the Descriptor section of the Annotate menu.  To add a Biological
+Source Feature, select Biological Source under the Bibliographic and
+Comments section of the Annotate menu.
+
+#Annotating a Biological Source Descriptor or Feature is similar to
+annotating any descriptor or feature.  For help in creating descriptors
+and features, see the appropriate section of the help documentation. 
+The following are instructions for filling out Biological
+Source-specific forms.
+
+*Organism Page
+
+**Names Subpage
+
+#The scrollable list contains the scientific names of many organisms. 
+To reach a name on the list, either type the first few letters of the
+scientific name, or use the thumb bar.  Click on a name from the list to
+fill out the scientific name field.  If there is a common name for the
+organism, that field will be filled out automatically.  You may also
+directly type in the scientific name.  If you have any questions about
+the scientific or common name of an organism, see the NCBI
+<A HREF="http://www.ncbi.nlm.nih.gov/Taxonomy/tax.html">
+taxonomy browser
+</A> 
+http://www.ncbi.nlm.nih.gov/Taxonomy/tax.html
+
+**Location Subpage
+
+***Location of Sequence
+
+#From the selection list, please enter the location of the genome that
+contains your sequence.  Most entries will have a "Genomic" location.
+A brief description of the choices in this pop-up menu were listed
+previously.
+
+***Origin of Sequence
+
+#This menu is for the use of database personnel.  Please leave this
+field empty.  The Biological focus box should be checked in rare cases
+where multiple source features are annotated.
+
+**Genetic Codes Subpage
+
+#Please use these fields to select the nuclear and mitochondrial genetic
+code that should be used to translate the nucleic acid sequence.  The
+genetic code for a eukaryotic organism is "Standard".  If you selected
+an organism name from the scrollable list described above, this field
+was filled out automatically.  Do not change these fields if they have
+been filled out automatically.
+
+#For more information regarding the translation tables available, see
+the NCBI Taxonomy
+
+<A HREF="http://www.ncbi.nlm.nih.gov/Taxonomy/Utils/wprintgc.cgi?mode=c">
+page
+</A>.
+
+**Lineage Subpage
+
+#This information is normally entered by the database staff.  They will
+use the 
+<A HREF="http://www.ncbi.nlm.nih.gov/Taxonomy/tax.html">
+Taxonomy database
+http://www.ncbi.nlm.nih.gov/Taxonomy/tax.html
+</A>
+ maintained by the NCBI/GenBank.
+
+#If you disagree with the lineage supplied please notify the database
+staff.
+
+#If you are running Sequin in its 
+<A HREF="#NetConfigure">
+network-aware
+</A> 
+mode, you will see a button labeled "Lookup Taxonomy".  Click on this
+button to perform an automatic look-up of the taxonomic lineage of the
+organism.  Sequin will perform the look-up by accessing the Taxonomy
+database and will fill out the Taxonomic Lineage and
+Division fields.
+
+#If you have any comments about the taxonomic lineage determined by
+Sequin, please submit these comments with your entry.  Under the Sequin
+File menu, select Edit Submitter Info.  Enter your comments in the box
+entitled "Special Instructions to Database Staff", on the Submission
+page.   
+
+*Modifiers Page
+
+#This page allows you to enter additional information about the source
+and/or organism.  Entering information is optional.
+
+**Source Subpage
+
+#Choose a modifier from the pull-down menu on the left side of the page
+and type the appropriate name on the right side of the page.  If you do
+not find appropriate modifiers in the scroll down list, you can enter
+additional source information as text in the field at the bottom of the
+page.  You may select as many modifiers as you want.
+
+#The following is a description of the available modifiers:
+
+#-Cell-line:  Cell line from which sequence derives.
+
+#-Cell-type:  Type of cell from which sequence derives.
+
+#-Chromosome:  Chromosome to which the gene maps.
+
+#-Clone:  Name of clone from which sequence was obtained.
+
+#-Clone-lib:  Name of library from which sequence was obtained.
+
+#-Collected-by:  Name of person who collected sample.  Do not use
+accented or non-ASCII characters.
+
+#-Collection-date:  Date sample was collected.  Must use format
+23-Mar-2005, Mar-2005, or 2005.
+
+#-Country: The country of origin of DNA samples used for epidemiological
+or population studies.
+
+#-Dev-stage:  Developmental stage of organism.
+
+#-Endogenous-virus-name:  Name of inactive virus that is integrated into
+the chromosome of its host cell and can therefore exhibit vertical
+transmission.
+
+#-Environmental-sample: Identifies sequence derived by direct molecular
+isolation from an unidentified organism.  Do not include extra text when
+using this modifier. 
+
+#-Frequency:  Frequency of occurrence of a feature.
+
+#-Fwd-PCR-primer-name:  Name or designation of forward primer used for
+amplification.
+
+#-Fwd-PCR-primer-seq:  Sequence of forward primer used for amplification.
+
+#-Genotype:  Genotype of the organism.
+
+#-Germline:  If the sequence shown is DNA and a member of the
+immunoglobulin family, this qualifier is used to denote that the sequence
+is from unrearranged DNA.  Do not include extra text when using this
+modifier. 
+
+#-Haplotype:  Haplotype of the organism.
+
+#-Identified-by:  Name of person who identified sample.  Do not use
+accented or non-ASCII characters.
+
+#-Isolation-source:  Describes the local geographical source of the organism
+from which the sequence was derived
+
+#-Lab-host:  Laboratory host used to propagate the organism from which
+the sequence was derived.
+
+#-Lat-Lon:  Latitude and longitude of location where sample was
+collected.  Preferred format is decimal degrees N/S E/W.
+
+#-Map:  Map location of the gene.
+
+#-Plasmid-name:  Name of plasmid from which the sequence was obtained.
+
+#-Plastid-name:  Name of plastid from which the sequence was obtained.
+
+#-Pop-variant:  Name of the population variant from which the sequence was
+obtained.
+
+#-Rearranged:  If the sequence shown is DNA and a member of the
+immunoglobulin family, this qualifier is used to denote that the sequence
+is from rearranged DNA.  Do not include extra text when using this
+modifier.
+
+#Rev-PCR-primer-name:  Name or description of reverse primer used for
+amplification.
+
+#Rev-PCR-primer-seq:  Sequence of reverse primer used for amplification.
+
+#-Segment: Name of viral genome fragmented into two or more nucleic acid
+molecules.
+
+#-Sex:  Sex of the organism from which the sequence derives.
+
+#-Subclone:  Name of subclone from which sequence was obtained.
+
+#-Tissue-lib:  Tissue library from which the sequence was obtained.
+
+#-Tissue-type:  Type of tissue from which sequence derives.
+
+#-Transgenic:  Identified organism that was the recipient of transgenic
+DNA.  Do not include extra text when using this modifier.
+
+**Organism Subpage
+
+#Choose a modifier from the pull-down menu on the left side of the page
+and type the appropriate name on the right side of the page.  If you do
+not find appropriate modifiers in the scroll down list, you can enter
+additional organism information as text in the field at the bottom of
+the page. You may select as many modifiers as you want.
+
+#The following is a description of the available modifiers:
+
+#-Acronym:  Standard synonym (usually of a virus) based on the initials
+of the formal name.  An example is HIV-1.
+
+#-Anamorph: The scientific name applied to the asexual phase of a fungus.
+
+#-Authority: The author or authors of the organism name from which sequence
+was obtained.
+
+#-Biotype:  See biovar.
+
+#-Biovar:  Variety of a species (usually a fungus, bacteria, or virus)
+characterized by some specific biological property (often geographical,
+ecological, or physiological).  Same as biotype.
+
+#-Breed: The named breed from which sequence was obtained (usually applied
+to domesticated mammals).
+
+#-Chemovar:  Variety of a species (usually a fungus, bacteria, or virus)
+characterized by its biochemical properties.
+
+#-Common:  Common name of the organism from which sequence was obtained.
+
+#-Cultivar:  Cultivated variety of plant from which sequence was obtained.
+
+#-Ecotype: The named ecotype (population adapted to a local habitat) from
+which sequence was obtained (customarily applied to populations of
+Arabidopsis thaliana).
+
+#-Forma: The forma (lowest taxonomic unit governed by the nomenclatural
+codes) of organism from which sequence was obtained. This term is usually
+applied to plants and fungi.
+
+#-Forma-specialis: The physiologically distinct form from which sequence
+was obtained (usually restricted to certain parasitic fungi).
+
+#-Group:  Do not select this item.
+
+#-Isolate:  Identification or description of the specific individual
+from which this sequence was obtained.  An example is Patient X14.
+
+#-Old name:  Do not select this item.
+
+#-Pathovar:  Variety of a species (usually a fungus, bacteria or virus)
+characterized by the biological target of the pathogen.  Examples
+include Pseudomonas syringae pathovar tomato and Pseudomonas syringae
+pathovar tabaci.
+
+#-Serogroup:  See serotype.
+
+#-Serotype:  Variety of a species (usually a fungus, bacteria, or virus)
+characterized by its antigenic properties.  Same as serogroup and
+serovar.
+
+#-Serovar:  See serotype.
+
+#-Specific-host:  When the sequence submission is from an organism that
+exists in a symbiotic, parasititc, or other special relationship with
+some second organism, use this modifier to identify the name of the
+host species.
+
+#-Specimen-voucher: An identifier of the individual or collection of the
+source organism and the place where it is currently stored, usually an
+institution.
+
+#-Strain:  Strain of organism from which sequence was obtained.
+
+#-Subgroup:  Do not select this item.
+
+#-Sub-species:  Subspecies of organism from which sequence was obtained.
+
+#-Substrain:  Sub-strain of organism from which sequence was obtained.
+
+#-Subtype:  Subtype of organism from which sequence was obtained.
+
+#-Synonym: The synonym (alternate scientific name) of the organism name
+from which sequence was obtained.
+
+#-Teleomorph: The scientific name applied to the sexual phase of a fungus.
+
+#-Type:  Type of organism from which sequence was obtained.
+
+#-Variety:  Variety of organism from which sequence was obtained.
+
+**GenBank Subpage
+
+#Please do not use this form.  This field is reserved for information from
+NCBI's taxonomy database.
+
+*Miscellaneous Page
+
+**Synonyms Subpage
+
+#If there are alternative names for the organism from which the sequence
+was derived, enter them here.  Please be aware that this is the
+appropriate field only for alternative names for the organism, not for
+alternative gene or protein names.
+
+**Cross-Refs Subpage
+
+#This page is for use by database staff only. 
+
+>Publications
+
+*Overview:  Descriptor or Feature?
+
+#Sequin allows two types of publications to be entered, Publication
+Descriptors and Publication Features.  Publication Descriptors are
+bibliographic references that, like other descriptors, cover an entire
+sequence, or an entire set of sequences, in an entry.  Publication
+Features are bibliographic references that, like other features, cover
+a specific interval on a given sequence.
+
+#Publications are entered into the Reference field of the database
+entry. References are citations of unpublished, in press, or published
+works that are relevant to the submitted sequence. Publications
+should provide information regarding the principle cloning and
+determination of the sequence within the record. 
+
+#In general, there is one publication describing a sequence, and a
+Publication Descriptor should be used. To enter a Publication
+Descriptor, select Publications under the Annotate menu and click on
+Publication Descriptor.
+
+#However, if one publication describes the cloning of the 5' end of a
+gene, and another publication describes the cloning of the 3' end of
+the gene, Publication features may be used.  To make a publication
+feature, choose Publication Feature in the Publications section of the
+Annotate menu.  Enter the information about the publication, and then
+enter the nucleotide interval to which the publication refers on the
+Location page.
+
+*Citation on Entry Form
+
+**Status
+
+#Using the radio buttons, select one of the three options:
+
+#-Unpublished: Select this option if a manuscript has been written but
+not yet submitted or has been submitted for publication but has not yet
+been accepted.
+
+#-In Press: The article has been accepted for publication but is not yet
+in print.
+
+#-Published: The article has been published.
+
+**Class
+
+#Using the radio buttons, select the type of publication in which the
+sequence will appear.
+
+#-Journal
+
+#-Book Chapter
+
+#-Book
+
+#-Thesis/Monograph
+
+#-Proceedings Chapter:  Abstract from a meeting
+
+#-Proceedings:  A meeting
+
+#-Patent
+
+#-Online Publication: Used for journals which publish strictly online and
+do not issue print copies.
+
+#-Submission
+
+**Scope
+
+#Using the radio buttons, select one of the options.
+
+#-Refers to the entire sequence: Most publications should be classified
+as such.
+
+#-Refers to part of the sequence: For use only when a publication
+discusses only part of the presented sequence.  You must enter the
+locations in the location tab in later forms.  This selection is only
+valid when adding a Publication feature, not descriptor.
+
+#-Cites a feature on the sequence: This selection should only be made in
+limited cases.  Its use must coincide with the use of the /citation
+qualifier on the given feature.
+
+#After you have filled out the Citation on Entry form, click on
+"Proceed" to see the next form.
+
+*Citation Information Form (General)
+
+**Authors Page
+
+***Names Subpage
+
+#Please enter the names of the authors.  Note that the first name of the
+author is listed first.  You can add as many authors to this page as
+necessary. After you type in the name of the third author, the box
+becomes a spreadsheet, and you can scroll down to the next line by
+using the thumb bar.  The suffix toggle allows the addition of common
+suffixes to the author name.  The consortium field should be used when
+a consortium is responsible for the sequencing or publication of the
+data.  The consortium should not be the department or institute
+affiliation of the authors.  Individual authors may be listed along
+with a consortium name.
+
+***Affiliation Subpage
+
+#Please enter information about the institution where the sequencing was
+performed.
+
+#Other pages in the Citation Information Form will be different,
+depending on the Class of publication selected in the Citation on Entry
+Form. Instructions for filling out the Citation Information Form for
+Journals is included here.
+
+*Citation Information Form (If Selected Class Was Journal)
+
+**Title Page
+
+#Enter title for manuscript in the box.
+
+**Journal Page
+
+#Fill in the appropriate Journal, Volume, Issue, Pages, Day, and Year
+fields by typing information into the boxes.  Select the month with the
+pop-up menu. If necessary, choose an option from the Erratum pop-up
+menu and explain the erratum. 
+
+#If you are running Sequin in its 
+<A HREF="#NetConfigure">
+network-aware
+</A> 
+mode, the program will look up the Title, Author, and Journal
+information in the MEDLINE database if you supply it with some minimal
+information.  For example, if you know the MUID (MEDLINE Unique
+Identifier) of the publication, enter it in the appropriate box and
+select "Lookup By MUID."  Sequin will automatically retrieve the rest
+of the information.  One way to find the MUID of the publication is to
+look up the publication with the NCBI's 
+
+<A HREF="http://www.ncbi.nlm.nih.gov/Entrez">
+Entrez
+</A> 
+service. Alternatively, if you do not know the MUID, enter the Journal,
+Volume, Pages, and Year.  Then select "Lookup Article".  Sequin will
+retrieve the missing Title and Author information.
+
+#The PubStatus toggle is used by database staff.  If you have used the
+"Lookup by MUID" or "Lookup by PMID" functions, this field may be
+populated.  Please do not edit the information.
+
+**Remark Page
+
+#This page is reserved for use by the database staff. 
+
+>File Menu
+
+*About Sequin
+
+#Details about the current version of Sequin.
+
+*Help
+
+#Launches the help documentation.
+
+*Open
+
+#Open an existing entry.  This option will open a record that has been
+previously saved in Sequin.  Furthermore, for analysis purposes, it can also
+open
+a FASTA-formatted sequence file.  The sequence will be displayed in Sequin and
+can be analyzed with tools such as CDD Search, but it should not be submitted,
+because it does not have the appropriate annotations.
+
+*Close
+
+#Close this entry.
+
+*Export 
+
+#Exports the currently displayed format to a file.  Do not use export
+ASN1 for submission of sequences to the database.
+
+*Duplicate View
+
+#Duplicates the entry.  You can then view the entry simultaneously in
+different Display Formats.
+
+*Save
+
+#Saves the entry.  Note:  This merely saves the entry so you can go back
+and edit it.  It does not prepare the entry for submission to the
+database, that is, it does not validate the entry.
+
+*Save As
+
+#See Save.
+
+*Save as Binary Seq-entry
+
+#Saves the file in a compressed format and should be used only when the
+file is to be imported into other analysis programs.  Do not use this
+option to save files for submission directly to GenBank.
+
+*Restore
+
+#Replaces the displayed record with a previously saved version.  This
+feature is useful if you have made unwanted changes since you last saved
+the record.
+
+*Prepare Submission
+
+#Prepares the entry for submission to the database.  See 
+<A HREF="#SubmittingtheFinishedRecordtotheDatabase">
+Submitting the Finished Record to the Database
+</A> 
+ in the Sequin help documentation.
+
+*Print
+
+#Prints the window that is currently selected.  The selected window can
+be one of the Sequin forms or pages, or the help documentation.
+
+*Quit
+
+#Exit from Sequin.
+
+>Edit Menu
+
+*Copy
+
+#Copy the selected item.
+
+*Clear
+
+#Clear the selected item.
+
+*Edit Sequence
+
+#To edit a single sequence, select the sequence identifier in the Target
+Sequence pop-up menu, and click on Edit sequence.  The sequence editor
+will be launched for that sequence.  The
+<A HREF="#SequenceEditor">
+sequence editor
+</A> 
+is discussed in more detail below.
+
+*Alignment Assistant
+
+#This option will launch the Alignment Assistant which is discussed in
+more detail
+
+<A HREF="#Workingwithsetsofalignedsequences">
+below
+</A> 
+.
+
+*Edit Submitter Info
+
+#Opens up the Submission Instructions form, which allows you to enter
+additional information about the person submitting the record.  Much of
+this information was entered on the first form in Sequin, the Submitting
+Authors form.
+
+#You can also save the information from the Submitting Authors form
+here, so that you can use it in subsequent Sequin submissions.  Click
+on "Edit Submitter Info" and, under the file menu in the resulting
+Submission Instructions form, click on Export Submitter Info to save
+the information to a file.  For subsequent Sequin submissions, if you
+have already saved the submittor information, click on Import Submitter
+Info under the File menu on the Submission page of the Submitting
+Authors form.
+
+**Submission Page
+
+#Indicate the type of submission.  If it is a new submission, select
+New.  If you are updating an existing submission in order to resubmit it
+to the databases, select Update.  Check either the "Yes" or "No" radio
+button to indicate if the record should be released before publication. 
+If you select "Yes", the entry will be released to the public after the
+database staff has added it to the database. If you select "No", fields
+will appear in which you can indicate the date on which the sequences
+should be released to the public.  The submission will then be held back
+until formal publication of the sequence or
+GenBank Accession number, or until the Release Date, whichever comes
+first. If you have any special instructions, enter them in the box at
+the bottom of the page.
+
+**Contact Page
+
+#Update the name, affiliation, or contact numbers of the person
+submitting the record.  Please supply a fax number to facilitate
+communication with database staff.
+
+**Citation Page
+
+#Update the names and affiliation of the people who should receive
+scientific credit for the generation of sequences in this entry.  The
+address should list the principal institution in which the sequencing
+and/or analysis was carried out.  If you are submitting the record as
+an update to the databases, explain the reason for the update on the
+Description subpage.
+
+*Update Sequence
+
+#This selection allows you to replace a sequence with another sequence,
+merge two sequences that overlap at their ends, 'patch' a corrected
+fragment of a sequence to the current sequence, or copy features from
+one sequence to another. 
+
+#Use Single Sequence to import a sequence in FASTA or ASN.1 format (for
+example, a sequence record that has already been saved in Sequin). If
+you are running Sequin in
+
+<A HREF="#NetConfigure">
+Network Aware mode,
+</A> 
+you can use Download Accession to import a record from Entrez. The
+Multiple Sequences option allows you to update multiple sequences using
+either FASTA or ASN.1 formats.  In either format, each sequence
+identifier must be identical in the new and old sequences. 
+
+#After you import the updated sequence, a new window will open that
+displays two graphical views and the text of the alignment of the new
+and old sequence. The first graphic displays the relative length of the
+two sequences and the length of the overlapping region between
+sequences.  The second graphic represents any inserts, deletions, or
+point changes within the aligned region between the new and old
+sequences.  Clicking on a region in this graphic will scroll to the
+corresponding nucleotide sequence in the alignment text below.
+
+#The Sequence Update box to the left shows the action that will be
+performed upon updating the sequence, i.e., no change, replace, extend
+5', extend 3', or patch.  The patch function allows you to replace an
+internal fragment of the sequence without affecting flanking regions.  
+You can also override the alignment between the new and old sequence
+using the Ignore alignment checkbox to force a sequence change of
+replace, Extend 5' or Extend 3'.  This option allows you to append new
+sequence to with no overlap.
+
+#If the current sequence has annotation, you can use the Existing
+Features box to determine whether the annotation should remain or be
+removed upon updating the sequence.  The Do not remove option is the
+default.  However, you may chose to remove annotated features only in
+the aligned area, outside the aligned area, or to remove all currently
+annotated features.
+
+#When updating via Download Accession or an ASN.1 file, the Import
+Features box allows you to specify whether features from the new file
+should be imported to the existing record.   The dialog offers
+different options for cases where the features on the new file are
+identical to those on the existing record. 
+
+#If you are using the Multiple Sequences option, you may choose to
+review the sequences and update them one by one using the Update this
+Sequence box at the bottom of the window.  You may skip a sequence
+update or choose to update all sequences at once without reviewing them
+in the Update Sequence dialog.
+
+#In any case, please carefully review the sequence and annotation in the
+record viewer after using the Update Sequence function.
+
+*Extend Sequence
+
+#This selection functions similar to the 
+
+<A HREF="#UpdateSequence">
+Update Sequence
+</A>
+
+function.  However, you can only extend the existing sequence in either
+the 5' or 3' direction in cases with no overlap between the existing
+and new sequences. 
+
+*Feature Propagate
+
+#This selection allows you to propagate any annotated feature from one
+sequence in an aligned set to other sequences within the set. For
+example, if one nucleotide sequence in the alignment contains a CDS
+feature, you can annotate a similar CDS on the other nucleotide
+sequences in the set. 
+
+#The default source of features to be propagated is the first member
+of the set.  If you would like to use a different entry as the source of
+the features, scope to that entry in the Target Sequence menu before 
+selecting Feature Propagate from the Edit menu.
+
+#The Feature Propagate window allows you to select which sequences
+should receive the new annotation and which features will be
+propagated. You can also select whether the features will be extended
+or split at gaps in the alignment.  The split at gaps selection will
+produce two features, one on either side of the gap within the
+alignment.  If you are propagating a CDS feature, you may specify that
+the translation end or extend through internal stop codons.  You may
+also extend the translation after the stop codon on the source entry by
+chosing to translate the CDS after partial 3' boundary.  If the CDS
+that you are propagating to other records is partial on either end, you
+should select the 'Cleanup CDS partials after propagation' check box. 
+This will retain the partial nature of the CDS features on all records.
+ The fuse adjacent propagated intervals function will create one
+feature from two of the same type that contain abutting nucleotide
+intervals due to the nature of the alignment used for propagation.
+
+*Add Sequence
+
+#This selection allows you to add a new sequence to an existing
+population, mutation, phylogenetic, or environmental sample set.
+You may import the new entry in FASTA format or ASN.1 format (for
+example, a sequence record that has been saved in Sequin). 
+
+*Parse File to Source
+
+#This selection allows you to add unique information for one source
+qualifier for each of the records in a batch or set.  The input file
+must be in the format of a tab-delimited, two column table.  The first
+column should list the SeqID exactly as it was listed in the original
+FASTA file.  The second column should list the text value for the
+desired source qualifier for each record. Once the file has been
+imported, a pop-up box will appear with the source qualifiers listed in
+the pull down menus.  The qualifiers are separated into three menus:
+one for taxonomic information, one for the Organism modifiers and one
+for the Source modifiers.   For example, in order to add the clone
+designations 57 and 49 to the sequences labeled seq1 and seq2, the table
+
+seq1   57
+seq2   49
+
+should be used and clone should be selected from the Source modifiers
+pull-down menu.
+
+>Search Menu
+
+*Find ASN.1
+
+#Under this command, you can find and replace strings of letters in
+those fields of your submission that contain manually entered data. 
+The fields that can be altered are Locus, Definition, Accession,
+Keywords, Source, Reference, and Features. To use this option, select
+Find and fill the Find and Replace lines with the appropriate text. 
+Note that you cannot edit the sequence in this way.
+
+*Find FlatFile
+
+#Under this command, you can find strings of letters in all fields of
+your submission.  You can use the Find First and Find Next buttons to
+identify the specified text sequentially through the flatfile. 
+
+*Find by Gene
+
+#This option allows you to move quickly in the record viewer to a gene
+feature containing the specified gene symbol.
+
+*Find by Protein
+
+#This option allows you to move quickly in the record viewer to a CDS
+feature containing the specified product name.
+
+*Find by Position
+
+#This option allows you to move quickly in the record viewer to any
+feature annotated at the specified nucleotide location.
+
+*Validate
+
+#This option detects discrepancies between the format of your submission
+and that required by the database selected for entry.  If discrepancies
+are present, it suggests ways in which to correct them. See the topic on
+
+<A HREF="#SubmittingtheFinishedRecordtotheDatabase">
+Submitting the Finished Record to the Database
+</A> 
+ in the Sequin help documentation.
+
+*CDD Search 
+
+#Performs a CDD BLAST search of the selected sequence against the
+NCBI's 
+<A HREF="http://www.ncbi.nlm.nih.gov/Structure/cdd/cdd.shtml">
+Conserved Domain Database
+</A>
+.  To do a CDD BLAST search, Sequin must be in its network aware mode.  
+
+#CDD currently contains domains derived from two popular collections,
+Smart and Pfam, plus contributions from colleagues at NCBI.  The source
+databases also provide descriptions and links to citations.  Since
+conserved domains correspond to compact structural units, CDs contain
+links to 3D-structure via Cn3D whenever possible.
+
+#The results of the CDD search will be displayed in the record
+viewer.  These results are for your use only and should be removed
+from the record before submission.
+
+*Vector Screen
+
+#This option allows you to run a BLAST search of your nucleotide
+#sequence(s) against NCBI's 
+<A HREF="http://www.ncbi.nlm.nih.gov/VecScreen/UniVec.html">
+UniVec
+</A>
+database.  We highly recommend that you run this analysis and remove
+any vector contamination before submission.  The UniVec database
+contains only one copy of every unique sequence segment from a large
+number of vectors.   It also contains sequences for adapters, linkers
+and primers commonly used.  
+
+#To run Vector screen on a submission containing multiple sequences,
+scope to ALL SEQUENCES in the Target Sequence pull-down before running
+the analysis.  If there are many sequences, a status bar will appear
+indicating the progress of the search.  If no contamination is found, a
+pop-up box will appear to notify you.  If contamination is found, a
+miscellaneous feature will be annotated on the flatfile with the
+location of the contamination.  Details will include the relative
+strength of the BLAST hit.  You must trim the nucleotide sequence to
+remove this feature before submission.
+
+*ORF Finder
+
+#The ORF Finder shows a graphical representation of all the open reading
+frames (ORFs) in the nucleotide sequence.  This tool allows you to
+select ORFs and have them appear as coding sequence (CDS) features on
+the sequence record. 
+
+#The ORFs, indicated by colored boxes, are defined as the longest
+sequence containing a start codon and a stop codon.  If the
+entire nucleotide sequence is an open reading frame but does not
+contain an initial start or a terminal stop codon, it will be indicated
+as an ORF as well.  All six reading frames are shown; the top three
+boxes represent the plus strands, and the bottom three boxes the minus
+strands.  The nucleotide sequence intervals of the ORFs are displayed in
+descending length order on the right side of the window.  Intervals on
+the complementary (minus) strand are indicated by a 'c'.  ORFs can be
+selected by clicking either directly on them or on the sequence
+interval.  The ORF length button selects the length of ORFs that are
+displayed.  For example, the default of 10 shows all ORFs that are
+greater than 10 nucleotides in length.  Clicking on the box labelled ORF
+changes the display; potential start codons are indicated in white, and
+stop codons in red.  ORFs can be selected in this display also.  The
+definition of start and stop codons is dependent on the genetic code
+that was selected. Be sure to choose the appropriate genetic code for
+translating the sequence before opening the ORF finder. 
+
+*Select Target
+
+#This option changes the sequence that is selected in the Target
+Sequence pop-up.  Type the SeqID of the sequence in the box, and the
+record viewer will be updated to display that sequence.
+
+>Misc Menu
+
+*Style Manager
+
+#The Style manager allows you to choose between different formats in
+which to view the Graphical Display Format.  The graphical display is
+selected by choosing the Graphic display format on the record viewer. 
+Using the Style Manager, you can also copy the style or modify it to
+suit your needs.
+
+*Net Configure
+
+#As a default, Sequin is available as a stand-alone program.  However,
+the program can also be configured to exchange information with the NCBI
+(GenBank) over the Internet.  The network-aware mode of Sequin is
+identical to the stand-alone mode, but it contains some additional
+useful options.  
+
+#Sequin will only function in its network-aware mode if the computer on
+which it resides has a direct Internet connection.  Electronic mail
+access to the Internet is insufficient.  In general, if you can install
+and use a WWW browser on your system, you should be able to install and
+use network-aware Sequin.  Check with your system administrator or
+Internet provider if you are uncertain as to whether you have direct
+Internet connectivity.  
+
+#There are two ways to change Sequin into its network-aware mode.  If
+you are still on the initial Welcome to Sequin form, select Net
+Configure under the Misc menu.  If you have already worked on a Sequin
+submission and are looking at the record in the record viewer, select
+the Net Configure option from the Misc menu.
+
+#Most users will be able to use the default (Normal) settings on the
+Network Configuration page; select Accept to complete the configuration
+process.
+
+#If a "Normal" Connection does not work, you may need to select the
+Firewall Connection.  Contact your system administrator to determine
+what to enter into the Proxy and Port fields.  If you do not have
+access to the domain name server (DNS), uncheck this box.
+
+#The Timeout pop-up selects the length of time that your local copy of
+Sequin will wait for a reply from the NCBI server.  You may need to set
+this number higher (i.e., 60 seconds or 5 minutes) if you are outside
+of the United States or have a bad internet connection.
+
+#If you have problems setting up the network configuration, contact
+
+<a href="mailto:info@ncbi.nlm.nih.gov"> 
+info@ncbi.nlm.nih.gov.
+</a>
+
+#If you would like to change Sequin back to its stand-alone mode, select
+Net Configure again from the Misc menu.  Click on Connection: None.
+
+#The network-aware mode of Sequin allows you to perform a number of
+additional, important functions.  These functions all appear as
+additional menu items.  A brief description of these functions follows.
+Further descriptions are available as indicated elsewhere in the help
+documentation.
+
+**Updating Existing GenBank Records 
+
+#Using Sequin in its network-aware mode, you can download an existing
+GenBank record from Entrez using the GenBank accession number or GI
+identification number (NID). You can then use Sequin to make any
+necessary changes to the record, and resubmit it to GenBank as a
+sequence update.
+
+<A HREF="#WelcometoSequinForm">
+Instructions
+</A> 
+for submitting sequence updates are presented under the Welcome to
+Sequin Form. You can download any record from Entrez and look at it in
+Sequin. However, you can only formally update those records which you
+have submitted since submitters retain editorial control of their
+records.
+
+**Performing a PubMed Look-Up  
+
+#In its network-aware mode, Sequin can import the relevant sections of a
+PubMed record directly into a sequence submission record.  Rather than
+typing in the entire citation, you can enter minimal information, such
+as the PubMed Unique Identifier (PMID), or Journal name, volume, year,
+and pages.  The 
+
+<A HREF="#JournalPage">
+PubMed lookup
+</A> 
+is explained in the section of the documentation entitled Publications.
+
+**Performing a Taxonomy Look-up  
+#In its network-aware mode, Sequin can look
+up the taxonomic lineage of an organism from the NCBI's Taxonomy
+database.  This look-up is normally performed by the NCBI database staff
+after the record has been submitted to GenBank.  If you look up the
+taxonomy before submitting the sequence, you can make a note in the
+record of any disagreements.  The 
+<A HREF="#LineageSubpage">
+taxonomy lookup 
+</A> 
+is explained in the section of the documentation covering
+Biological Source: Organism page: Lineage subpage.
+
+**Accessing the NCBI DeskTop  
+#The NCBI DeskTop displays the internal
+structure of the record being viewed in Sequin.  The 
+<A HREF="#NCBIDeskTop">
+DeskTop
+</A> 
+is explained under the Misc menu.
+
+*NCBI DeskTop
+
+#This option is only available if you are running Sequin in its 
+<A HREF="#NetConfigure">
+network-aware
+</A> 
+mode.  
+
+#The NCBI DeskTop provides a view of the internal structure of the
+Sequin record, the ASN.1.  Its display resembles a Venn diagram and
+represents all the structures represented in the ASN.1 data model.
+
+#In addition, a number of undocumented software tools from the NCBI can
+be accessed from the DeskTop.  These tools are components of the NCBI
+portable software Toolkit.  You can also customize these functions using
+the Toolkit with your own software tools.  The Toolkit and its
+documentation are available from the NCBI by anonymous 
+<A HREF="ftp://ftp.ncbi.nih.gov/toolbox/README"> 
+FTP. 
+</A>
+
+#The DeskTop should only be used by very seasoned users.  At this time,
+we are not providing any documentation for these specialized functions.
+
+>Annotate Menu
+
+#This menu allows you to enter features and descriptors on the sequence.
+
+#The first six options, Genes and Named Regions, Coding Regions and
+Transcripts, Structural RNAs, Bibliographic and Comments, Sites and
+Bonds, and Remaining Features refer to types of Features that can be
+added to the sequence. Features are described in more detail in the
+above section entitled
+<A HREF="#Features">
+Features.
+</A>
+
+#If you are submitting a set of similar sequences, you can add the same
+feature across the entire span of each by using the Batch Feature Apply
+option.  The feature must span the entire nucleotide sequence of each
+member; you can not annotate specific nucleotide locations using this
+option (for this, see
+
+<A HREF="#FeaturePropagate">Feature Propagate</A>).
+
+For each feature, you will be prompted to designate whether the feature
+is 5' or 3' partial and whether is is on the plus or minus strand.  You
+may also add a comment or other qualifier to the feature.  The Add
+Qualifier option allows you to add a qualifier to an existing feature. 
+You must specify the feature and qualifier in the Add Qualifier pop-up
+box.  Source qualifiers can be added to all entries using the Add
+Source Qualifier option.  Qualifiers specific to the CDS and gene can
+be added using Add CDS-Gene-Prot-mRNA and RNA qualifiers using Add RNA
+Qual.  In each case, a pop-up box appears with qualifier options
+appropriate for that feature.
+
+#The Batch Feature Edit function allows you to edit existing qualifiers.
+ For each menu choice, a pop-up box allows you to select the feature
+containing the qualifier and the specific qualifier to be edited.  You
+can use the Find/Replace text boxes to edit the information contained
+within the qualifier.
+
+#The Publications option allows you to add a Publication Feature or
+Publication Descriptor to the record.  Publications are described in
+more detail in the above section entitled
+
+<A HREF="#Publications">
+Publications.
+</A>  
+
+#The Descriptors option allows you to add Descriptors to the
+record.  Descriptors are described in more detail in the section
+entitled
+<A HREF="#Descriptors">
+Descriptors,
+</A>
+above.
+
+#The Generate Definition Line option will generate a title for your
+sequence based on the information provided in the record.  This option
+will work for single sequences as well as sets of sequences, and can
+handle complex annotations with multiple features.  The title will
+follow GenBank conventions, but may be modified by the database staff
+if it is not appropriate.  The title you enter here will replace any
+title you entered elsewhere in the submission, for example, any title
+that was attached to the nucleotide sequence.  For a description of
+definition lines, see
+
+<A HREF="#NucleotideDefinitionLine(Title)">
+Nucleotide Definition Line (Title)
+</A>
+, above.
+
+>Options Menu
+
+*Font
+
+#Use this item to change the display font.  From the pop-up menus,
+choose the style and size of type.  For additional changes, mark the
+Bold, Italic, or Underline check boxes. The default font is 10-point
+Courier.
+
+>Sequence Editor
+
+#This editor allows you to modify the nucleotide or amino acid sequences
+and corresponding annotation in your entry.  Although the Sequence Editor
+does allow you to undo changes you make to the sequence, we strongly
+suggest that you save a copy of the entry before launching the Sequence
+Editor so that you can revert to it if necessary.
+
+*Starting the Sequence Editor
+
+#The sequence that appears in the editor is dependent on the sequence(s)
+selected in the Target Sequence pull-down list.  There are two ways to
+launch the sequence editor for nucleotide sequences.  First, you can 
+double click within sequence in any display format of the record viewer.
+A window containing the DNA sequence will appear.  Second, in the record
+viewer, select the sequence that you would like to edit in the Target
+Sequence pop-up menu.  Click on Edit Sequence under the Edit menu. You
+can launch the editor for protein sequences by selecting the protein
+sequence in the Target Sequence pop-up menu and double clicking within
+the protein sequence. A window containing the protein sequence will
+appear.
+
+*Moving around the Sequence Editor
+
+#The cursor can be moved with the mouse or the arrow keys.  The display
+window will change to show the position of the cursor.  The sequence
+location of the first residue on each line is indicated on the left side
+of the window.  The cursor location, or the range of sequences selected
+by the mouse, is shown in the upper left corner of the window.  If you
+want to move the cursor to a specific location, type the number in the
+box on the top left of the sequence editor window, and hit the Go to
+button.  If you want to look at a specific sequence, but not move the
+cursor to it, type the number in the upper right box of the window and
+hit the Look at button.
+
+*Editing Sequence and Existing Annotation
+
+#Select a piece of sequence by highlighting it with the mouse.  To
+select the entire sequence, click on a sequence location number on the
+left side of the window.  Any sequence that is highlighted in the
+Sequence Editor will show up as a box on the sequence when it is viewed
+in the Graphic Display Format.
+
+#One way to insert and delete residues is with the mouse.  Move the
+cursor to the appropriate location and type.  Text will be inserted to
+the left of the cursor.  Delete sequence with the backspace or delete
+key.  Text will be deleted to the left of the cursor.  To delete a block
+of sequence, highlight it with the mouse and use the delete or backspace
+key.
+
+#Another way to insert and delete residues is with options under the Edit
+menu of the Sequence Editor.  Use Cut to remove, or Copy to copy,
+highlighted residues.  Copied residues can then be pasted elsewhere
+within the sequence by using the Paste option.
+
+#Features annotated via the record viewer will be displayed in a
+graphical format within the sequence editor.  CDS features will be be
+displayed as a blue line across the appropriate nucleotide location.  All
+other features will be displayed as a black line. To the left of the
+line, the name of the feature is displayed.  In the case of CDS or mRNA
+features, the product name is shown.  For gene features, the gene locus
+is shown.
+
+#Double-clicking on the feature will launch the feature editor just as in
+the record viewer.  However, you can also change the nucleotide location
+of any feature within the graphical view.  To move the entire feature,
+select the feature and drag it to the appropriate location while holding
+down the mouse button.  To alter the 5' or 3' end of a feature,  click on
+the feature's end and drag to the new location while holding down the
+mouse button.
+
+#Before moving the nucleotide locations of a CDS feature, it may be
+useful to view the codons in the current translation.  You can do this by
+clicking on the feature line and releasing the mouse button.  A grid will
+be displayed that shows the triplet location for the current annotation. 
+Once you have changed the nucleotide location of a CDS feature in the
+graphical view, you can see the new translation by using the Translate
+CDS button at the bottom of the window.
+
+#To save changes you have made to the sequence, press the Accept button
+at the bottom of the Sequence Editor display window.  If you do not want
+to save the changes, press the Cancel button at the bottom of the
+Sequence Editor display window.  Selecting either Accept or Cancel will
+quit the Sequence Editor and return you to the record viewer.  Any
+changes you make will not become a permanent part of the Sequin record
+until you Save the record in the record viewer.  
+
+#New features can be added using the Features menu.
+
+*Sequence Editor Window Buttons
+
+**Go to
+
+#Moves the cursor to the indicated location.
+
+**Look at
+
+#Moves the window to the indicated location without moving the cursor.
+
+**Merge Feature Mode/Split Feature Mode
+
+#In merge mode, any new sequence that is entered into a region spanned
+by an existing feature becomes part of that feature.  For example, if
+you enter new sequence in the middle of a CDS, that sequence will be
+translated as part of the CDS.  In split mode, the new sequence
+interrupts the feature.  For example, if you enter new sequence in the
+middle of a CDS, the CDS will be interrupted by that sequence (see the
+location of the CDS in the record viewer).
+
+**Numbering
+
+#Allows the sequence location numbering to be hidden, displayed on the
+side, or displayed on the top of the sequence.
+
+**Grid
+
+#Allows the display to show a grid separating each feature and sequence
+for easier viewing.
+
+**Show/Hide Features
+
+#This box toggles between hiding and showing the features on a sequence.
+
+**Accept
+
+#Closes the Sequence Editor after saving all of the changes made to
+sequences and features.  
+
+**Cancel
+
+#Closes the Sequence Editor without saving any changes made to sequences or
+features.
+
+**Translate CDS
+
+#Allows translation of coding region features after the location has been
+changed within the graphical view.
+
+*Sequence Editor File Menu
+
+**Export
+
+#Allows the export of a range of sequence as a FASTA file or text file. 
+Using the text option will also export overlapping features if they are
+displayed.  If the features are first hidden, only the sequence will be
+exported.  All protein translations displayed at the time of export, will
+be exported as well. 
+
+**Accept
+
+#Closes the Sequence Editor after saving all of the changes made to
+sequence and features.
+
+**Cancel
+
+#Closes the Sequence Editor without saving any changes made to sequences
+of features.
+
+*Sequence Editor Edit Menu
+
+**Undo
+
+#Undoes all actions performed in the Sequence Editor since the last save.
+
+**Redo
+
+#Restores changes removed with Undo option
+
+**Cut
+
+#Removes the highlighted sequence.  This sequence can be pasted elsewhere.
+
+**Paste
+
+#Pastes a cut or copied sequence to the right of the cursor.
+
+**Copy
+
+#Copies the highlighted sequence.  This sequence can be pasted elsewhere.
+
+**Find
+
+#Allows you to find DNA or amino acid sequence patterns in your sequence.
+ The search is case insensitive.  To find an exact match to a DNA
+sequence pattern, type the pattern in the box. The number of items found
+will be displayed and you can toggle through each instance with the Find
+Next button.   To find the reverse complement of the pattern, click on
+the reverse complement box at the bottom of the pop-up box.
+
+#To find an exact match to an amino acid seqeunce pattern, type that
+sequence in the box, and click on "translate sequence".  Sequin will look
+for all occurrences of that pattern in all six open reading frames.  The
+DNA sequence encoding that protein sequence in any of the six reading
+frames will be hightlighted.
+
+**Translate CDS
+
+#Allows translation of coding region features after the location has been
+changed within the graphical view.
+
+**Complement
+
+#Shows the complement of the submitted strand underneath the original.
+
+**Reading Frames 
+
+#Shows the indicated phase translation of the selected coding sequence.
+You can select any or all of the six reading frames, all reading frames
+or all positive or negative frames.
+
+**Protein Mismatches
+
+#Indicates amino acid which does not match conceptual translation
+following a nucleotide sequence change.  The original amino acid sequence
+will be displayed until the Translate CDS function is used.  Differences
+will be indicated by a red box around the amino acid abbreviation.
+
+**On-the-fly Protein Translations
+
+#Creates a second amino acid sequence in the display which retranslates
+as the nucleotide sequence is changed to allow side-by-side comparison to
+the original amino acid sequence. 
+
+*Sequence Editor Features Menu
+
+#The menu contains a long list of all features that can be annotated on a
+sequence.  These features are the same as those that are accessible
+through the main Sequin Annotate menu.
+
+#You can annotate features either in the Annotate menu or in the Sequence
+Editor. If you annotate them in the Annotate menu, you must type in the
+nucleotide sequence location of the feature.  However, if you add
+features from the Sequence Editor, you can highlight the sequence that
+the feature covers, and the location of the sequence will be
+automatically entered in the feature location box.  Additional
+explanations of how to annotate features are provided in the section on
+<A HREF="#Features">
+Features.
+</A>
+
+>Working with Sets of Aligned Sequences
+
+#Sequin allows you to work with aligned sets of closely related
+nucleotide sequences that are part of a population, phylogenetic, or
+mutation study.  If the sequences are imported in a pre-aligned format,
+such as PHYLIP, Sequin uses this alignment.  If the sequences are
+imported individually in FASTA format, Sequin can generate its own
+alignment.
+
+#You can view the aligned sequences in the Sequence Alignment Editor. In
+the record viewer, select All Sequences in the Target Sequences menu,
+and select the Alignment Display Format.  
+
+#The Alignment Assistant is launched by selecting Alignment Assistant
+from the Edit menu in the record viewer. It can be used to apply
+features to the whole set of sequences using the alignment coordinates.
+Rather than calculating the nucleotide coordinates for every feature on
+every nucleotide sequence, you may select the feature's location using
+its alignment coordinates and apply it to every member of the set
+simultaneously.  Sequin will calculate the nucleotide locations as they
+apply to each member of the set.
+
+*Alignment Assistant Window Buttons
+
+**Go to
+
+#The Go to alignment position and Go to sequence position buttons both
+scroll the aligment assistant so that the requested position is
+visible. If the requested position is already visible, nothing will
+happen.  Unlike the Sequence editor window, the 'go to' button does not
+control the cursor position.
+
+**Numbering
+
+#Allows the sequence location numbering to be hidden, displayed on the
+side, or displayed on the top of the sequence.
+
+**Grid
+
+#Allows the display to show a grid separating each feature and sequence for easier viewing.
+
+**Features Toggle
+
+#It is possible to view annotated features in the aligment assistant. 
+The features are displayed as a bar underneath the coordinates for that
+feature. The identity of the feature is displayed in the left-hand
+column.  The default selection is to have the features Hidden.  You may
+display the features associated only with the Target Sequence or
+features annotated on All Sequences in the alignment.
+
+*Alignment Assistant File Menu
+
+**Export
+
+#Allows you to export the alignment to a file in three different
+formats.  The contiguous and interleaved options export the alignment
+accordingly in FASTA+GAP format.  The text representation option saves
+the alignment as it appears in the Alignment Assistant.  Note that with
+this option features are included if they are displayed at the time of
+export.
+
+**Close
+
+#Closes the Alignment Assistant window and saves any changes made.  
+
+*Alignment Assistant Edit Menu
+
+**Remove Sequences from Alignment
+
+#Allows you to remove selected sequence(s) from the alignment.  Select
+the sequence by clicking on it.  You can select multiple sequences by
+holding down the control key.  The sequence will then be highlighted in
+grey.  Note that this option will remove the sequence from the
+alignment, but it is still present in your submission.
+
+**Validate Alignment
+
+#Checks for problems with the alignment.  If errors are reported, please
+review and attempt to fix your alignment before submission.
+
+**Propagate Features
+
+#This function is the same as that available under the Edit Menu in the
+record viewer.  A full description is available
+
+<A HREF="#FeaturePropagate">
+above
+</A>
+.
+
+*Alignment Assistant View Menu 
+
+**Target
+
+#Allows you to select a sequence within the alignment as the target
+sequence.  This can also be done by double-clicking on the sequence
+within the alignment.  The SeqID of the target sequence will be
+displayed in red.  Features can be displayed on the target sequence
+only and it is the sequence used for comparison in the 
+
+<A HREF="#ShowSubstitutions">
+Show Substitutions
+</A>
+view.
+
+**Show Substitutions
+
+#Changes the alignment view so that identities are replaced with a "."
+and only substitutions are shown.  The substitutions and identities are
+relative to the selected target sequence.
+
+*Alignment Assistant Features Menu
+
+#Allows the annotation of features to a single sequence or all sequences
+within the alignment.  All features available in this menu are
+discussed through the main Sequin Annotate menu.
+
+#Select the feature location by clicking the start location on one of
+the sequences, keeping the mouse button depressed, drag the cursor to
+the end of the feature location.  The selected area will now be
+underlined and red and the alignment coordinates of this area will be
+displayed in the upper left of the Alignment Assistant window. 
+
+**Apply to Target Sequence
+
+#Allows you to choose a feature to be applied only to the target
+sequence.  The locations may be entered manually or can be determined
+based on highlighting the sequence as described above.
+
+**Apply to Alignnent
+
+#Allows you to add the selected feature to all sequences within your
+alignment based on the alignment coordinates you have selected.  Note
+that in the feature pop-up boxes in this menu, the Location will always
+be entered as the location relative to the alignment coordinates.
+
+<HR> 
+
+<CENTER>
+<P>&nbsp
+<P CLASS=medium1><B>Questions or Comments?</B>
+<BR>Write to the <A HREF="mailto:info@ncbi.nlm.nih.gov">NCBI Service
+Desk</A></P>
+<P CLASS=medium1>Revised December 2, 2005
+
+</CENTER>
+
+<!--  end of content  -->  
+
+</body>
+</html>
+
diff --git a/websoft/data/blast/sgmlbb.ent b/websoft/data/blast/sgmlbb.ent
new file mode 100755 (executable)
index 0000000..1db7e44
--- /dev/null
@@ -0,0 +1,55 @@
+52
+gt     >
+lt     <
+amp    &
+agr    alpha
+Agr    Alpha
+bgr    beta
+Bgr    Beta
+ggr    gamma
+Ggr    Gamma
+dgr    delta
+Dgr    Delta
+egr    epsilon
+Egr    Epsilon
+zgr    zeta
+Zgr    Zeta
+eegr   eta
+EEgr   Eta
+thgr   theta
+THgr   Theta
+igr    iota
+Igr    Iota
+kgr    kappa
+Kgr    Kappa
+lgr    lambda
+Lgr    Lambda
+mgr    mu
+Mgr    Mu
+ngr    nu
+Ngr    Nu
+xgr    xi
+Xgr    Xi
+ogr    omicron
+Ogr    Omicron
+pgr    pi
+Pgr    Pi
+rgr    rho
+Rgr    Rho
+sgr    sigma
+Sgr    Sigma
+sfgr   s
+tgr    tau
+Tgr    Tau
+ugr    upsilon
+Ugr    Upsilon
+phgr   phi
+PHgr   Phi
+khgr   chi
+KHgr   Chi
+psgr   psi
+PSgr   Psi
+ohgr   omega
+OHgr   Omega
+
+
diff --git a/websoft/data/blast/taxlist.txt b/websoft/data/blast/taxlist.txt
new file mode 100755 (executable)
index 0000000..e90fc91
--- /dev/null
@@ -0,0 +1,857 @@
+13
+Acanthamoeba healyi            1       4       INV     65661
+Acanthocybium solandri         1       2       VRT     13323
+Acanthopanax sessiliflorus             1       1       PLN     105886
+Acetabularia acetabulum                6       1       PLN     35845
+Acidithiobacillus ferrooxidans         11      0       BCT     920
+Acipenser baerii       Siberian sturgeon       1       2       VRT     27689
+Acrossocheilus paradoxus               1       2       VRT     76593
+Actinobacillus actinomycetemcomitans           11      0       BCT     714
+Actinobacillus pleuropneumoniae                11      0       BCT     715
+Acyrthosiphon pisum    pea aphid       1       5       INV     7029
+Aedes aegypti  yellow fever mosquito   1       5       INV     7159
+Aegilops speltoides            1       1       PLN     4573
+Aegilops tauschii              1       1       PLN     37682
+Aepyceros melampus     impala  1       2       MAM     9897
+Aequorea victoria              1       4       INV     6100
+Aeromonas hydrophila           11      0       BCT     644
+African swine fever virus              1       0       VRL     10497
+Agaricus bisporus              1       4       PLN     5341
+Agrobacterium tumefaciens              11      0       BCT     358
+Aids-associated retrovirus             1       0       VRL     11966
+Ajellomyces capsulatus         1       4       PLN     5037
+Alexandrium tamarense          1       4       PLN     2926
+Allium cepa    onion   1       1       PLN     4679
+Allium sativum garlic  1       1       PLN     4682
+Alstroemeria peruviana         1       1       PLN     245552
+Amblyomma americanum           1       5       INV     6943
+Amblyomma variegatum           1       5       INV     34610
+Amborella trichopoda           1       1       PLN     13333
+Ambystoma maculatum    spotted salamander      1       2       VRT     43114
+Ambystoma mexicanum    axolotl 1       2       VRT     8296
+Amphidinium carterae           1       4       PLN     2961
+Anaplasma marginale            11      0       BCT     770
+Anaplasma phagocytophilum              11      0       BCT     948
+Anas fulvigula         1       2       VRT     75846
+Anas platyrhynchos             1       2       VRT     8839
+Ancylostoma caninum    dog hookworm    1       5       INV     29170
+Ancylostoma ceylanicum         1       5       INV     53326
+Anguilla japonica      Japanese eel    1       2       VRT     7937
+Anolis sagrei  brown anole     1       2       VRT     38937
+Anopheles arabiensis           1       5       INV     7173
+Anopheles funestus             1       5       INV     62324
+Anopheles gambiae      African malaria mosquito        1       5       INV     7165
+Anopheles maculipennis         1       5       INV     41429
+Antheraea yamamai      Japanese oak silkmoth   1       5       INV     7121
+Antirrhinum majus      snapdragon      1       1       PLN     4151
+Aotus nancymaae        Ma's night monkey       1       2       PRI     37293
+Apis mellifera honey bee       1       5       INV     7460
+Apium graveolens               1       1       PLN     4045
+Aplysia californica    California sea hare     1       5       INV     6500
+Apodemus sylvaticus    European woodmouse      1       2       ROD     10129
+Arabidopsis lyrata             1       1       PLN     59689
+Arabidopsis suecica            1       1       PLN     45249
+Arabidopsis thaliana   thale cress     1       1       PLN     3702
+Arachis hypogaea       peanut  1       1       PLN     3818
+Araneus ventricosus            1       5       INV     182803
+Archaeoglobus fulgidus         11      0       BCT     2234
+Argopecten irradians           1       5       INV     31199
+Artemia franciscana            1       5       INV     6661
+Ascaris lumbricoides   common roundworm        1       5       INV     6252
+Ascaris suum   pig roundworm   1       5       INV     6253
+Ashbya gossypii                1       3       PLN     33169
+Asparagus officinalis  garden asparagus        1       1       PLN     4686
+Aspergillus flavus             1       4       PLN     5059
+Aspergillus fumigatus          1       4       PLN     5085
+Aspergillus nidulans           1       4       PLN     162425
+Aspergillus niger              1       4       PLN     5061
+Aspergillus oryzae             1       4       PLN     5062
+Aspergillus terreus            1       4       PLN     33178
+Aspergillus tubingensis                1       4       PLN     5068
+Ateles geoffroyi       black-handed spider monkey      1       2       PRI     9509
+Avena sativa   oat     1       1       PLN     4498
+Avian infectious bronchitis virus              1       0       VRL     11120
+Avicennia marina               1       1       PLN     82927
+Azotobacter vinelandii         11      0       BCT     354
+B19 virus              1       0       VRL     10798
+Bacillus anthracis             11      0       BCT     1392
+Bacillus atticus               1       5       INV     36825
+Bacillus cereus                11      0       BCT     1396
+Bacillus clausii               11      0       BCT     79880
+Bacillus grandii               1       5       INV     55088
+Bacillus licheniformis         11      0       BCT     1402
+Bacillus lynceorum             1       5       INV     73234
+Bacillus subtilis              11      0       BCT     1423
+Bacillus thuringiensis         11      0       BCT     1428
+Bacillus whitei                1       5       INV     57870
+Bacteroides fragilis           11      0       BCT     817
+Beauveria bassiana             1       4       PLN     176275
+Bemisia tabaci         1       5       INV     7038
+Beta vulgaris          1       1       PLN     161934
+Betula pendula European white birch    1       1       PLN     3505
+Bifidobacterium longum         11      0       BCT     216816
+Biomphalaria glabrata  bloodfluke planorb      1       5       INV     6526
+Biomphalaria pfeifferi         1       5       INV     112525
+Biphyllus lunatus              1       5       INV     197003
+Bluetongue virus               1       0       VRL     40051
+Blumeria graminis              1       4       PLN     34373
+Bombyx mandarina       wild silkworm   1       5       INV     7092
+Bombyx mori    domestic silkworm       1       5       INV     7091
+Boophilus microplus    southern cattle tick    1       5       INV     6941
+Bordetella bronchiseptica              11      0       BCT     518
+Bordetella pertussis           11      0       BCT     520
+Borrelia afzelii               11      0       BCT     29518
+Borrelia burgdorferi   Lyme disease spirochete 11      0       BCT     139
+Borrelia garinii               11      0       BCT     29519
+Bos indicus    zebu    1       2       MAM     9915
+Bos taurus     cow     1       2       MAM     9913
+Bothrops insularis     island jararaca 1       2       VRT     8723
+Botryllus schlosseri           1       13      INV     30301
+Botryotinia fuckeliana         1       4       PLN     40559
+Bovine respiratory syncytial virus             1       0       VRL     11246
+Bradyrhizobium japonicum               11      0       BCT     375
+Branchiostoma belcheri         1       5       INV     7741
+Branchiostoma floridae Florida lancelet        1       5       INV     7739
+Brassica campestris            1       1       PLN     3711
+Brassica juncea                1       1       PLN     3707
+Brassica napus rape    1       1       PLN     3708
+Brassica oleracea              1       1       PLN     3712
+Brassica rapa          1       1       PLN     3711
+Brucella melitensis            11      0       BCT     29459
+Brugia malayi          1       5       INV     6279
+Bruguiera gymnorrhiza          1       1       PLN     39984
+Bubalus bubalis        water buffalo   1       2       MAM     89462
+Buchnera aphidicola            11      0       BCT     9
+Burkholderia cepacia           11      0       BCT     292
+Burkholderia fungorum          11      0       BCT     134537
+Burkholderia pseudomallei              11      0       BCT     28450
+Caenorhabditis briggsae                1       5       INV     6238
+Caenorhabditis elegans         1       5       INV     6239
+Callithrix jacchus     white-tufted-ear marmoset       1       2       PRI     9483
+Callosobruchus maculatus       cowpea weevil   1       5       INV     64391
+Camelus dromedarius    Arabian camel   1       2       MAM     9838
+Campylobacter jejuni           11      0       BCT     197
+Candida albicans               12      4       PLN     5476
+Candida famata         1       3       PLN     4959
+Candida glabrata               1       3       PLN     5478
+Candida tropicalis             12      3       PLN     5482
+Candidula unifasciata          1       5       INV     100452
+Canis familiaris       dog     1       2       MAM     9615
+Capra hircus   goat    1       2       MAM     9925
+Caprine arthritis-encephalitis virus           1       0       VRL     11660
+Capsicum annuum                1       1       PLN     4072
+Capsicum chinense              1       1       PLN     80379
+Carabus granulatus             1       5       INV     118799
+Carassius auratus      goldfish        1       2       VRT     7957
+Carica papaya  papaya  1       1       PLN     3649
+Caulobacter crescentus         11      0       BCT     155892
+Caulobacter vibrioides         11      0       BCT     155892
+Cavia porcellus        domestic guinea pig     1       2       ROD     10141
+Ceratitis capitata     Mediterranean fruit fly 1       5       INV     7213
+Ceratodon purpureus            1       1       PLN     3225
+Ceratopteris richardii         1       1       PLN     49495
+Cercopithecus aethiops African green monkey    1       2       PRI     9534
+Cervus elaphus red deer        1       2       MAM     9860
+Chaetodipus intermedius        rock pocket mouse       1       2       ROD     38666
+Chaetomium globosum            1       4       PLN     38033
+Chlamydia trachomatis          11      0       BCT     813
+Chlamydomonas reinhardtii              1       1       PLN     3055
+Chlamydophila pneumoniae               11      0       BCT     83558
+Chlamydotis undulata           1       2       VRT     172680
+Chlorobium tepidum             11      0       BCT     1097
+Chloroflexus aurantiacus               11      0       BCT     1108
+Cicer arietinum        chickpea        1       1       PLN     3827
+Cicindela campestris           1       5       INV     150234
+Ciona intestinalis             1       13      INV     7719
+Ciona savignyi         1       13      INV     51511
+Citrullus lanatus      watermelon      1       1       PLN     3654
+Citrus reticulata              1       1       PLN     85571
+Citrus sinensis                1       1       PLN     2711
+Citrus tristeza virus          1       0       VRL     12162
+Citrus unshiu          1       1       PLN     55188
+Citrus x paradisi              1       1       PLN     37656
+Cladosporium fulvum            1       4       PLN     5499
+Cleome hassleriana             1       1       PLN     28532
+Clonorchis sinensis            1       9       INV     79923
+Clostridium acetobutylicum             11      0       BCT     1488
+Clostridium difficile          11      0       BCT     1496
+Clostridium perfringens                11      0       BCT     1502
+Clostridium thermocellum               11      0       BCT     1515
+Coccidioides immitis           1       4       PLN     5501
+Codonopsis lanceolata          1       1       PLN     103999
+Coffea arabica coffee  1       1       PLN     13443
+Colletotrichum gloeosporioides         1       4       PLN     5457
+Colletotrichum trifolii                1       4       PLN     5466
+Columba livia  domestic pigeon 1       2       VRT     8932
+Conidiobolus coronatus         1       4       PLN     34488
+Cooperia oncophora             1       5       INV     27828
+Coprinopsis cinerea            1       4       PLN     5346
+Coprinus cinereus              1       4       PLN     5346
+Cordyceps bassiana             1       4       PLN     176275
+Coregonus clupeaformis         1       2       VRT     59861
+Corynebacterium glutamicum             11      0       BCT     1718
+Corynebacterium pseudotuberculosis             11      0       BCT     1719
+Coturnix coturnix      common quail    1       2       VRT     9091
+Coturnix japonica      Japanese quail  1       2       VRT     93934
+Crassostrea gigas      Pacific oyster  1       5       INV     29159
+Crassostrea virginica  eastern oyster  1       5       INV     6565
+Cricetulus griseus     Chinese hamster 1       2       ROD     10029
+Crocus sativus         1       1       PLN     82528
+Cryphonectria parasitica               1       4       PLN     5116
+Cryptococcus bacillisporus             1       4       PLN     37769
+Cryptococcus neoformans                1       4       PLN     5207
+Cryptomeria japonica   Japanese cedar  1       1       PLN     3369
+Cryptosporidium parvum         1       4       INV     5807
+Ctenocephalides felis  cat flea        1       5       INV     7515
+Ctenopharyngodon idella        grass carp      1       2       VRT     7959
+Cucumber mosaic virus  cucumber mosaic cucumovirus     1       0       VRL     12305
+Cucumis melo   muskmelon       1       1       PLN     3656
+Cucumis sativus        cucumber        1       1       PLN     3659
+Culex pipiens  house mosquito  1       5       INV     7175
+Curculio glandium              1       5       INV     197013
+Cycas rumphii          1       1       PLN     58031
+Cynodon dactylon       Bermuda grass   1       1       PLN     28909
+Cyprinus carpio        common carp     1       2       VRT     7962
+Daktulosphaira vitifoliae      grape phylloxera        1       5       INV     58002
+Danio rerio    zebrafish       1       2       VRT     7955
+Dasypus novemcinctus   nine-banded armadillo   1       2       MAM     9361
+Daucus carota  carrot  1       1       PLN     4039
+Debaryomyces hansenii          1       3       PLN     4959
+Deinococcus radiodurans                11      0       BCT     1299
+Delacroixia coronata           1       4       PLN     34488
+Dendrocopos major              1       2       VRT     137523
+Dengue virus           1       0       VRL     12637
+Descurainia sophia             1       1       PLN     89411
+Desulfitobacterium hafniense           11      0       BCT     49338
+Desulfovibrio desulfuricans            11      0       BCT     876
+Diadema antillarum             1       9       INV     105358
+Dianthus caryophyllus  clove pink      1       1       PLN     3570
+Dicentrarchus labrax   European sea bass       1       2       VRT     13489
+Dictyostelium discoideum               1       1       INV     44689
+Dirofilaria immitis    dog heartworm nematode  1       5       INV     6287
+Dreissena polymorpha           1       5       INV     45954
+Drosophila americana           1       5       INV     40366
+Drosophila ananassae           1       5       INV     7217
+Drosophila buzzatii            1       5       INV     7264
+Drosophila mauritiana          1       5       INV     7226
+Drosophila melanogaster        fruit fly       1       5       INV     7227
+Drosophila miranda             1       5       INV     7229
+Drosophila persimilis          1       5       INV     7234
+Drosophila pseudoobscura               1       5       INV     7237
+Drosophila simulans            1       5       INV     7240
+Drosophila subobscura          1       5       INV     7241
+Drosophila virilis             1       5       INV     7244
+Drosophila yakuba              1       5       INV     7245
+Dugesia japonica               1       9       INV     6161
+Dunaliella salina              1       1       PLN     3046
+Echinococcus granulosus                1       9       INV     6210
+Echinococcus multilocularis            1       9       INV     6211
+Echinostoma paraensei          1       14      INV     48215
+Eimeria tenella                1       4       INV     5802
+Elephas maximus        Asiatic elephant        1       2       MAM     9783
+Emericella nidulans            1       4       PLN     162425
+Emiliania huxleyi              1       4       PLN     2903
+Entamoeba histolytica          1       1       INV     5759
+Entamoeba invadens             1       1       INV     33085
+Enterobacter cloacae           11      0       BCT     550
+Enterobacteria phage T7                11      0       PHG     10760
+Enterococcus faecalis          11      0       BCT     1351
+Enterococcus faecium           11      0       BCT     1352
+Epinephelus quernus    Hawaiian grouper        1       2       VRT     212795
+Equine arteritis virus         1       0       VRL     11047
+Equine infectious anemia virus         1       0       VRL     11665
+Equus caballus horse   1       2       MAM     9796
+Eremothecium gossypii          1       3       PLN     33169
+Erwinia amylovora              11      0       BCT     552
+Escherichia coli               11      0       BCT     562
+Eschscholzia californica       California poppy        1       1       PLN     3467
+Eucalyptus globulus            1       1       PLN     34317
+Eucalyptus grandis             1       1       PLN     71139
+Eucalyptus tereticornis                1       1       PLN     183855
+Euhadra peliomphala            1       5       INV     87841
+Eulemur fulvus brown lemur     1       2       PRI     13515
+Euphorbia esula        leafy spurge    1       1       PLN     3993
+Euphorbia lagascae             1       1       PLN     54672
+Feline immunodeficiency virus          1       0       VRL     11673
+Feline leukemia virus          1       0       VRL     11768
+Felis catus    cat     1       2       MAM     9685
+Ferroplasma acidarmanus                11      0       BCT     97393
+Filobasidiella bacillispora            1       4       PLN     37769
+Filobasidiella neoformans              1       4       PLN     5207
+Foot-and-mouth disease virus A         1       0       VRL     12111
+Foot-and-mouth disease virus O         1       0       VRL     12118
+Fragaria x ananassa            1       1       PLN     3747
+Fragilariopsis cylindrus               1       1       PLN     186039
+Francisella tularensis         11      0       BCT     263
+Fucus distichus                1       1       PLN     3012
+Fugu rubripes          1       2       VRT     31033
+Fundulus heteroclitus  killifish       1       2       VRT     8078
+Fusarium oxysporum             1       4       PLN     5507
+Fusarium sporotrichioides              1       4       PLN     5514
+Fusarium subglutinans          1       4       PLN     42677
+Fusobacterium nucleatum                11      0       BCT     851
+Gadus morhua   Atlantic cod    1       2       VRT     8049
+Gallus gallus  chicken 1       2       VRT     9031
+Gasterosteus aculeatus three spined stickleback        1       2       VRT     69293
+GB virus C/Hepatitis G virus   Hepatitis GB virus C / Hepatitis G virus        1       0       VRL     54290
+Geobacillus stearothermophilus         11      0       BCT     1422
+Geobacter metallireducens              11      0       BCT     28232
+Geochelone nigra               1       2       VRT     66189
+Giardia intestinalis           1       0       INV     5741
+Giardia lamblia                1       0       INV     5741
+Gibberella moniliformis                1       4       PLN     117187
+Gibberella zeae                1       4       PLN     5518
+Gillichthys mirabilis  long-jawed mudsucker    1       2       VRT     8222
+Ginglymostoma cirratum nurse shark     1       2       VRT     7801
+Ginkgo biloba  maidenhair tree 1       1       PLN     3311
+Globodera pallida              1       5       INV     36090
+Globodera rostochiensis                1       5       INV     31243
+Glomerella cingulata           1       4       PLN     5457
+Glomus intraradices            1       4       PLN     4876
+Glomus versiforme              1       4       PLN     43425
+Glossina morsitans             1       5       INV     7394
+Glycine clandestina            1       1       PLN     45687
+Glycine max    soybean 1       1       PLN     3847
+Glycine tomentella             1       1       PLN     44015
+Glyphorynchus spirurus wedge-billed woodcreeper        1       2       VRT     135974
+Gnetum gnemon          1       1       PLN     3382
+Gorilla gorilla        gorilla 1       2       PRI     9593
+Gossypium arboreum             1       1       PLN     29729
+Gossypium barbadense   sea-island cotton       1       1       PLN     3634
+Gossypium herbaceum            1       1       PLN     34274
+Gossypium hirsutum     upland cotton   1       1       PLN     3635
+Gossypium raimondii            1       1       PLN     29730
+Gracilaria gracilis            1       4       PLN     2777
+Gregarina niphandrodes         1       4       INV     110365
+Griffithsia japonica           1       1       PLN     83288
+Guillardia theta               1       1       PLN     55529
+Haematobia irritans    horn fly        1       5       INV     7368
+Haemonchus contortus           1       5       INV     6289
+Haemophilus influenzae         11      0       BCT     727
+Haloarcula marismortui         11      0       BCT     2238
+Halobacterium sp. NRC-1                11      0       BCT     64091
+Halobaculum gomorrense         11      0       BCT     43928
+Halocynthia roretzi            1       13      INV     7729
+Halorubrum lacusprofundi               11      0       BCT     2247
+Hebeloma cylindrosporum                1       4       PLN     76867
+Hedyotis centranthoides                1       1       PLN     219666
+Hedyotis terminalis            1       1       PLN     219667
+Helianthus annuus      common sunflower        1       1       PLN     4232
+Helianthus argophyllus         1       1       PLN     73275
+Helianthus paradoxus           1       1       PLN     73304
+Helicobacter pylori            11      0       BCT     210
+Heliconius melpomene           1       5       INV     34740
+Helicoverpa armigera   cotton bollworm 1       5       INV     29058
+Heliocidaris erythrogramma             1       9       INV     7634
+Hemicentrotus pulcherrimus             1       9       INV     7650
+Hepatitis A virus              1       0       VRL     12092
+Hepatitis B virus              1       0       VRL     10407
+Hepatitis C virus              1       0       VRL     11103
+Hepatitis D virus              1       0       VRL     12475
+Hepatitis E virus              1       0       VRL     12461
+Heterobasidion annosum         1       4       PLN     13563
+Heterodera glycines            1       5       INV     51029
+Heterodera schachtii           1       5       INV     97005
+Hevea brasiliensis     Para rubber tree        1       1       PLN     3981
+Hippoglossus hippoglossus      Atlantic halibut        1       2       VRT     8267
+Histophilus somni              11      0       BCT     731
+Holothuria nobilis             1       9       INV     221420
+Homalodisca coagulata  glassy-winged sharpshooter      1       5       INV     197043
+Homo sapiens   human   1       2       PRI     9606
+Hordeum vulgare                1       1       PLN     4513
+Human adenovirus B             1       0       VRL     108098
+Human adenovirus C             1       0       VRL     129951
+Human astrovirus               1       0       VRL     12702
+Human endogenous retrovirus            1       0       VRL     11827
+Human enterovirus A            1       0       VRL     138948
+Human enterovirus B            1       0       VRL     138949
+Human enterovirus C            1       0       VRL     138950
+Human herpesvirus 1            1       0       VRL     10298
+Human herpesvirus 3            1       0       VRL     10335
+Human herpesvirus 4    Epstein-Barr virus      1       0       VRL     10376
+Human herpesvirus 5            1       0       VRL     10359
+Human herpesvirus 8    Kaposi's sarcoma-associated herpesvirus - Human herpesvirus 8   1       0       VRL     37296
+Human immunodeficiency virus           1       0       VRL     12721
+Human immunodeficiency virus 1         1       0       VRL     11676
+Human immunodeficiency virus 2         1       0       VRL     11709
+Human papillomavirus           1       0       VRL     10566
+Human papillomavirus type 16           1       0       VRL     10581
+Human respiratory syncytial virus              1       0       VRL     11250
+Hydra magnipapillata           1       4       INV     6085
+Hylobates lar  common gibbon   1       2       PRI     9580
+Hypocrea jecorina              1       4       PLN     51453
+Hypocrea lixii         1       4       PLN     5544
+Hypsibius dujardini            1       5       INV     232323
+Ichthyophthirius multifiliis           6       4       INV     5932
+Ictalurus furcatus             1       2       VRT     66913
+Ictalurus punctatus    channel catfish 1       2       VRT     7998
+Infectious bursal disease virus        Gumboro virus   1       0       VRL     10995
+Infectious salmon anemia virus         1       0       VRL     55987
+Ipomoea batatas        sweet potato    1       1       PLN     4120
+Ipomoea nil    Japanese morning glory  1       1       PLN     35883
+Ipomoea trifida                1       1       PLN     35884
+Ips pini       North American pine engraver    1       5       INV     102803
+Iris hollandica                1       1       PLN     35876
+Isotricha sp. BBF-2003         1       4       INV     223153
+Ixodes scapularis      black-legged tick       1       5       INV     6945
+Japanese encephalitis virus            1       0       VRL     11072
+JC virus               1       0       VRL     10632
+Juglans regia  English walnut  1       1       PLN     51240
+Kandelia candel                1       1       PLN     61147
+Klebsiella oxytoca             11      0       BCT     571
+Klebsiella pneumoniae          11      0       BCT     573
+Kluyveromyces delphensis               1       3       PLN     51657
+Kluyveromyces lactis           1       3       PLN     28985
+Kluyveromyces marxianus                1       3       PLN     4911
+Kluyveromyces thermotolerans           1       3       PLN     4916
+Laccaria bicolor               1       4       PLN     29883
+Lactobacillus brevis           11      0       BCT     1580
+Lactobacillus delbrueckii              11      0       BCT     1584
+Lactobacillus plantarum                11      0       BCT     1590
+Lactococcus lactis             11      0       BCT     1358
+Lactuca sativa         1       1       PLN     4236
+Lactuca serriola               1       1       PLN     75943
+Lama glama     llama   1       2       MAM     9844
+Laminaria digitata             1       1       PLN     80365
+Lawsonia intracellularis               11      0       BCT     29546
+Legionella pneumophila         11      0       BCT     446
+Leifsonia xyli         11      0       BCT     1575
+Leishmania braziliensis                1       4       INV     5660
+Leishmania donovani            1       4       INV     5661
+Leishmania infantum            1       4       INV     5671
+Leishmania major               1       4       INV     5664
+Lemur catta    ring-tailed lemur       1       2       PRI     9447
+Leopardus pardalis     ocelot  1       2       MAM     32538
+Lepilemur septentrionalis      northern sportive lemur 1       2       PRI     78584
+Leptospira interrogans         11      0       BCT     173
+Leuconostoc mesenteroides              11      0       BCT     1245
+Leymus chinensis               1       1       PLN     52714
+Limnanthes alba        white meadowfoam        1       1       PLN     42439
+Lingulodinium polyedrum                1       4       PLN     160621
+Linum usitatissimum    flax    1       1       PLN     4006
+Listeria innocua               11      0       BCT     1642
+Listeria monocytogenes         11      0       BCT     1639
+Litomosoides sigmodontis               1       5       INV     42156
+Litopenaeus setiferus  white shrimp    1       5       INV     64468
+Litopenaeus vannamei   Pacific white shrimp    1       5       INV     6689
+Littorina littorea             1       5       INV     31216
+Lotus corniculatus             1       1       PLN     47247
+Loxodonta africana     African savanna elephant        1       2       MAM     9785
+Lumbricus rubellus     humus earthworm 1       5       INV     35632
+Lupinus albus  white lupine    1       1       PLN     3870
+Lupinus luteus yellow lupine   1       1       PLN     3873
+Luscinia svecica               1       2       VRT     52792
+Lutzomyia longipalpis          1       5       INV     7200
+Lycopersicon esculentum        tomato  1       1       PLN     4081
+Lycopersicon hirsutum          1       1       PLN     62890
+Lycopersicon pennellii         1       1       PLN     28526
+Macaca fascicularis    crab-eating macaque     1       2       PRI     9541
+Macaca fuscata Japanese macaque        1       2       PRI     9542
+Macaca mulatta rhesus monkey   1       2       PRI     9544
+Macaca nemestrina      pig-tailed macaque      1       2       PRI     9545
+Macropus eugenii       tammar wallaby  1       2       MAM     9315
+Magnaporthe grisea             1       4       PLN     148305
+Magnetococcus sp. MC-1         11      0       BCT     156889
+Magnetospirillum magnetotacticum               11      0       BCT     188
+Malus x domestica      apple tree      1       1       PLN     3750
+Manduca sexta  tobacco hornworm        1       5       INV     7130
+Manihot esculenta      cassava 1       1       PLN     3983
+Marchantia polymorpha  liverwort       1       1       PLN     3197
+Marmota monax  woodchuck       1       2       ROD     9995
+Marsupenaeus japonicus         1       5       INV     27405
+Martes americana       American marten 1       2       MAM     9660
+Mastigamoeba balamuthi         1       1       INV     108607
+Measles virus          1       0       VRL     11234
+Medicago sativa                1       1       PLN     3879
+Medicago truncatula    barrel medic    1       1       PLN     3880
+Meladema coriacea              1       5       INV     107907
+Melaleuca alternifolia tea tree        1       1       PLN     164405
+Meleagris gallopavo    turkey  1       2       VRT     9103
+Meloidogyne arenaria           1       5       INV     6304
+Meloidogyne chitwoodi          1       5       INV     59747
+Meloidogyne hapla              1       5       INV     6305
+Meloidogyne incognita  southern root-knot nematode     1       5       INV     6306
+Meloidogyne javanica   root-knot nematode      1       5       INV     6303
+Meloidogyne paranaensis                1       5       INV     189293
+Mentha x piperita      peppermint      1       1       PLN     34256
+Meriones unguiculatus  Mongolian gerbil        1       2       ROD     10047
+Mesembryanthemum crystallinum  common iceplant 1       1       PLN     3544
+Mesobuthus gibbosus            1       5       INV     123226
+Mesocricetus auratus   golden hamster  1       2       ROD     10036
+Metarhizium anisopliae         1       4       PLN     5530
+Methanosarcina acetivorans             11      0       BCT     2214
+Methanosarcina barkeri         11      0       BCT     2208
+Methanosarcina mazei           11      0       BCT     2209
+Methanothermobacter thermautotrophicus         11      0       BCT     145262
+Microbotryum violaceum         1       4       PLN     5272
+Microbulbifer degradans                11      0       BCT     86304
+Microcystis aeruginosa         11      0       BCT     1126
+Micromonospora carbonacea              11      0       BCT     47853
+Microtus oeconomus     tundra vole     1       2       ROD     64717
+Mnemiopsis leidyi              1       4       INV     27923
+Molgula tectiformis            1       13      INV     30286
+Moneuplotes crassus            10      4       INV     5936
+Monodelphis domestica  gray short-tailed opossum       1       2       MAM     13616
+Moraxella catarrhalis          11      0       BCT     480
+Morone saxatilis       striped sea-bass        1       2       VRT     34816
+Motacilla flava                1       2       VRT     180448
+Mumps virus            1       0       VRL     11161
+Murine leukemia virus          1       0       VRL     11786
+Mus musculus   house mouse     1       2       ROD     10090
+Mus spretus    western wild mouse      1       2       ROD     10096
+Musa acuminata         1       1       PLN     4641
+Musca domestica        house fly       1       5       INV     7370
+Mycobacterium avium            11      0       BCT     1764
+Mycobacterium bovis            11      0       BCT     1765
+Mycobacterium leprae           11      0       BCT     1769
+Mycobacterium smegmatis                11      0       BCT     1772
+Mycobacterium tuberculosis             11      0       BCT     1773
+Mycoplasma capricolum          4       0       BCT     2095
+Mycoplasma genitalium          4       0       BCT     2097
+Mycoplasma haemofelis          4       0       BCT     29501
+Mycoplasma hominis             4       0       BCT     2098
+Mycosphaerella graminicola             1       4       PLN     54734
+Mystacina tuberculata  New Zealand lesser short-tailed bat     1       2       MAM     94961
+Mytilus edulis         1       5       INV     6550
+Mytilus galloprovincialis      Mediterranean mussel    1       5       INV     29158
+Mytilus trossulus      common blue mussel      1       5       INV     6551
+Myxococcus xanthus             11      0       BCT     34
+Natrialba asiatica             11      0       BCT     64602
+Necator americanus             1       5       INV     51031
+Nectria haematococca           1       4       PLN     140110
+Neisseria gonorrhoeae          11      0       BCT     485
+Neisseria meningitidis         11      0       BCT     487
+Neospora caninum               1       4       INV     29176
+Neospora hughesi               1       4       INV     83675
+Neurospora crassa              1       4       PLN     5141
+Newcastle disease virus                1       0       VRL     11176
+Nicotiana attenuata            1       1       PLN     49451
+Nicotiana benthamiana          1       1       PLN     4100
+Nicotiana sylvestris   wood tobacco    1       1       PLN     4096
+Nicotiana tabacum      common tobacco  1       1       PLN     4097
+Nippostrongylus brasiliensis           1       5       INV     27835
+Norwalk virus          1       0       VRL     11983
+Nostoc punctiforme             11      0       BCT     63737
+Novosphingobium aromaticivorans                11      0       BCT     48935
+Nuphar advena          1       1       PLN     77108
+Ochrobactrum anthropi          11      0       BCT     529
+Ocinebrellus inornatus Asian drill     1       5       INV     213425
+Oenococcus oeni                11      0       BCT     1247
+Oikopleura dioica              1       5       INV     34765
+Olea europaea  common olive    1       1       PLN     4146
+Onchocerca volvulus            1       5       INV     6282
+Oncorhynchus keta      chum salmon     1       2       VRT     8018
+Oncorhynchus mykiss    rainbow trout   1       2       VRT     8022
+Oncorhynchus nerka     sockeye salmon  1       2       VRT     8023
+Oncorhynchus tshawytscha       Chinook salmon  1       2       VRT     74940
+Opsanus beta           1       2       VRT     95145
+Oreochromis niloticus  Nile tilapia    1       2       VRT     8128
+Ornithodoros porcinus          1       5       INV     34594
+Ornithorhynchus anatinus       platypus        1       2       MAM     9258
+Oryctolagus cuniculus  rabbit  1       2       MAM     9986
+Oryza minuta           1       1       PLN     63629
+Oryza sativa           1       1       PLN     4530
+Oryzias latipes        Japanese medaka 1       2       VRT     8090
+Ostertagia ostertagi           1       5       INV     6317
+Ostreococcus tauri             1       1       PLN     70448
+Otis tarda             1       2       VRT     73107
+Ovis aries     sheep   1       2       MAM     9940
+Oxytricha trifallax            6       4       INV     94289
+Pacifastacus leniusculus       signal crayfish 1       5       INV     6720
+Pan paniscus   pygmy chimpanzee        1       2       PRI     9597
+Pan troglodytes        chimpanzee      1       2       PRI     9598
+Panax ginseng          1       1       PLN     4054
+Pantoea agglomerans            11      0       BCT     549
+Papio anubis   olive baboon    1       2       PRI     9555
+Papio hamadryas        hamadryas baboon        1       2       PRI     9557
+Paracoccidioides brasiliensis          1       4       PLN     121759
+Paralichthys olivaceus bastard halibut 1       2       VRT     8255
+Paramecium tetraurelia         6       4       INV     5888
+Parastrongyloides trichosuri           1       5       INV     131310
+Parus major            1       2       VRT     9157
+Pasteurella multocida          11      0       BCT     747
+Pasteuria penetrans            11      0       BCT     86005
+Paxillus involutus             1       4       PLN     71150
+Pectobacterium atrosepticum            11      0       BCT     29471
+Pectobacterium carotovorum             11      0       BCT     554
+Pediculus humanus      human lice      1       5       INV     121225
+Penaeus monodon        black tiger shrimp      1       5       INV     6687
+Penicillium marneffei          1       4       PLN     37727
+Pennisetum ciliare     buffelgrass     1       1       PLN     35520
+Pennisetum glaucum             1       1       PLN     4543
+Peromyscus leucopus    white-footed mouse      1       2       ROD     10041
+Peromyscus maniculatus deer mouse      1       2       ROD     10042
+Pestivirus type 1              1       0       VRL     11099
+Pestivirus type 2              1       0       VRL     54314
+Petromyzon marinus     sea lamprey     1       2       VRT     7757
+Petunia x hybrida              1       1       PLN     4102
+Phaeodactylum tricornutum              1       1       PLN     2850
+Phanerochaete chrysosporium            1       4       PLN     5306
+Phaseolus coccineus            1       1       PLN     3886
+Phaseolus vulgaris             1       1       PLN     3885
+Phoca vitulina harbor seal     1       2       MAM     9720
+Photorhabdus luminescens               11      0       BCT     29488
+Physcomitrella patens          1       1       PLN     3218
+Phytophthora infestans potato late blight agent        1       1       PLN     4787
+Phytophthora nicotianae                1       1       PLN     4790
+Phytophthora sojae             1       1       PLN     67593
+Picea abies    Norway spruce   1       1       PLN     3329
+Pichia angusta         1       3       PLN     4905
+Pichia farinosa                1       3       PLN     4920
+Pinus pinaster         1       1       PLN     71647
+Pinus radiata  Monterey pine   1       1       PLN     3347
+Pinus taeda    loblolly pine   1       1       PLN     3352
+Pisolithus microcarpus         1       4       PLN     178872
+Pisolithus tinctorius          1       4       PLN     37468
+Pisum sativum  pea     1       1       PLN     3888
+Planococcus lilacinus  lilac mealybug  1       5       INV     40930
+Plasmodium berghei             1       4       INV     5821
+Plasmodium chabaudi            1       4       INV     5825
+Plasmodium falciparum  malaria parasite P. falciparum  1       4       INV     5833
+Plasmodium vivax       malaria parasite P. vivax       1       4       INV     5855
+Plasmodium yoelii              1       4       INV     5861
+Platichthys flesus     European flounder       1       2       VRT     8260
+Platystomus albinus            1       5       INV     197009
+Plethodon elongatus    Del Norte salamander    1       2       VRT     46761
+Pleuronectes platessa  plaice  1       2       VRT     8262
+Pleurotus ostreatus    oyster mushroom 1       4       PLN     5322
+Plumbago zeylanica             1       1       PLN     76149
+Pneumocystis carinii           1       4       PLN     4754
+Podarcis hispanica             1       2       VRT     74081
+Poecilia reticulata    guppy   1       2       VRT     8081
+Poliovirus             1       0       VRL     138953
+Polyandrocarpa misakiensis             1       13      INV     7723
+Poncirus trifoliata            1       1       PLN     37690
+Pongo pygmaeus orangutan       1       2       PRI     9600
+Populus alba x Populus glandulosa              1       1       PLN     153471
+Populus alba x Populus tremula         1       1       PLN     80863
+Populus balsamifera            1       1       PLN     73824
+Populus balsamifera subsp. trichocarpa x Populus deltoides             1       1       PLN     3695
+Populus tremula                1       1       PLN     113636
+Populus tremula x Populus tremuloides          1       1       PLN     47664
+Populus tremuloides    quaking aspen   1       1       PLN     3693
+Porcine reproductive and respiratory syndrome virus            1       0       VRL     28344
+Porphyra yezoensis             1       4       PLN     2788
+Porphyromonas gingivalis               11      0       BCT     837
+Potato virus Y         1       0       VRL     12216
+Pratylenchus penetrans         1       5       INV     45929
+Primate T-lymphotropic virus 1         1       0       VRL     194440
+Primate T-lymphotropic virus 2         1       0       VRL     194441
+Pristionchus pacificus         1       5       INV     54126
+Prunus armeniaca       apricot 1       1       PLN     36596
+Prunus dulcis  almond  1       1       PLN     3755
+Prunus persica peach   1       1       PLN     3760
+Pseudomonas aeruginosa         11      0       BCT     287
+Pseudomonas fluorescens                11      0       BCT     294
+Pseudomonas putida             11      0       BCT     303
+Pseudomonas stutzeri           11      0       BCT     316
+Pseudomonas syringae           11      0       BCT     317
+Pseudopleuronectes americanus  winter flounder 1       2       VRT     8265
+Pseudotsuga menziesii  Douglas fir     1       1       PLN     3357
+Psoroptes equi var. ovis       sheep scab mite 1       5       INV     83912
+Psoroptes ovis sheep scab mite 1       5       INV     83912
+Pygoscelis adeliae     Adelie penguin  1       2       VRT     9238
+Pyricularia grisea             1       4       PLN     148305
+Pyrobaculum aerophilum         11      0       BCT     13773
+Pyrococcus furiosus            11      0       BCT     2261
+Pyrocoelia rufa                1       5       INV     71223
+Pyrocystis lunula              1       4       PLN     2972
+Pyrus communis pear    1       1       PLN     23211
+Rabies virus           1       0       VRL     11292
+Ralstonia metallidurans                11      0       BCT     119219
+Ralstonia solanacearum         11      0       BCT     305
+Rana catesbeiana       bullfrog        1       2       VRT     8400
+Rangifer tarandus      reindeer        1       2       MAM     9870
+Raphanus sativus       radish  1       1       PLN     3726
+Rattus norvegicus      Norway rat      1       2       ROD     10116
+Rattus rattus  black rat       1       2       ROD     10117
+Respiratory syncytial virus            1       0       VRL     12814
+Rhagoletis pomonella   apple maggot    1       5       INV     28610
+Rhinolophus ferrumequinum      greater horseshoe bat   1       2       MAM     59479
+Rhizobium etli         11      0       BCT     29449
+Rhizobium leguminosarum                11      0       BCT     384
+Rhizobium meliloti             11      0       BCT     382
+Rhizobium radiobacter          11      0       BCT     358
+Rhizobium sp. NGR234           11      0       BCT     394
+Rhizoctonia solani             1       4       PLN     107832
+Rhodobacter sphaeroides                11      0       BCT     1063
+Rhodococcus erythropolis               11      0       BCT     1833
+Rhodospirillum rubrum          11      0       BCT     1085
+Rhopalosiphum padi     bird cherry-oat aphid   1       5       INV     40932
+Ricinus communis       castor bean     1       1       PLN     3988
+Rickettsia prowazekii          11      0       BCT     782
+Robinia pseudoacacia           1       1       PLN     35938
+Rosa chinensis         1       1       PLN     74649
+Rosa hybrid cultivar           1       1       PLN     128735
+Rotavirus A            1       0       VRL     28875
+Rous sarcoma virus             1       0       VRL     11886
+Rubella virus          1       0       VRL     11041
+Ruminococcus flavefaciens              11      0       BCT     1265
+Saccharomyces bayanus          1       3       PLN     4931
+Saccharomyces cariocanus               1       3       PLN     114526
+Saccharomyces castellii                1       3       PLN     27288
+Saccharomyces cerevisiae       baker's yeast   1       3       PLN     4932
+Saccharomyces exiguus          1       3       PLN     34358
+Saccharomyces kluyveri         1       3       PLN     4934
+Saccharomyces kudriavzevii             1       3       PLN     114524
+Saccharomyces mikatae          1       3       PLN     114525
+Saccharomyces paradoxus                1       3       PLN     27291
+Saccharomyces servazzii                1       3       PLN     27293
+Saccharomyces unisporus                1       3       PLN     27294
+Saccharum officinarum          1       1       PLN     4547
+Saguinus oedipus       cotton-top tamarin      1       2       PRI     9490
+Saimiri sciureus       common squirrel monkey  1       2       PRI     9521
+Salix viminalis        osier   1       1       PLN     40686
+Salmo salar    Atlantic salmon 1       2       VRT     8030
+Salmo trutta   brown trout     1       2       VRT     8032
+Salmonella enterica            11      0       BCT     28901
+Salmonella typhimurium         11      0       BCT     602
+Salvelinus alpinus     Arctic char     1       2       VRT     8036
+Sarcocystis neurona            1       4       INV     42890
+Sarcoptes scabiei              1       5       INV     52283
+Scherffelia dubia              1       1       PLN     3190
+Schistosoma japonicum          1       9       INV     6182
+Schistosoma mansoni            1       9       INV     6183
+Schizophyllum commune          1       4       PLN     5334
+Schizosaccharomyces pombe      fission yeast   1       4       PLN     4896
+Schmidtea mediterranea         1       9       INV     79327
+Sciaenops ocellatus            1       2       VRT     76340
+Sclerotinia sclerotiorum               1       4       PLN     5180
+Sebastes mystinus              1       2       VRT     72088
+Secale cereale rye     1       1       PLN     4550
+Selaginella lepidophylla               1       1       PLN     59777
+SEN virus              1       0       VRL     136966
+Seriola quinqueradiata five-ray yellowtail     1       2       VRT     8161
+Serratia marcescens            11      0       BCT     615
+Sesamum indicum        sesame  1       1       PLN     4182
+Sesbania rostrata              1       1       PLN     3895
+Shewanella oneidensis          11      0       BCT     70863
+Shigella flexneri              11      0       BCT     623
+Shrimp white spot syndrome virus               1       0       VRL     92652
+Silene latifolia               1       1       PLN     37657
+Silurana tropicalis    western clawed frog     1       2       VRT     8364
+Simian immunodeficiency virus          1       0       VRL     11723
+Simian virus 40                1       0       VRL     10633
+Simian-Human immunodeficiency virus            1       0       VRL     57667
+Sindbis virus          1       0       VRL     11034
+Sinorhizobium meliloti         11      0       BCT     382
+Solanum tuberosum      potato  1       1       PLN     4113
+Sorghum bicolor        sorghum 1       1       PLN     4558
+Sorghum halepense              1       1       PLN     4560
+Sorghum propinquum             1       1       PLN     132711
+Sparus aurata  gilthead seabream       1       2       VRT     8175
+Sphingomonas aromaticivorans           11      0       BCT     48935
+Spinacia oleracea      spinach 1       1       PLN     3562
+Spiroplasma kunkelii           4       0       BCT     47834
+Sporotrichum pruinosum         1       4       PLN     5306
+Staphylococcus aureus          11      0       BCT     1280
+Staphylococcus epidermidis             11      0       BCT     1282
+Stealth virus 1                1       0       VRL     36452
+Sterkiella histriomuscorum             6       4       INV     94289
+Stevia rebaudiana              1       1       PLN     55670
+Streptococcus agalactiae               11      0       BCT     1311
+Streptococcus dysgalactiae             11      0       BCT     1334
+Streptococcus equi             11      0       BCT     1336
+Streptococcus mitis            11      0       BCT     28037
+Streptococcus mutans           11      0       BCT     1309
+Streptococcus oralis           11      0       BCT     1303
+Streptococcus pneumoniae               11      0       BCT     1313
+Streptococcus pyogenes         11      0       BCT     1314
+Streptococcus suis             11      0       BCT     1307
+Streptococcus thermophilus             11      0       BCT     1308
+Streptomyces coelicolor                11      0       BCT     1902
+Streptomyces lividans          11      0       BCT     1916
+Strongylocentrotus purpuratus          1       9       INV     7668
+Strongyloides ratti            1       5       INV     34506
+Strongyloides stercoralis              1       5       INV     6248
+Struthio camelus       ostrich 1       2       VRT     8801
+Suaeda maritima                1       1       PLN     126913
+Suid herpesvirus 1             1       0       VRL     10345
+Sulfolobus solfataricus                11      0       BCT     2287
+Sus scrofa     pig     1       2       MAM     9823
+Symsagittifera roscofensis             1       5       INV     84072
+Syncerus caffer        African buffalo 1       2       MAM     9970
+Tadarida brasiliensis  Brazilian free-tailed bat       1       2       MAM     9438
+Taenia solium  pork tapeworm   1       9       INV     6204
+Takifugu rubripes              1       2       VRT     31033
+Tamarix androssowii            1       1       PLN     189785
+Tamias amoenus yellow-pine chipmunk    1       2       ROD     64679
+Tamias ruficaudus      red-tailed chipmunk     1       2       ROD     123792
+Teladorsagia circumcincta              1       5       INV     45464
+Telestes souffia               1       2       VRT     129883
+Tetrahymena thermophila                6       4       INV     5911
+Tetraodon nigroviridis         1       2       VRT     99883
+Thanatephorus cucumeris                1       4       PLN     107832
+Theileria parva                1       4       INV     5875
+Thellungiella halophila                1       1       PLN     98038
+Theobroma cacao        cacao   1       1       PLN     3641
+Thermoanaerobacter tengcongensis               11      0       BCT     119072
+Thermotoga maritima            11      0       BCT     2336
+Thermotoga sp. RQ2             11      0       BCT     126740
+Thermus thermophilus           11      0       BCT     274
+Timarcha balearica             1       5       INV     79517
+Toxocara canis         1       5       INV     6265
+Toxoplasma gondii              1       4       INV     5811
+Toxoptera citricida    brown citrus aphid      1       5       INV     223852
+Toxostoma curvirostre          1       2       VRT     99878
+Treponema pallidum             11      0       BCT     160
+Tribolium castaneum    red flour beetle        1       5       INV     7070
+Trichinella spiralis           1       5       INV     6334
+Trichoderma harzianum          1       4       PLN     5544
+Trichoderma reesei             1       4       PLN     51453
+Trichodesmium erythraeum               11      0       BCT     1206
+Trichomonas vaginalis          1       0       INV     5722
+Trichoplusia ni        cabbage looper  1       5       INV     7111
+Trichostrongylus vitrinus              1       5       INV     40352
+Trichosurus vulpecula  silver-gray brushtail possum    1       2       MAM     9337
+Trichuris muris                1       5       INV     70415
+Trichuris vulpis               1       5       INV     219738
+Trifolium repens       white clover    1       1       PLN     3899
+Triphysaria versicolor         1       1       PLN     64093
+Triticum aestivum      bread wheat     1       1       PLN     4565
+Triticum monococcum            1       1       PLN     4568
+Triticum turgidum              1       1       PLN     4571
+Tropheus moorii        blunthead cichlid       1       2       VRT     8150
+Trypanosoma brucei             1       4       INV     5691
+Trypanosoma carassii           1       4       INV     38249
+Trypanosoma cruzi              1       4       INV     5693
+TT virus               1       0       VRL     68887
+TTV-like mini virus            1       0       VRL     93678
+Tuber borchii  whitish truffle 1       4       PLN     42251
+Turkey rhinotracheitis virus           1       0       VRL     11264
+Turnip mosaic virus            1       0       VRL     12230
+Ureaplasma urealyticum         4       0       BCT     2130
+Ursus arctos   brown bear      1       2       MAM     9644
+Ustilago maydis                1       4       PLN     5270
+Vaccinia virus         1       0       VRL     10245
+Vaccinium corymbosum           1       1       PLN     69266
+Verticillium dahliae           1       4       PLN     27337
+Vesicular stomatitis virus             1       0       VRL     11276
+Vibrio cholerae                11      0       BCT     666
+Vibrio parahaemolyticus                11      0       BCT     670
+Vibrio vulnificus              11      0       BCT     672
+Vicia faba     fava bean       1       1       PLN     3906
+Vigna radiata          1       1       PLN     157791
+Vigna unguiculata      cowpea  1       1       PLN     3917
+Vitis aestivalis               1       1       PLN     3605
+Vitis hybrid cultivar          1       1       PLN     241073
+Vitis riparia          1       1       PLN     96939
+Vitis shuttleworthii           1       1       PLN     246827
+Vitis vinifera         1       1       PLN     29760
+West Nile virus                1       0       VRL     11082
+Wuchereria bancrofti           1       5       INV     6293
+Xanthomonas axonopodis         11      0       BCT     53413
+Xanthomonas campestris         11      0       BCT     339
+Xenopus laevis African clawed frog     1       2       VRT     8355
+Xenopus tropicalis     western clawed frog     1       2       VRT     8364
+Xiphias gladius        swordfish       1       2       VRT     8245
+Xylella fastidiosa             11      0       BCT     2371
+Yarrowia lipolytica            1       3       PLN     4952
+Yersinia enterocolitica                11      0       BCT     630
+Yersinia pestis                11      0       BCT     632
+Zamia furfuracea               1       1       PLN     42329
+Zea mays               1       1       PLN     4577
+Zeldia punctata                1       5       INV     49351
+Zinnia elegans         1       1       PLN     34245
+Zucchini yellow mosaic virus           1       0       VRL     12232
+Zygosaccharomyces rouxii               1       3       PLN     4956
diff --git a/websoft/data/coils/new.mat b/websoft/data/coils/new.mat
new file mode 100755 (executable)
index 0000000..5b256c0
--- /dev/null
@@ -0,0 +1,33 @@
+%
+% New matrix
+%
+% weighted
+w  14 1.89 0.30 1.04 0.27 20
+w  21 1.79 0.24 0.92 0.22 25
+w  28 1.74 0.20 0.86 0.18 30
+uw 14 1.82 0.28 0.95 0.26 20
+uw 21 1.74 0.23 0.86 0.21 25
+uw 28 1.69 0.18 0.80 0.18 30
+%
+%   a     b     c     d     e     f     g
+L 2.998 0.269 0.367 3.852 0.510 0.514 0.562
+I 2.408 0.261 0.345 0.931 0.402 0.440 0.289
+V 1.525 0.479 0.350 0.887 0.286 0.350 0.362
+M 2.161 0.605 0.442 1.441 0.607 0.457 0.570
+F 0.490 0.075 0.391 0.639 0.125 0.081 0.038
+Y 1.319 0.064 0.081 1.526 0.204 0.118 0.096
+G 0.084 0.215 0.432 0.111 0.153 0.367 0.125
+A 1.283 1.364 1.077 2.219 0.490 1.265 0.903
+K 1.233 2.194 1.817 0.611 2.095 1.686 2.027
+R 1.014 1.476 1.771 0.114 1.667 2.006 1.844
+H 0.590 0.646 0.584 0.842 0.307 0.611 0.396
+E 0.281 3.351 2.998 0.789 4.868 2.735 3.812
+D 0.068 2.103 1.646 0.182 0.664 1.581 1.401
+Q 0.311 2.290 2.330 0.811 2.596 2.155 2.585
+N 1.231 1.683 2.157 0.197 1.653 2.430 2.065
+S 0.332 0.753 0.930 0.424 0.734 0.801 0.518
+T 0.197 0.543 0.647 0.680 0.905 0.643 0.808
+C 0.918 0.002 0.385 0.440 0.138 0.432 0.079
+W 0.066 0.064 0.065 0.747 0.006 0.115 0.014
+P 0.004 0.108 0.018 0.006 0.010 0.004 0.007
+%