[Bio] / FigKernelScripts / seed2tbl.pl Repository:
ViewVC logotype

View of /FigKernelScripts/seed2tbl.pl

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.3 - (download) (as text) (annotate)
Thu Nov 11 17:27:39 2010 UTC (9 years ago) by disz
Branch: MAIN
CVS Tags: mgrast_dev_08112011, mgrast_dev_08022011, rast_rel_2014_0912, myrast_rel40, mgrast_dev_05262011, mgrast_dev_04082011, mgrast_version_3_2, mgrast_dev_12152011, mgrast_dev_06072011, rast_rel_2014_0729, mgrast_dev_02212011, rast_rel_2010_1206, mgrast_release_3_0, mgrast_dev_03252011, rast_rel_2011_0119, mgrast_release_3_0_4, mgrast_release_3_0_2, mgrast_release_3_0_3, mgrast_release_3_0_1, mgrast_dev_03312011, mgrast_release_3_1_2, mgrast_release_3_1_1, mgrast_release_3_1_0, mgrast_dev_04132011, mgrast_dev_04012011, myrast_33, rast_rel_2011_0928, mgrast_dev_04052011, mgrast_dev_02222011, mgrast_dev_10262011, HEAD
Changes since 1.2: +3 -3 lines
FigFam 6 digit problem

#!/usr/bin/env perl

use Getopt::Std;
use strict;
use warnings;
use Data::Dumper;
use FIGV;
use Carp;

our ( $opt_o, $opt_s, $opt_l, $opt_p, $opt_i, $opt_r, $opt_e, $opt_x, $opt_a );
getopts( 'o:s:l:p:i:r:e:x:a:' );


#my %preimages_of;
my %images_of;

###################
# view the inputs #
###################

#*    org_dir    *#
my $org_dir = $opt_o;
if ( !( -d $org_dir) ) {
  &usage;
  die "No orgdir $org_dir\n";
}
my $fig = FIGV->new($org_dir);

#* submitter id  *#
my $submitter_ID = $opt_s;
if ( !defined( $submitter_ID ) ) {
  &usage;
  die "No submitter ID given\n";
}

#* pseudo genes  *#
my $pseudo_list;
if ( defined( $opt_p ) ) {
  $pseudo_list = load_pseudo_list( $opt_p );
}

#* partial genes  *#
my $partial_list;
if ( defined( $opt_a ) ) {
  $partial_list = load_partial_list( $opt_a );
}

#* locus tag prefix *#
my $locus_tag_prefix = $opt_l;
if ( !defined( $locus_tag_prefix ) ) {
  &usage;
  die "No locus tag prefix given\n";
}

#* prot ID prefix *#
my $prot_ID_prefix = $opt_i;
if ( !defined( $prot_ID_prefix ) ) {
  $prot_ID_prefix = $locus_tag_prefix;
}

#* bad ECs file *#
my $bad_ECs_file = $opt_e;
if ( !defined( $bad_ECs_file ) ) {
  $bad_ECs_file = 'ECs_deleted_and_transferred.txt';
}

#* results file *#
my $res_file = $opt_r;
if ( !defined( $res_file ) ) {
  &usage;
  die "No output file given\n";
}
#* xls file *#
my $xls_log_file = $opt_x;
if ( !defined( $xls_log_file ) ) {
  $xls_log_file = $res_file;
  $xls_log_file =~ s/\.tbl/\.xls/;
}

open ( RES, ">$res_file" ) or die "can't open $res_file!\n";
open ( XLS_LOG, qq(>$xls_log_file)) || die qq(Could not write-open $xls_log_file);

###############################################
# load hashes for keep caps and special cases #
###############################################
my $keep_caps     = &load_keep_caps;
my $special_cases = &load_special_cases();
my $map_EC_to = &load_bad_EC_numbers( $bad_ECs_file );

##################
# Some Constants #
##################

use constant ENTRY  =>  0;
use constant FILE   =>  1;
use constant FID    =>  2;
use constant LOCUS  =>  3;
use constant CONTIG =>  4;
use constant START  =>  5;
use constant STOP   =>  6;
use constant LEN    =>  7;
use constant STRAND =>  8;
use constant FUNC   =>  9;

#################################
# load sequences for the genome #
#################################
my $contigs_file = "$org_dir/contigs";
my ($seq_of, $len_of) = &load_contigs($contigs_file);

##################
# load tbl files #
##################
my @tbl_files;
my $tmp = "$org_dir/Features/rna/tbl";
if (-s $tmp) { push @tbl_files, $tmp; } else { push @tbl_files, "/dev/null"; }

$tmp = "$org_dir/Features/peg/tbl";
if (-s $tmp) { push @tbl_files, $tmp; } else { die "PEG tbl file $tmp does not exist"; }

my $tbl = &load_tbls(@tbl_files);

##################
# load functions #
##################
my %func_of = map { chomp; m/^(\S+)\t(.*)$/o ? ($1 => $2) : () } `cat $org_dir/assigned_functions`;


##############################################
# Now start the process - go through contigs #
##############################################

my $done_fids;
foreach my $contig_id (sort keys %$seq_of) {
  print RES ">Feature\t$contig_id\n";

  my $contig_features = $tbl->{ $contig_id };
  foreach my $entry ( @$contig_features ) {
    # this was put in for pseudogenes, where the second/following 
    # part is already part of the pseudogene
    next if $done_fids->{ $entry->[FID] };

    # get entry type
    my $type = &type_of( $entry );
    if ( !defined( $type ) ) {
      die ( qq(aborting with entry = ), $fig->flatten_dumper($entry), qq(\n), Dumper( $contig_features ) );
    }
    
    # get entry function
    $entry->[FUNC] = $func_of{ $entry->[FID] };

    # get the feature number
    my $feature_number;
    if ( $entry->[FID] =~ m/\.(\d+)$/ ) {
      $feature_number = $1;
    }
    else {
      die "Could not parse FID $entry->[FID]";
    }

    if ( defined( $pseudo_list->{ $entry->[FID] } ) ) {
      &output_PSEUDO( $entry, $feature_number, $locus_tag_prefix, *RES, $pseudo_list->{ $entry->[FID] }, $done_fids, $contig_features );
      next;
    }
    if ( $type eq qq(CDS) ) {
      &output_CDS( $entry, $feature_number, $locus_tag_prefix, $partial_list, *RES, *XLS_LOG );
    }
    elsif ( $type =~ m/RNA/o ) {
      &output_RNA( $entry, $feature_number, $locus_tag_prefix, *RES );
    }
    else {
      die "Unsupported feature type:\n", Dumper($entry);
    }
  }
}



##################
# close up stuff #
##################

close RES;
close XLS_LOG;





#-----------#
#############
## METHODS ##
#############
#-----------#


#################
# Write PSEUDOS #
#################
sub output_PSEUDO {
  my ( $entry, $feature_number, $locus_tag_prefix, $RES, $otherones, $donehash, $contig_features ) = @_;

  $feature_number = &zero_pad( 6, $feature_number );
  my $locus_tag = $locus_tag_prefix . $feature_number;

  my $strand = 'fw';
  my ( $nonsense, $beg, $end ) = $fig->boundaries_of( $entry->[LOCUS] );
  if ( $beg > $end ) {
    $strand = 'rv';
  }

  $donehash->{ $entry->[FID] } = 1;
  foreach my $oo ( @$otherones ) {

    my $thisentry;
    foreach my $te ( @$contig_features ) {
      if ( $te->[FID] eq $oo ) {
	my ($beg1, $end1);
	(undef, $beg1, $end1) = $fig->boundaries_of( $te->[LOCUS] );
	if ( $strand eq 'fw' ) {
	  $end = $end1;
	}
	else {
	  $beg = $beg1;
	}
      }
    }

    $donehash->{ $oo } = 1;    
  }

  my $func  = $entry->[FUNC];

  $func =~ s/\s+/ /go;
  my ($product, $prot_desc, $notesP, $ec_numsP, $tc_numsP, $famsP) = &normalize_function( $entry->[FID], $func, 0);
  if ( !defined( $product ) || $product eq '' ) {
    $product = $prot_desc;
  }
  if ( $product =~ /(.*)\s\# frameshift$/ ) {
    $product = $1;
  }

  print $RES (join(qq(\t), ($beg, $end, 'gene')),                       qq(\n));
  print $RES join(qq(\t), (qq(), qq(), qq(), qq(gene_desc),    $product)),    qq(\n);
  print $RES (join(qq(\t), (qq(),        qq(),        qq(),       qq(locus_tag),  $locus_tag)),  qq(\n));
  print $RES (join(qq(\t), (qq(),        qq(),        qq(),       qq(pseudo)),  qq(\n)));
  print $RES (join(qq(\t), (qq(),        qq(),        qq(),       qq(note), qq(frameshift)),  qq(\n)));
}

##############
# Write RNAs #
##############
sub output_RNA {
  my ( $entry, $feature_number, $locus_tag_prefix, $RES ) = @_;
  
  $feature_number = &zero_pad( 6, $feature_number, qq(rna) );
  my $locus_tag = $locus_tag_prefix . $feature_number;
  
  my ( $nonsense, $beg, $end ) = $fig->boundaries_of($entry->[LOCUS]);

  print $RES ( join( qq(\t), ($beg, $end, qq(gene))), qq(\n),
	       join( qq(\t), (qq(),        qq(),        qq(),       qq(locus_tag),  $locus_tag)),  qq(\n),
	     );
  
  my $trunc = $fig->possibly_truncated( $entry->[FID] );
  if ($beg < $end) {
    if ( $trunc eq qq(start) ) {
      $beg = qq(<$beg);
    }
    elsif ( $trunc eq qq(stop) ) {
      $end = qq(>$end);
    }
  }
  else {
    if ( $trunc eq qq(start) ) {
      $beg = qq(>$beg);
    }
    elsif ( $trunc eq qq(stop) ) {
      $end = qq(<$end);
    }
  }	
    
  my $type = &type_of($entry);
  
  my $func = $entry->[FUNC];
  if    ($func =~ m/5S\s*RNA/o) {
    #...No change
    $func = qq(5S rRNA);
  }
  elsif ($func =~ m/SSU\s*rRNA/o) {
    $func = qq(16S rRNA);
  }
  elsif ($func =~ m/LSU\s*rRNA/o) {
	$func = qq(23S rRNA);
      }
  elsif ($func =~ m/^tRNA/o) {
    # try to cut off the codon (anticodon?) information
    if ( $func =~ /^(tRNA-\w{3}).*/ ) {
      $func = $1;
    }
  }
  else {
    $func = qq(misc_RNA);
  }
  
  print $RES (join(qq(\t), ($beg, $end, $type)),                       qq(\n));
  print $RES (join(qq(\t), (qq(), qq(), qq(),    qq(product), $func)), qq(\n));
  
  return 1;
}

##############
# Write CDSs #
##############
sub output_CDS {
  my ( $entry, $feature_number, $locus_tag_prefix, $partial_list, $RES, $XLS_LOG ) = @_;
  my $fid = $entry->[FID];

  $feature_number = &zero_pad( 6, $feature_number );
  my $locus_tag = $locus_tag_prefix . $feature_number;

  # get entry location on the contig
  my ( $nonsense, $region_beg, $region_end ) = $fig->boundaries_of( $entry->[LOCUS] );
  if ( defined( $partial_list->{ $fid } ) ) {
    my ( $st, $val ) = @{ $partial_list->{ $fid } };
    if ( $st eq 'start' ) {
      $region_beg = $val;
    }
    if ( $st eq 'stop' ) {
      $region_end = $val;
    }
  }

  print $RES ( join( qq(\t), ($region_beg, $region_end, qq(gene))), qq(\n),
	       join( qq(\t), (qq(),        qq(),        qq(),       qq(locus_tag),  $locus_tag)),  qq(\n),
	    );
  
  my @products   = ();
  my @prot_descs = ();
  my @notes       = ();
  my @ec_nums     = ();
  my @tc_nums     = ();
  my @fams        = ();

  ###########################
  # Write locus information #
  ###########################
  my @chunks = split( m/,/, $entry->[LOCUS] );
    
  my $first_chunk = shift @chunks;
  my ( $nonsense2, $beg, $end ) = $fig->boundaries_of( $first_chunk );

  if ( defined( $partial_list->{ $fid } ) ) {
    my ( $st, $val ) = @{ $partial_list->{ $fid } };
    if ( $st eq 'start' ) {
      $beg = $val;
    }
    if ( $st eq 'stop' ) {
      $end = $val;
    }
  }
  
  print $RES ( join( qq(\t), ( $beg, $end, qq(CDS) ) ), qq(\n) );
  foreach my $chunk (@chunks) {
    ( undef, $beg, $end ) = $fig->boundaries_of( $chunk );
    print $RES ( join( qq(\t), ($beg, $end) ), qq(\n) );
  }
  
  ##############################
  # Now about the CDS function #
  ##############################
  my $func  = $entry->[FUNC];
  $func =~ s/\s+/ /go;
  my $original_func = $func;

  # Trim off "comment" field; save it as a "note" if it "propagates"
  if ( $func =~ m/(\#{1,2})\s+(.*)$/ ) {
    if ( $1 eq qq(\#\#) ) { 
      push @notes, $2;
    }
    $func =~ s/\#.*$//o;
  }
    
  # Check type of assignment
  my $assignment_type = q();
  if    ($func =~ m{ \/ }) {
    $assignment_type = qq(multifunctional enzyme);
  }
  elsif ($func =~ m{\@ }) {
    $assignment_type = qq(enzyme with broad specificity);
  }
  elsif ($func =~ m{\; }) {
    $assignment_type = qq(most likely function alternative not yet resolved);
  }
  
  #...Split on " / ", '; ', or " @ "
  my @funcs = split m{ \/ |\; | \@ }, $func;
  my @tmp = @funcs;
  @tmp = grep { &weasel_words($_) } map { s{ [\(\[] [ET] C [^\)\]]+ [\)\]] }{}gox; $_ } @tmp;
  
  ############################
  # Now go through functions #
  ############################
  foreach $func ( @funcs ) {
    my $prenormalized_func = $func;	
    
    my $x;
    if ( defined( $x = $special_cases->{$original_func} ) ) {
      
      if ( defined( $x->{ prod } ) ) {
	push ( @products, @{ $x->{ prod } } );
      }
      
      if ( defined( $x->{ desc } ) ) {
	push ( @prot_descs, @{ $x->{ desc } } );
      }
      
      if ( defined( $x->{ note } ) ) {
	push ( @notes, @{ $x->{ note } } );
      }
      
      if ( defined( $x->{ ecnu } ) ) {
	push ( @ec_nums, @{ $x->{ ecnu } } );
      }
      last;
    }
    elsif ( defined( $x = $special_cases->{$func} ) ) {
      
      if ( defined( $x->{ prod } ) ) {
	push ( @products, @{ $x->{ prod } } );
      }
      
      if ( defined( $x->{ desc } ) ) {
	push ( @prot_descs, @{ $x->{ desc } } );
      }
      
      if ( defined( $x->{ note } ) ) {
	push ( @notes, @{ $x->{ note } } );
      }
      
      if ( defined( $x->{ ecnu } ) ) {
	push ( @ec_nums, @{ $x->{ ecnu } } );
      }
    }
    else {
      my ( $product, $prot_desc, $notesP, $ec_numsP, $tc_numsP, $famsP ) = &normalize_function( $fid, $func );
      
      push (@products,   $product)    if $product;
      push (@prot_descs, $prot_desc)  if $prot_desc;
      push (@notes,      @$notesP);
      push (@ec_nums,    @$ec_numsP);
      push (@tc_nums,    @$tc_numsP);
      push (@fams,       @$famsP);
      
      #...Add note for PEGs marked "(fragment)," and set "pseudogene" flag as required by NCBI
      if ($func =~ /fragment/io) {
	unshift @notes, qq(Fragment);
	$func =~ s/\s*\(?fragment\)?//i;
      }
    }
    
#    if ( !defined( $notesP ) )  {
#      $notesP = [];
#    }
    
#    if ($product) {
#      if (not defined($preimages_of{$product}))    { $preimages_of{$product} = {}; }
#      $preimages_of{$product}->{$func}   = [ qq(prod), @$notesP ];
#    }
    
#    if ($prot_desc) {
#      if (not defined($preimages_of{$prot_desc}))  { $preimages_of{$prot_desc} = {}; }
#      $preimages_of{$prot_desc}->{$func} = [ qq(desc), @$notesP ];
#    }
  }
  
  if ( $assignment_type ) {
    if ( $assignment_type eq qq(multifunctional enzyme) ) {
      if ( @products ) {
	my $product = join( qq(/), @products );
	@products = ( $product );
      }
      else {
	unshift @notes, $assignment_type;
      }
    }
    else {
      unshift @notes, $assignment_type;
    }
  }
  
  if ( @products == 0 ) {
    push @products, qq(hypothetical protein);
  }
  
  @products = @{ uniquify( \@products ) };
  foreach my $product   (@products) {
    print $RES join(qq(\t), (qq(), qq(), qq(), qq(product),    $product)),    qq(\n);
  }
  
  @prot_descs = @{ uniquify( \@prot_descs ) };
  foreach my $prot_desc ( @prot_descs ) {
    print $RES join(qq(\t), (qq(), qq(), qq(), qq(prot_desc),  $prot_desc)),  qq(\n);
  }

  @ec_nums = @{ uniquify( \@ec_nums ) };
  foreach  my $ec_num ( @ec_nums ) {
    print $RES join(qq(\t), (qq(), qq(), qq(), qq(EC_number),  $ec_num)),     qq(\n);
  }
  
  my @notestmp = @tc_nums;
  push @notestmp, @fams;
  push @notestmp, @notes;
  @notes = @{ uniquify( \@notestmp ) };
  foreach my $note ( @notes ) {
    print $RES join(qq(\t), (qq(), qq(), qq(), qq(note),       $note)),  qq(\n);
  }
  
  @tmp = ();
  push @tmp, map { qq(prod: $_) } @products;
  push @tmp, map { qq(desc: $_) } @prot_descs;
  push @tmp, map { qq(note: $_) } @notes;
  my $first_annot = shift(@tmp) || qq();
  print $XLS_LOG (join(qq(\t), ($fid, $original_func, $first_annot, join(qq( ), @ec_nums))), qq(\n));
  foreach my $tmp (@tmp) {
    print $XLS_LOG (join(qq(\t), (q(), q(), qq(), $tmp, qq())), qq(\n));
  }

  my $fid_num = 0;
  if ( $fid =~ m/\.(\d+)$/ ) {
    $fid_num = $1;
    $fid_num = ( "0" x ( 6 - length( $fid_num ) ) ) . $fid_num;
  }
  else {
    die "Could not parse FID $entry->[FID]";
  }
  
  # print the protein id #
  print $RES (join(qq(\t), (qq(), qq(), qq(), qq(protein_id), qq(gnl\|$submitter_ID\|$prot_ID_prefix).$fid_num)),  qq(\n));
  
  return 1;
}

#############################
# constructs the protein id #
#############################
sub zero_pad {
    my ($num_digits, $number, $prefix) = @_;
    $prefix = defined($prefix) ? $prefix : qq();
    
    my $prefix_length = length($prefix);
    my $number_length = length($number);
    
    if ($num_digits < $prefix_length + $number_length) {
	die "!!! Too many digits: digits=$num_digits, number=$number, prefix=$prefix";
    }
    
    return ($prefix . ("0" x ($num_digits - $prefix_length - $number_length)) . $number);
}

###############################
# through double entries away #
###############################
sub uniquify {
  my ( $array ) = @_;
  
  my @retarray;
  my %used;
  foreach ( @$array ) {
    next if ( defined( $used{ $_ } ) );
    $used{ $_ } = 1;
    push @retarray, $_;
  }
  return \@retarray;
}

sub type_of {
    my ($entry) = @_;
    
    my $fid  = $entry->[FID];
    my $func = $entry->[FUNC] || qq();
    
    if    ($fid =~ m/\.peg\./o) {
	return qq(CDS);
    }
    elsif ($fid =~ m/\.rna\./o) {
	if (($func =~ m/rRNA/o) || ($func =~ m/5S RNA/o)) {
	    return qq(rRNA);
	}
	elsif ($func =~ m/tRNA/o) {
	    return qq(tRNA);
	}
	else {
	    return qq(misc_RNA);
	}
    }
    else {
	die "This Can't Happen !!!";
    }
    
    die "This Can't Happen !!!";
}

sub weasel_words {
#...Attempt to catch things NCBI bitches about in protein names
    my ($x) = @_;

#...protein names should not contain molecular weights
#    if ($x =~ /\bkDa\b/io)                 { return 1 }

#...fragments are not "real" genes, but are demoted to "pseudogenes"
#    if ($x =~ /fragment/io)                { return 2 }

#...protein names should not mention cellular location
#    if ($x =~ /inner[- ]membrane/io)       { return 3 }
#    if ($x =~ /periplasmic/io)             { return 4 }

#...protein names should not contain any hint of ambiguity
#    if ($x =~ /predicted/io)               { return 5 }
#    if ($x =~ /probable/io)                { return 6 }
#    if ($x =~ /putative/io)                { return 7 }
#    if ($x =~ /hypothetical/io)            { return 8 }
    
#...protein names should not be descriptive phrases
    if ($x =~ /,\s/io)                     { return 9 }
#    if ($x =~ /\sand\s/io)                 { return 10 }
#    if ($x =~ /of\s+the\b.*\b(super)?family/io)         { return 100 }
#    if ($x =~ /fused\s+to/io)              { return 11 }
#    if ($x =~ /involved\s+in/io)           { return 12 }
#    if ($x =~ /component.*\bof\b/io)       { return 13 }
#    if ($x =~ /exported\s+protein/io)      { return 14 }

#...protein names should not contain references to homology
#    if ($x =~ /motif/io)                   { return 15 }
#    if ($x =~ /containing/io)              { return 16 }
#    if ($x =~ /analog\s+of/io)             { return 17 }
#    if ($x =~ /[- ]like/io)                { return 18 }
#    if ($x =~ /similar\s+to/io)              { return 19 }
#    if ($x =~ /similarity/io)              { return 20 }
#    if ($x =~ /homolog(ous)?/io)           { return 21 }
#    if ($x =~ /ortholog(ous)?/io)          { return 22 }
#    if ($x =~ /structural\s+feature/io)    { return 23 }
#    if ($x =~ /conserved.*\bdomain\b/io)   { return 24 }
#    if ($x =~ /conserved\s+in/io)          { return 25 }
#    if ($x =~ /binding[- ]site/io)         { return 26 }
    
    return 0;
}


sub normalize_function {

    my ($fid, $func) = @_;
    
    my $product   = qq();
    my $prot_desc = qq();
    my $notesP    = [];
    my $ec_numsP  = [];
    my $tc_numsP  = [];
    my $famsP     = [];
    
    #...Trim leading and trailing spaces, and collapse multiple spaces
    $func =~s/^\s+//o;
    $func =~s/\s+$//o;
    $func =~s/\s+/ /go;
    
    #...Remove whitespace before commas
    $func =~ s/\s+,/,/go;
    
    #...Remove space between ")" and "-"
    $func =~ s/\)\s+\-/\)\-/go;
    
    #...Remove references to FIGfam membership
    if ($func =~ m/^(FIG\d+)/) {
	#...We are currently suppressing FIGfam-IDs
	$func =~ s/^FIG\d+[:_ ]\s*//o;
	$func =~ s/^FIG\d+\s+\(not\s+subsystem\s+based\):\s+//o;
    }

    #...Move references to EC-numbers into @$ec_numsP
#   print STDERR qq($fid\t$func\n);
    while ($func =~ m/[\(\]]\s*EC[_:]?\s*([^\)\]]+)[\)\]]/o) {
	my $contents = $1;
#	print STDERR qq(\t$contents:);
	foreach my $token (split(m/[, ]\s*/, $contents)) {
	    if ($token =~ m/(\d+\.([0-9]+|-)\.([0-9]+|-)\.([0-9]+|-))/o) {
		my $ec_num = $1;
#		print STDERR qq(\t$ec_num);
		
		if    ($ec_num =~ m/\.\-$/o) {
		    #...Skip partials
		    next;
		}
		elsif (defined($map_EC_to->{$ec_num})) {
		    #...Skip any changed EC
		    next;
		    
# 		    if ($map_EC_to->{$ec_num} eq qq(-1)) {
# 			#...Skip --- EC is either split or deleted
# 			next;
# 		    }
# 		    else{
# 			#...Replace EC if uniquely mappable
# 			$ec_num = $map_EC_to->{$ec_num};
# 		    }
		}		    
		
		push @$ec_numsP, $ec_num;
	    }
	    else {
		push @$notesP, $token;
	    }
	}
	
	$func =~ s/[\(\]]\s*EC[_:]?\s*([^\)\]]+)[\)\]]//o;
    }
    
    #...Move references to TC-numbers into @$tc_numsP
    if ($func =~ m/\(\s*TC[_:]?\s*([^\)]+)\)/o) {
	push @$tc_numsP, qq(TC $1);
	$func =~ s/\(\s*TC[^\)]+\)//;
    }
    
    #...Move references to COGs into @fams (will become "note")
    $func =~ s/^COGs\s*//o;
    if ($func =~ m/COG/) {
	if ($func =~ s/^((COG\d{4})[,:_]?\*(family)?)\s*/$2 $3/o) {
	    push @$notesP, $func;
	    $func = qq();
	}
	else {
	    while ($func =~ s/,?\s*(COG\d{4}):?\s*//o) {
		push @$famsP, $1;
	    }
	}
    }
    
    #...Again trim leading and trailing spaces, collapse multiple spaces, and snug up commas
    $func =~s/^\s*,?\s+//o;
    $func =~s/\s+$//o;
    $func =~s/\s+/ /go;
    $func =~ s/\s+,/,/go;
    
    #...Attempt to downcase "ALL CAPS"
    if ($func !~ m/[a-z]/) {
	$func = lc($func);
    }
    
    #...If first word is capitalized, and not on list of known gene-names,
    #   downcase initial cap
    if ($func =~ m/^(\w+)/) {
	my $first_token = $1;
	if (($first_token =~ m/^[A-Z][a-z]+$/o) && (not $keep_caps->{$first_token})) {
	    substr($func, 0, 1) = lc( substr($func, 0, 1) );
	}
    }
    
    if ( my $code = weasel_words( $func ) ) {
      if ( $code == 9 ) {
	my $newfunc = transform($func, $special_cases, $keep_caps);
	$func = join( "/", @{ $newfunc->{prod} });
	$product = $func;

	if (my $code = weasel_words($func)) {	    
#	  print STDERR "AGAIN: $code $func\n";
	}
      }
      else {
	$prot_desc = $func;
      }
    }
    else {
      $product   = $func;
    }
    #    }
    
    return ($product, $prot_desc, $notesP, $ec_numsP, $tc_numsP, $famsP);
}



################
# load contigs #
################
sub load_contigs
{
    my ($contigs_file) = @_;
    
    my $seq_of = {};
    my $len_of = {};
    
    open (CONTIGS, "<$contigs_file") or die "could not open $contigs_file to read";
    while ( (! eof(CONTIGS)) && ( my ($id, $seqP) = &FIG::read_fasta_record(\*CONTIGS) ) )
    {
    	$$seqP =~ tr/a-z/A-Z/;
	$seq_of->{$id} = $$seqP;
	$len_of->{$id} = length($$seqP);
    }
    close(CONTIGS) or die "could not close $contigs_file";
    
    return ($seq_of, $len_of);
}

##################
# load tbl files #
##################
sub load_tbls
{
    my (@tbl_files) = @_;
    my ($entry, $fid, $org, $locus, $contig, $beg, $end, $strand, $len);
    
    my $tbl  = {};
    my $file = 0;
    foreach my $tbl_file (@tbl_files)
    {
	my $num_fids = 0;
	open(TBL,"<$tbl_file") || die "could not open $tbl_file";
	print STDERR "Loading $tbl_file ...\n" if $ENV{VERBOSE};
	
	while (defined($entry = <TBL>))
	{
	    ++$num_fids;
	    chomp $entry;
	    if ($entry =~ /^(\S+)\s+(\S+)/)
	    {
		($fid, $locus) = ($1, $2);
		if ($fid =~ m/^fig\|(\d+\.\d+)/) { $org = $1; } else { die "Invalid FID $fid"; }

		($contig, $beg, $end) = $fig->boundaries_of($locus);
		
		if ($beg < $end) { $strand = '+'; } else { $strand = '-'; }
		
		$len = 1 + abs($end-$beg);
		
		unless (defined($tbl->{$contig})) { $tbl->{$contig} = []; }
		push(@ { $tbl->{$contig} }
		     , [$entry, $file, $fid, $locus, $contig, $beg, $end, $len, $strand]
		     );
	    }
	    else
	    {
		print STDERR "Skipping invalid entry $entry\n";
	    }
	}
	print STDERR "Loaded $num_fids features from $tbl_file\n\n" if $ENV{VERBOSE};
	close(TBL);
	++$file;
    }
    
    foreach my $contig (keys(%$tbl))
    {
	my $x = $tbl->{$contig};
	$tbl->{$contig} = [sort { &FIG::min($a->[START],$a->[STOP]) <=> &FIG::min($b->[START],$b->[STOP]) } @$x];
    }
    
    return $tbl;
}


###############################
# Names that should stay caps #
###############################
sub load_keep_caps {
  my $keep_caps = {};
    
  my $entry;
  while ( defined( $entry = <DATA> ) ) {
    last if ( $entry eq qq(///\n) );
    chomp $entry;
    $keep_caps->{ $entry } = 1;
  }
  
  return $keep_caps;
}

#######################
# list of pseudogenes #
#######################
sub load_pseudo_list {
  my ( $pseudo_file ) = @_;

  my $pseudo_list;
  open ( PL, $pseudo_file ) or die "cannot open $pseudo_file";

  while ( <PL> ) {
    chomp;
    next if ( !defined( $_ ) );
    my @frags = split( "\t", $_ );
    my $first = shift @frags;
    $pseudo_list->{ $first } = \@frags;
  }

  close PL;
  return $pseudo_list;
}

#########################
# list of partial genes #
#########################
sub load_partial_list {
  my ( $partial_file ) = @_;

  my $partial_list;
  open ( PL, $partial_file ) or die "cannot open $partial_file";

  while ( <PL> ) {
    chomp;
    next if ( !defined( $_ ) );
    my ( $peg, $st, $val ) = split( "\t", $_ );
    $partial_list->{ $peg } = [ $st, $val ];
  }

  close PL;
  return $partial_list;
}


#########
# usage #
#########
sub usage {
  print STDERR "seed2tbl -o ORGDIR
                         -s SUBMITTER_ID
                         -l LOCUS_TAG_PREFIX
                         -p PSEUDO_FILE
                         -i PROT_ID_PREFIX
                         -r RESULT_TBL_FILE
";
}

##################
# bad EC numbers #
##################
sub load_bad_EC_numbers {
    my ($bad_EC_file) = @_;
    
    open(BAD_ECs, qq(<$bad_EC_file))
	|| die qq(Could not read-open \`$bad_EC_file\');
    
    my $record;
    my $map_EC_to = {};
    while (defined($record = <BAD_ECs>)) {
	if ($record =~ m/^(\S+)/o) {
	    my $old_ec = $1;
	    if ($record =~ m/^\S+\t(\S+)/o) {
		my $new_ec = $1;
		if (not defined($map_EC_to->{$old_ec})) {
		    $map_EC_to->{$old_ec} = $new_ec;
		}
		else {
		    #...Split EC
		    $map_EC_to->{$old_ec} = -1;
		}
	    }
	    else {
		#...Deleted EC
		$map_EC_to->{$old_ec} = -1;
	    }
	}
	else {
	    die "Could not parse $bad_EC_file record $.: $record";
	}
    }
    close(BAD_ECs);
    
    return $map_EC_to;
}


#################
# special cases #
#################
sub load_special_cases {
  my $old_eol;
  my $special_cases = {};
  
  my $record;
  ($old_eol, $/) = ($/, qq(\n//\n));
  while ( defined( $record = <DATA> ) ) {
    chomp $record;
    my @entries = split( /\n/, $record );
    
    my $func = shift @entries;
    $func =~ s/^func:\t//o;
    
    my $x = $special_cases->{$func} = {};
    
    foreach my $entry ( @entries ) {
      my ( $type, $val ) = split( /\:\t/, $entry );
      push @ { $x->{$type} }, $val;
    }
  }
  $/ = $old_eol;
  
  return $special_cases;
}


sub transform {
    my ($func, $special, $keep_caps) = @_;
    
    $func =~ s/\s{2,10}/ /g;
#   $func =~ s/\) -methyl/)-methyl/g;
    if ((! $func) || ($func =~ m/^hypothetical\s*$/o)) {
	$func = "hypothetical protein";
    }
    my $pieces = {};
    
    if ( $special->{ $func } ) {
      $func = $special->{ $func }
    }
    if ( $func =~ /HASH/ ) {
      $func = join( '/', @{ $func->{ prod } } );
    }
    
    my $func0 = &clean_comments($func);
    $func = $func0;
    
    my @funcs = split(/ \/ | \@ |\; /,$func);
    foreach my $x (@funcs)
    {
	&transform1($x,$pieces,$special,$keep_caps);
    }
    my %prods = map { $_ => 1 } @{$pieces->{prod}};
    $pieces->{prod} = [sort keys(%prods)];
    if (@funcs > 1) { 
      $pieces->{prod} = [ join( "/", @{$pieces->{prod} } ) ]; 
    }
    return $pieces;
}

sub transform1 {
    my($func, $pieces, $special, $keep_caps) = @_;
    my $note;

    if ($special->{$func}) { $func = $special->{$func} }
    
    my($func1,$ecs) = &clean_ecs($func);
    if (@$ecs > 0) { push(@{$pieces->{ecs}},@$ecs) }
    $func = $func1;
    
    my($func2,$tcs) = &clean_tcs($func);
    if (@$tcs > 0) { push(@{$pieces->{tcs}},@$tcs) }
    $func = $func2;
    
    #...NOTE: &clean_clustered_with() must be called before &clean_commas()
    my $func9;
    ($func9, $note) = &clean_clustered_with($func);
    if ($note) { push(@{$pieces->{notes}}, $note); }
    $func = $func9;

    my $func3 = &clean_commas($func);
    $func = $func3;
    
    my ($func8, $pseudo) = &clean_fragment($func);
    if ($pseudo) {
	#...This is klutzy, but I see no other work-around... :-(
	push @ { $pieces->{pseudo} }, qq(fragment);
    }
    $func = $func8;
    
    my $func5 = &clean_cogs($func);
    $func = $func5;
    
    my($func6,$wts) = &clean_weights($func);
    $func = $func6;
    if (@$wts > 0) { push(@{$pieces->{notes}},@$wts) }
    
    my $func7 = &clean_rrna($func);
    $func = $func7;
    
    my($func4,$notes) = &clean_locations($func);
    $func = $func4;
    if (@$notes > 0) { push(@{$pieces->{notes}},@$notes) }
    
    my $func_final = &fix_caps($func, $keep_caps);
    $func = $func_final;
    
    if (not $func) { $func = qq(hypothetical protein); }
    
    push(@{$pieces->{prod}}, $func);
    return $pieces;
}


sub clean_clustered_with {
    #...NOTE: Must be called before &clean_commas()
    my ($func) = @_;
    my $note;
    
    if    ($func =~ s/\s*\((clustered\s+with\s+[^\)]+)\)//o) {
	$note = $1;
    }
    elsif ($func =~ s/,?(\s+in)?\s+cluster(ed)?\s+(with.*)$//o) {
	$note = qq(clustered with $3);
    }
    
    return ($func, $note);
}

sub fix_caps {
    my ($func, $keep_caps) = @_;
    
    if    (($func =~ m/^(\w+)/o) && (defined($keep_caps->{$1}))) {
	#...First token of $func is on the keep list; return unchanged
	return $func;
    }
    elsif ($func !~ m/[a-z]/o) {
	#...Convert to lower-case, since NCBI hates "ALL CAPS"
	$func = lc( $func );
    }
    else {
	#...Convert first letter to lower-case
	$func =~ s/^\s*//o;   #...Make sure first char is not "whitespace"
	substr($func, 0, 1) = lc( substr($func, 0, 1) );
    }
    
    return $func;
}

sub clean_fragment {
    my ($func) = @_;

    my $pseudo = qq();
    if ($func =~ s/\s*[\(]?fragment[\)]?//io) {
	$pseudo = 1;
    }
    return ($func, $pseudo);
}

sub clean_rrna {
    my($func) = @_;

    $func =~ s/23s r?rna/LSU rRNA/i;
    $func =~ s/16s r?rna/SSU rRNA/i;
    return $func;
}

sub clean_weights {
    my($func) = @_;

    my $wts = [];
    if ($func =~ s/\b(\d+ kda)\s*//i)
    {
	push(@$wts,$1);
    }
    return ($func,$wts);
}

sub clean_cogs {
    my($func) = @_;

    $func =~ s/^COGs\s+//;
    $func =~ s/COG\d{4}[:,_]?\s*//;
    return $func;
}

sub clean_locations {
    my($func) = @_;

    my $notes = [];
    while ($func =~ s/\s*(outer membrane|inner membrane|cytoplasmic|periplasmic)( protein)?//i)
    {
	push(@$notes, lc(qq($1 protein)));
    }
    $func =~ s/^\s+//;
    return ($func,$notes);
}

sub clean_comments {
    my($func) = @_;
    
    $func =~ s/\s*\#.*$//;
    return $func;
}

##################################
# clean commas from the function #
##################################
sub clean_commas {
  my( $func ) = @_;

  # only if followed by space
  $func =~ s/, / /g;
  return $func;
}

#################################
# get EC nums from the function #
#################################
sub clean_ecs {
  my( $func ) = @_;

  my $ecs = [];
  while ( $func =~ s/\s*[\(\[]EC\s+([0-9\-\.]+)[\)\]],?//g ) {
    my $ec = $1;
    # only take them if no '-' is in there
    if ($ec !~ /\-/) { 
      push( @$ecs, $1 ); 
    }
  }
  return ( $func, $ecs );
}

#################################
# get TC nums from the function #
#################################
sub clean_tcs {
  my($func) = @_;
  
  my $tcs = [];
  while ( $func =~ s/\s*[\(\[]TC\s+([a-zA-Z0-9\-\.]+)[\)\]],?//g ) {
    push(@$tcs,$1);
  }
  return ( $func, $tcs );
}

__DATA__
ABC
TRAP
ATPase
ComM
CRISPR
C4
P6
OmpA
MotB
ATPase 
YjeE
FKBP
SSU
LSU
NADH
DNA
RNA
rRNA
tRNA
mRNA
TRP
AmpG
AnkB
ApaG
Apo
AraC
ArdK
AsmA
AzlC
BarA
BatA
BatD
BolA
BsuBI
CapK
CbbY
CcdB
Ccm2
Che
CheW
ClpB
Cob
CopG
CreA
Cro
CtxA
CymA
CymJ
DamX
DedA
DedD
DinG
DnaJ
DnaK
ElaA
FlaF
FAD
FxsA
FyuA
GatB
GlcNAc
GlpG
GlpM
GTP
HflC
HflK
HigB
High
HipA
HlyD
IcmF
IncF
IncW
IstB
Kef
Kup
LppC
LptA
LuxA
LuxB
LuxC
LuxD
LuxE
LuxG
LysR
MadN
Maf
MiaB
Mlc
Mll3428
MotA
MoxR
Mrp
Mrr
MshO
MutT
Na+
NAD
NfuA
NhaP
NnrS
NupC
OpgC
OsmC
OxaI
ParA
ParE
PmbA
ProQ
PrpF
Psp
PutR
PvcB
PTS
RarD
Rare
RbmA
RbmD
RecA
RelB
RelE
RfbT
Rhs
RhsD
RloF
Rod
RstA
RstB
Rtn
O-antigen
SanA
SeqA
SgrR
Sll1503
Smp
SohB
SsrA
StrA
Sua5
Syd
TagA
TagE
TetA
TetD
Tfp
TldD
TnpA
Tol
TolA
TonB
TonB2
TorCAD
ToxR
TraA
TraD
TraE
TraF
TraG
TraH
TraI
TraO
Trk
TrkA
Trp
TyrA
VgrG
VirK
VvgS
WavQ
WblB
Wzy
Xaa
Ycg4D
YciO
YgfY
YihE
YjeF
Ync
Ynd
///
func:	BarA-associated response regulator UvrY (= GacA = SirA)))
prod:	BarA-associated response regulator UvrY
note:	Similar to UvrY, GacA, and SirA
//
func:	Putative cytoplasmic protein ,probably associated with Glutathione-regulated potassium-efflux
prod:	hypothetical protein
note:	Putative cytoplasmic protein, probably associated with Glutathione-regulated potassium-efflux
//
func:	Aminomethyltransferase (glycine cleavage system T protein)
prod:	aminomethyltransferase
note:	glycine cleavage system T protein
//
func:	Outer membrane protein YfgL, lipoprotein component of the protein assembly complex (forms a complex with YaeT, YfiO, and NlpB)
prod:	YfgL protein
note:	outer membrane protein
note:	lipoprotein component of the protein assembly complex; forms a complex with YaeT, YfiO, and NlpB
//
func:	50S ribosomal subunit maturation GTPase RbgA (B. subtilis YlqF)
prod:	50S ribosomal subunit maturation GTPase RbgA
//
func:	Survival protein surA precursor (Peptidyl-prolyl cis-trans isomerase surA)
prod:	peptidyl-prolyl cis-trans isomerase SurA
note:	survival protein surA precursor 
//
func:	Glycine dehydrogenase [decarboxylating] (glycine cleavage system P protein)
prod:	glycine dehydrogenase [decarboxylating]
note:	glycine cleavage system P protein
//
func:	Flavohemoprotein (Hemoglobin-like protein) (Flavohemoglobin) (Nitric oxide dioxygenase)
prod:	flavohemoprotein
//
func:	Flavohemoprotein (Hemoglobin-like protein) (Flavohemoglobin) (Nitric oxide dioxygenase) (EC 1.14.12.17)
prod:	flavohemoprotein
ecnu:	1.14.12.17
//
func:	Protein export cytoplasm chaperone protein (SecB, maintains protein to be exported in unfolded state)
prod:	chaperone protein SecB
note:	cytoplasmic protein
note:	maintains exported protein in unfolded state
//
func:	GlpG protein (membrane protein of glp regulon)
desc:	protein GlpG
note:	membrane protein of glp regulon
//
func:	BatA (Bacteroides aerotolerance operon)
prod:	protein BatA
note:	Bacteroides aerotolerance operon
//
func:	Putative inner membrane protein YjeT (clustered with HflC)
prod:	protein YjeT
note:	inner membrane protein
note:	clustered with HflC
//
func:	Putative inner membrane protein (Fragment)
prod:	hypothetical protein
//
func:	Proline dehydrogenase (Proline oxidase)
prod:	proline dehydrogenase
prod:	proline oxidase
//
func:	Signal recognition particle receptor protein FtsY (=alpha subunit) (TC 3.A.5.1.1)
desc:	signal recognition particle receptor protein FtsY
note:	alpha subunit
note:	TC 3.A.5.1.1
//
func:	Flavodoxin reductases (ferredoxin-NADPH reductases) family 1
prod:	ferredoxin-NADPH reductase
note:	flavodoxin reductases, family 1
//
func:	Ferredoxin-type protein NapF (periplasmic nitrate reductase)
prod:	nitrate reductase
desc:	ferredoxin-type protein NapF
note:	periplasmic
//
func:	Aminoacyl-histidine dipeptidase (Peptidase D)
prod:	aminoacyl-histidine dipeptidase
desc:	Peptidase D
//
func:	Signal recognition particle receptor protein FtsY (=alpha subunit)
prod:	signal recognition particle receptor protein FtsY
note:	alpha subunit
//
func:	23S rRNA (guanine-N-2-) -methyltransferase rlmL EC 2.1.1.-)
prod:	23S rRNA (guanine-N-2-)-methyltransferase rlmL
//
func:	Beta N-acetyl-glucosaminidase( EC 3.2.1.52 )
prod:	beta N-acetyl-glucosaminidase
ecnu:	3.2.1.52
//
func:	(U59485) AttH
prod:	hypothetical protein
//
func:	18K peptidoglycan-associated outer membrane lipoprotein
prod:	peptidoglycan-associated outer membrane lipoprotein
//
func:	OmpA/MotB precursor
prod:	OmpA precursor
//
func:	(GlcNAc)2 ABC transporter, periplasmic substrate-binding protein
prod:	(GlcNAc)2 ABC transporter: substrate-binding protein
//
func:	Peptidoglycan-associated lipoprotein precursor
prod:	Peptidoglycan-associated lipoprotein
//
func:	CRISPR-associated helicase Cas3, protein
prod:	CRISPR-associated helicase Cas3
//
func:	Homolog of E. coli HemX protein
prod:	HemX-like protein
//
func:	Homolog of E. coli HemY protein
prod:	HemY-like protein
//
func:	Hypothetical protein
prod:	hypothetical protein
//
func:	hypothetical protein
prod:	hypothetical protein
//
func:	conserved domain protein
prod:	hypothetical protein
//
func:	Conserved domain protein
prod:	hypothetical protein
//
func:	unknown
prod:	hypothetical protein
//
func:	predicted by FrameD
prod:	hypothetical protein
//
func:	Frataxin homolog CyaY, facilitates iron supply for heme A synthesis or Fe-S cluster assembly
prod:	frataxin CyaY
note:	facilitates iron supply for heme A synthesis or Fe-S cluster assembly
//
func:	ATPase YjeE, predicted to have essential role in cell wall biosynthesis
prod:	ATPase YjeE
note:	predicted to have essential role in cell wall biosynthesis
//
func:	Permease of the drug/metabolite transporter (DMT) superfamily
prod:	permease
desc:	permease of the drug/metabolite transporter (DMT) superfamily
//
func:	Permeases of the drug/metabolite transporter (DMT) superfamily
prod:	permease
desc:	permease of the drug/metabolite transporter (DMT) superfamily
//
func:	Phosphate transport regulator (distant homolog of PhoU)
prod:	phosphate transport regulator
note:	distant homolog of PhoU
//
func:	Unsaturated fatty acid biosythesis repressor FabR, TetR family
prod:	unsaturated fatty acid biosythesis repressor FabR
note:	TetR family regulator
//
func:	33 kDa chaperonin
prod:	heat-shock chaperonin
//
func:	Ribosome-associated heat shock protein implicated in the recycling of the 50S subunit (S4 paralog)
prod:	ribosome-associated heat shock protein
note:	implicated in the recycling of the LSU (S4 paralog)
//
func:	TRANSCRIPTION ACCESSORY PROTEIN (S1 RNA binding domain)
prod:	transcription accessory protein
note:	S1 RNA binding domain
//
func:	MiaB-like tRNA modifying enzyme YliG, TIGR01125
prod:	MiaB-like tRNA modifying enzyme YliG
note:	TIGR01125
//
func:	Phosphoribulokinase (EC 2.7.1.19) homolog, function unknown
prod:	hypothetical protein
note:	phosphoribulokinase homolog of unknown function
//
func:	Hydrolase, alpha/beta fold family functionally coupled to Phosphoribulokinase
prod:	alpha/beta fold family hydrolase
note:	functionally coupled to phosphoribulokinase
//
func:	LptA, protein essential for LPS transport across the periplasm
prod:	LptA protein
note:	essential for LPS transport across the periplasm
//
func:	Uncharacterized protein YrbK clustered with lipopolysaccharide transporters
prod:	YrbK protein
note:	clustered with lipopolysaccharide transporters
//
func:	Inner membrane protein YrbG, predicted calcium/sodium:proton antiporter
prod:	YrbG protein
note:	inner membrane protein, predicted calcium/sodium:proton antiporter
//
func:	Uncharacterized ABC transporter, periplasmic component YrbD
prod:	uncharacterized ABC transporter, periplasmic component YrbD
//
func:	Phosphate starvation-inducible protein PhoH, predicted ATPase
prod:	phosphate starvation-inducible protein PhoH
note:	predicted ATPase
//
func:	HD-GYP domain
prod:	HD-GYP domain-containing protein
//
func:	Predicted ATP-dependent endonuclease of the OLD family
prod:	ATP-dependent endonuclease
note:	predicted ATP-dependent endonuclease of the OLD family
//
func:	No significant database matches
prod:	hypothetical protein
//
func:	COG0110: Acetyltransferase (isoleucine patch superfamily)
prod:	acetyltransferase
note:	isoleucine patch superfamily
//
func:	Metalloprotease, putative zinc-binding domain
prod:	metalloprotease
note:	putative zinc-binding domain
//
func:	YjeF protein, function unknown
prod:	YjeF protein
//
func:	Phosphate ABC transporter, periplasmic phosphate-binding protein pstS (TC 3.A.1.7.1)
prod:	phosphate ABC transporter, periplasmic phosphate-binding protein pstS
note:	TC 3.A.1.7.1
//
func:	Methyl-accepting chemotaxis protein III (mcp-III) (ribose and galactose chemoreceptor protein)
prod:	methyl-accepting chemotaxis protein III
note:	ribose and galactose chemoreceptor protein
//
func:	ABC transporter, transmembrane region:ABC transporter:Peptidase C39, bacteriocin processing
prod:	ABC transporter transmembrane region
//
func:	fig|345076.3.peg.2944 homologs, predicted periplasmic protein
prod:	hypothetical protein
note:	predicted periplasmic protein
//
func:	Phosphosugar mutase of unknown sugar (see annotation)
prod:	phosphosugar mutase
note:	phosphosugar mutase of unknown sugar
//
func:	Maltoporin (maltose/maltodextrin high-affinity receptor, phage lambda receptor protein)
prod:	maltoporin
note:	maltose/maltodextrin high-affinity receptor, phage lambda receptor protein
//
func:	Predicted Lactate-responsive regulator, LysR family
prod:	transcriptional regulator LysR family
note:	predicted Lactate-responsive regulator
//
func:	Permease of the major facilitator superfamily
prod:	permease
note:	permease of the major facilitator superfamily
//
func:	Maltose/maltodextrin ABC transporter, substrate binding periplasmic protein MalE
prod:	maltose/maltodextrin ABC transporter substrate binding periplasmic protein MalE
//
func:	AraC-type DNA-binding domain-containing protein
prod:	AraC-type DNA-binding domain-containing protein
//
func:	Transposase and inactivated derivatives
prod:	transposase
//
func:	ABC-type phosphate transport system, periplasmic component
prod:	ABC-type phosphate transport system periplasmic component
//
func:	Arginine ABC transporter, periplasmic arginine-binding protein ArtI
prod:	arginine ABC transporter periplasmic arginine-binding protein ArtI
//
func:	Unknown, probable transcription regulator
prod:	hypothetical protein
desc:	probable transcription regulator
//
func:	orf, conserved hypothetical protein
prod:	hypothetical protein
//
func:	Iron-containing alcohol dehydrogenase
prod:	iron-containing alcohol dehydrogenase
//
func:	NnrS protein involved in response to NO
prod:	NnrS protein
desc:	involved in response to NO
//
func:	Uncharacterized protein, similar to the N-terminal domain of Lon protease
prod:	hypothetical protein
note:	similar to the N-terminal domain of Lon protease
//
func:	Holin-like protein cidA
prod:	holin-like protein cidA
//
func:	TRAP-type transport system, periplasmic component, predicted N-acetylneuraminate-binding protein
prod:	TRAP-type transport system periplasmic component
note:	predicted N-acetylneuraminate-binding protein
//
func:	TRAP-type transport system, small permease component, predicted N-acetylneuraminate transporter
prod:	TRAP-type transport system small permease component
note:	predicted N-acetylneuraminate transporter
//
func:	TRAP-type transport system, large permease component, predicted N-acetylneuraminate transporter
prod:	TRAP-type transport system large permease component
note:	predicted N-acetylneuraminate transporter
//
func:	Type III secretion inner membrane channel protein (LcrD,HrcV,EscV,SsaV)
prod:	Type III secretion inner membrane channel protein
note:	LcrD, HrcV, EscV, SsaV
//
func:	Type III secretion inner membrane protein (YscU,SpaS,EscU,HrcU,SsaU, homologous to flagellar export components)
prod:	Type III secretion inner membrane protein
desc:	homologous to flagellar export components
note:	YscU, SpaS, EscU, HrcU, SsaU
//
func:	Type III secretion cytoplasmic ATP synthase (EC 3.6.3.14, YscN,SpaL,MxiB,HrcN,EscN)
prod:	Type III secretion cytoplasmic ATP synthase
ecnu:	3.6.3.14
//
func:	NAD(FAD)-utilizing dehydrogenase, sll0175 homolog
prod:	NAD(FAD)-utilizing dehydrogenase
//
func:	thermostable direct hemolysin S
prod:	hemolysin S
//
func:	Putative predicted metal-dependent hydrolase
prod:	hypothetical protein
desc:	predicted metal-dependent hydrolase
//
func:	FKBP-type peptidyl-prolyl cis-trans isomerase fkpA precursor (EC 5.2.1.8)
prod:	FKBP-type peptidyl-prolyl cis-trans isomerase FkpA precursor
ecnu:	5.2.1.8
//
func:	FOG: WD40 repeat
prod:	hypothetical protein
//
func:	Protein slyX
prod:	protein SlyX
//
func:	Transporter, putative
prod:	transporter
//
func:	Type 4 fimbrial assembly protein pilC
prod:	type 4 fimbrial assembly protein PilC
//
func:	YgfY COG2938
prod:	hypothetical protein
//
func:	COG0354: Predicted aminomethyltransferase related to GcvT
prod:	predicted aminomethyltransferase related to GcvT
//
func:	Signal recognition particle receptor protein FtsY (=alpha subunit) (TC 3.A.5.1.1)
prod:	signal recognition particle receptor protein FtsY
//
func:	Protein of unknown function DUF484
prod:	hypothetical protein
//
func:	Protein of unknown function DUF414
prod:	hypothetical protein
//
func:	Periplasmic/membrane protein associated with DUF414
prod:	hypothetical protein
//
func:	Thiosulfate sulfurtransferase glpE (EC 2.8.1.1)
prod:	thiosulfate sulfurtransferase GlpE
ecnu:	2.8.1.1
//
func:	GlpG protein (membrane protein of glp regulon)
prod:	protein GlpG
note:	membrane protein of glp regulon
//
func:	Flagellar biosynthesis protein fliL
prod:	flagellar biosynthesis protein FliL
//
func:	COG3165: Uncharacterized protein conserved in bacteria
prod:	hypothetical protein
//
func:	Uncharacterized protein conserved in bacteria
prod:	hypothetical protein
//
func:	Ferritin-like protein 2
prod:	ferritin-like protein 2
//
func:	LysR-family transcriptional regulator VC0068
prod:	LysR-family transcriptional regulator
//
func:	Protein crcB homolog
prod:	CrbC-like protein
//
func:	DNA-binding protein fis
prod:	NA-binding protein Fis
//
func:	COG3068: Uncharacterized protein conserved in bacteria
prod:	hypothetical protein
//
func:	O-antigen export system, ATP-binding protein
prod:	O-antigen export system ATP-binding protein
//
func:	O-antigen export system, permease protein
prod:	O-antigen export system permease protein
//
func:	O-antigen export system, polymerase or transferase
prod:	O-antigen export system polymerase or transferase
//
func:	Protein yicC
prod:	protein YicC
//
func:	Ferrichrome transport system permease protein fhuB (TC 3.A.1.14.3)
prod:	ferrichrome transport system permease protein FhuB
note:	TC 3.A.1.14.3
//
func:	Ferrichrome transport ATP-binding protein fhuC (TC 3.A.1.14.3)
prod:	ferrichrome transport ATP-binding protein FhuC
note:	TC 3.A.1.14.3
//
func:	HTH-type transcriptional regulator ilvY
prod:	HTH-type transcriptional regulator IlvY
//
func:	putative transcriptional regulator
prod:	transcriptional regulator
//
func:	galactoside O-acetyltransferase (EC 2.3.1.18), probable yiiD
prod:	galactoside O-acetyltransferase
desc:	probable YiiD
ecnu:	2.3.1.18
//
func:	P pilus assembly/Cpx signaling pathway, periplasmic inhibitor/zinc- resistance associated protein
prod:	P pilus assembly/Cpx signaling pathway, periplasmic inhibitor/zinc- resistance associated protein
//
func:	ATP-dependent protease hslV (EC 3.4.25.-)
prod:	ATP-dependent protease HslV
//
func:	ATP-dependent hsl protease ATP-binding subunit hslU
prod:	ATP-dependent hsl protease ATP-binding subunit HslU
//
func:	Uncharacterized low-complexity protein
prod:	hypothetical protein
//
func:	Glutathione-regulated potassium-efflux system ancillary protein kefG
prod:	glutathione-regulated potassium-efflux system ancillary protein KefG
//
func:	Glutathione-regulated potassium-efflux system protein kefB
prod:	glutathione-regulated potassium-efflux system protein KefB
//
func:	FKBP-type peptidyl-prolyl cis-trans isomerase slyD (EC 5.2.1.8)
prod:	FKBP-type peptidyl-prolyl cis-trans isomerase SlyD
ecnu:	5.2.1.8
//
func:	Sodium-type polar flagellar protein motX
prod:	sodium-type polar flagellar protein MotX
//
func:	23S rRNA (guanosine-2'-O-) -methyltransferase rlmB (EC 2.1.1.-)
prod:	23S rRNA (guanosine-2'-O-) -methyltransferase RlmB
//
func:	Preprotein translocase secY subunit (TC 3.A.5.1.1)
prod:	preprotein translocase SecY subunit
note:	TC 3.A.5.1.1
//
func:	FKBP-type peptidyl-prolyl cis-trans isomerase fklB (EC 5.2.1.8)
prod:	FKBP-type peptidyl-prolyl cis-trans isomerase FklB
ecnu:	5.2.1.8
//
func:	Protein ytfJ precursor
prod:	protein YtfJ precursor
//
func:	Peptide methionine sulfoxide reductase msrA (EC 1.8.4.11)
prod:	peptide methionine sulfoxide reductase MsrA
ecnu:	1.8.4.11
//
func:	RNA polymerase sigma-54 factor rpoN
prod:	RNA polymerase sigma-54 factor RpoN
//
func:	Aspartate carbamoyltransferase regulatory chain (pyrI)
prod:	aspartate carbamoyltransferase regulatory chain PyrI
//
func:	RNA polymerase associated protein rapA (EC 3.6.1.-)
prod:	RNA polymerase associated protein RapA
//
func:	DNA primase; involved in replication, phage related
prod:	DNA primase
note:	phage related
//
func:	Zn-dependent protease
prod:	Zn-dependent protease
//
func:	Osmosensitive K+ channel histidine kinase kdpD (EC 2.7.3.-)
prod:	osmosensitive K+ channel histidine kinase KdpD
//
func:	COG0523: Putative GTPases (G3E family)
prod:	Putative GTPase (G3E family)
//
func:	H(+)/Cl(-) exchange transporter clcA
prod:	H(+)/Cl(-) exchange transporter ClcA
//
func:	relB protein
prod:	RelB protein
//
func:	mazG-related protein
prod:	MazG-related protein
//
func:	Sulfate and thiosulfate binding protein cysP
prod:	sulfate and thiosulfate binding protein CysP
//
func:	CcdB
prod:	CcdB protein
//
func:	Glycine dehydrogenase [decarboxylating] (glycine cleavage system P protein) (EC 1.4.4.2)
prod:	glycine dehydrogenase [decarboxylating]
ecnu:	1.4.4.2
//
func:	C4-dicarboxylate like transporter
prod:	C4-dicarboxylate like transporter
//
func:	Anaerobic nitric oxide reductase transcription regulator norR
prod:	anaerobic nitric oxide reductase transcription regulator NorR
//
func:	Nucleoside permease nupC
prod:	nucleoside permease NupC
//
func:	frnE protein
prod:	FrnE protein
//
func:	hypothetical protein PA3071
prod:	hypothetical protein
//
func:	Uncharacterized protein similar to VCA0109
prod:	hypothetical protein
//
func:	Phosphate transport ATP-binding protein pstB (TC 3.A.1.7.1)
prod:	phosphate transport ATP-binding protein PstB
note:	TC 3.A.1.7.1
//
func:	Phosphate transport system permease protein pstA (TC 3.A.1.7.1)
prod:	phosphate transport system permease protein PstA
note:	TC 3.A.1.7.1
//
func:	Phosphate transport system permease protein pstC (TC 3.A.1.7.1)
prod:	phosphate transport system permease protein PstC
note:	TC 3.A.1.7.1
//
func:	Phosphate ABC transporter, periplasmic phosphate-binding protein pstS (TC 3.A.1.7.1)
prod:	phosphate ABC transporter, periplasmic phosphate-binding protein pstS
note:	TC 3.A.1.7.1
//
func:	ATP-dependent RNA helicase VCA0061
prod:	ATP-dependent RNA helicase
//
func:	ATP-dependent DNA helicase pcrA (EC 3.6.1.-)
prod:	ATP-dependent DNA helicase PcrA
//
func:	hcp protein
prod:	Hcp protein
//
func:	Predicted P-loop ATPase fused to an acetyltransferase COG1444
prod:	hypothetical protein
desc:	predicted P-loop ATPase fused to an acetyltransferase
//
func:	Na+/H+ antiporter NhaD type
prod:	Na+/H+ antiporter NhaD type
//
func:	ATP-dependent RNA helicase VCA0990
prod:	ATP-dependent RNA helicase
//
func:	Na+-driven multidrug efflux pump
prod:	Na+-driven multidrug efflux pump
//
func:	Peptidyl-prolyl cis-trans isomerase ppiC (EC 5.2.1.8)
prod:	peptidyl-prolyl cis-trans isomerase PpiC
ecnu:	5.2.1.8
//
func:	Osmosensitive K+ channel histidine kinase kdpD (EC 2.7.3.-)
prod:	osmosensitive K+ channel histidine kinase KdpD
//
func:	COG3385: FOG: Transposase and inactivated derivatives
prod:	transposase
//
func:	COG0055: F0F1-type ATP synthase, beta subunit
prod:	F0F1-type ATP synthase beta subunit
//
func:	Streptococcal hemagglutinin protein
prod:	hemagglutinin protein
//
func:	LysR-family transcriptional regulator VCA0830
prod:	LysR-family transcriptional regulator
//
func:	COG2827: putative endonuclease containing a URI domain
prod:	putative endonuclease containing a URI domain
//
func:	Autoinducer 2-binding periplasmic protein luxP precursor
prod:	autoinducer 2-binding periplasmic protein LuxP precursor
//
func:	Autoinducer 2 sensor kinase/phosphatase luxQ (EC 2.7.3.-) (EC 3.1.3.-)
prod:	autoinducer 2 sensor kinase/phosphatase LuxQ
//
func:	Molybdenum ABC transporter, periplasmic molybdenum-binding protein modA (TC 3.A.1.8.1)
prod:	molybdenum ABC transporter, periplasmic molybdenum-binding protein ModA
note:	TC 3.A.1.8.1
//
func:	Molybdenum transport system permease protein modB (TC 3.A.1.8.1)
prod:	molybdenum transport system permease protein ModB
note:	TC 3.A.1.8.1
//
func:	Molybdenum transport ATP-binding protein modC (TC 3.A.1.8.1)
prod:	molybdenum transport ATP-binding protein ModC
note:	TC 3.A.1.8.1
//
func:	Periplasmic protein torT precursor
prod:	periplasmic protein TorT precursor
//
func:	Sensor protein torS (EC 2.7.3.-)
prod:	sensor protein TorS
//
func:	COG4388: Mu-like prophage I protein
prod:	phage protein
desc:	Mu-like prophage I protein
//
func:	prophage MuSo2, virion morphogenesis protein, putative
prod:	phage protein
desc:	prophage MuSo2, virion morphogenesis protein, putative
//
func:	phage tail tape measure protein, TP901 family, putative
prod:	phage tail tape measure protein
desc:	TP901 family
//
func:	prophage MuSo2, 43 kDa tail protein, putative
prod:	phage tail protein
//
func:	Putative baseplate assembly protein
prod:	phage protein
desc:	putative baseplate assembly protein
//
func:	Protein-export membrane protein secD (TC 3.A.5.1.1)
prod:	protein-export membrane protein SecD
desc:	TC 3.A.5.1.1
//
func:	Protein-export membrane protein secF (TC 3.A.5.1.1)
prod:	protein-export membrane protein SecF
desc:	TC 3.A.5.1.1
//
func:	Anaerobic C4-dicarboxylate transporter dcuC
prod:	anaerobic C4-dicarboxylate transporter DcuC
//
func:	RRNA methylase, putative
prod:	rRNA methylase
//
func:	Oligopeptide transport system permease protein oppB (TC 3.A.1.5.1)
prod:	oligopeptide transport system permease protein OppB
desc:	TC 3.A.1.5.1
//
func:	Oligopeptide transport system permease protein oppC
prod:	oligopeptide transport system permease protein OppC
//
func:	Tyrosine recombinase xerD
prod:	tyrosine recombinase XerD
//
func:	Cell division protein ftsL
prod:   cell division protein FtsL
//
func:	Cell division protein ftsI [Peptidoglycan synthetase] (EC 2.4.1.129)
prod:	cell division protein FtsI [Peptidoglycan synthetase]
ecnu:	2.4.1.129
//
func:	Cell division protein ftsW
prod:	cell division protein FtsW
//
func:	Cell division protein ftsQ
prod:	cell division protein FtsQ
//
func:	Cell division protein ftsA
prod:	cell division protein FtsA
//
func:	Cell division protein ftsZ (EC 3.4.24.-)
prod:	cell division protein FtsZ
//
func:	Mutator mutT protein (7,8-dihydro-8-oxoguanine-triphosphatase) (EC 3.6.1.-)
prod:	MutT protein [7,8-dihydro-8-oxoguanine-triphosphatase]
//
func:	Aerobic respiration control sensor protein arcB (EC 2.7.3.-)
prod:	aerobic respiration control sensor protein ArcB
//
func:	Aerobic respiration control protein arcA
prod:	aerobic respiration control protein ArcA
//
func:	UPF0246 protein YaaA
prod:	hypothetical protein
//
func:	Chromosome segregation ATPase ## putative; UPF0325 protein yaeH
prod:	chromosome segregation ATPase
//
func:	Hypothetical protein Q8DBD3_VIBVU
prod:	hypothetical protein
//
func:	putative exported protein
prod:	hypothetical protein
//
func:	Flagellar biosynthesis protein flgN
prod:	flagellar biosynthesis protein FlgN
//
func:	Negative regulator of flagellin synthesis flgM
prod:	negative regulator of flagellin synthesis FlgM
//
func:	Flagellar basal-body P-ring formation protein flgA
prod:	flagellar basal-body P-ring formation protein FlgA
//
func:	Flagellar basal-body rod protein flgB
prod:	flagellar basal-body rod protein FlgB
//
func:	Flagellar basal-body rod protein flgC
prod:	flagellar basal-body rod protein FlgC
//
func:	Flagellar basal-body rod modification protein flgD
prod:	flagellar basal-body rod modification protein FlgD
//
func:	Flagellar hook protein flgE
prod:	flagellar hook protein FlgE
//
func:	Flagellar basal-body rod protein flgF
prod:	flagellar basal-body rod protein FlgF
//
func:	Flagellar basal-body rod protein flgG
prod:	flagellar basal-body rod protein FlgG
//
func:	Flagellar L-ring protein flgH
prod:	flagellar L-ring protein FlgH
//
func:	Flagellar P-ring protein flgI
prod:	flagellar P-ring protein FlgI
//
func:	Flagellar protein flgJ [peptidoglycan hydrolase] (EC 3.2.1.-)
prod:	flagellar protein flgJ [peptidoglycan hydrolase]
//
func:	Flagellar hook-associated protein flgK
prod:	flagellar hook-associated protein FlgK
//
func:	Flagellar hook-associated protein flgL
prod:	flagellar hook-associated protein FlgL
//
func:	Flagellin protein flaC
prod:	flagellin protein FlaC
//
func:	Flagellin protein flaD
prod:	flagellin protein FlaD
//
func:	Outer membrane protein NlpB, lipoprotein component of the protein assembly complex (forms a complex with YaeT, YfiO, and YfgL)
prod:	NlpB lipoprotein component of the protein assembly complex
note:	most likely function alternative not yet resolved
//
func:	Lipoprotein-34 precursor
prod:	lipoprotein
//
func:	Flagellin protein flaF
prod:	flagellin protein FlaF
//
func:	Flagellin protein flaG
prod:	flagellin protein FlaG
//
func:	Flagellar hook-associated protein fliD
prod:	flagellar hook-associated protein FliD
//
func:	Flagellar rod protein flaI
prod:	flagellar rod protein FlaI
//
func:	Flagellar biosynthesis protein fliS
prod:	flagellar biosynthesis protein FliS
//
func:	Flagellar regulatory protein fleQ
prod:	flagellar regulatory protein FleQ
//
func:	Flagellar sensor histidine kinase fleS
prod:	flagellar sensor histidine kinase FleS
//
func:	Flagellar hook-basal body complex protein fliE
prod:	flagellar hook-basal body complex protein FliE
//
func:	Flagellar M-ring protein fliF
prod:	flagellar M-ring protein FliF
//
func:	Flagellar motor switch protein fliG
prod:	flagellar motor switch protein FliG
//
func:	Flagellar assembly protein fliH
prod:	flagellar assembly protein FliH
//
func:	Flagellum-specific ATP synthase fliI
prod:	flagellum-specific ATP synthase FliI
//
func:	Flagellar protein fliJ
prod:	flagellar protein FliJ
//
func:	Flagellar hook-length control protein fliK
prod:	flagellar hook-length control protein FliK
//
func:	Flagellar biosynthesis protein fliL
prod:	flagellar biosynthesis protein FliL
//
func:	Flagellar motor switch protein fliM
prod:	flagellar motor switch protein FliM
//
func:	Flagellar motor switch protein fliN
prod:	flagellar motor switch protein FliN
//
func:	Flagellar biosynthesis protein fliO
prod:	flagellar biosynthesis protein FliO
//
func:	Flagellar biosynthesis protein fliP
prod:	flagellar biosynthesis protein FliP
//
func:	Flagellar biosynthesis protein fliQ
prod:	flagellar biosynthesis protein FliQ
//
func:	Flagellar biosynthesis protein fliR
prod:	flagellar biosynthesis protein FliR
//
func:	Flagellar biosynthesis protein flhB
prod:	flagellar biosynthesis protein FlhB
//
func:	Flagellar biosynthesis protein flhA
prod:	flagellar biosynthesis protein FlhA
//
func:	Flagellar biosynthesis protein flhF
prod:	flagellar biosynthesis protein FlhF
//
func:	Flagellar synthesis regulator fleN
prod:	flagellar synthesis regulator FleN
//
func:	5-methylaminomethyl-2-thiouridine-forming enzyme mnmC
prod:	5-methylaminomethyl-2-thiouridine-forming enzyme MnmC
//
func:	Holin-like protein cidA
prod:	Holin-like protein CidA
//
func:	Hypothetical protein ybgI
prod:	hypothetical protein
//
func:	Cytochrome c-type biogenesis protein CcmC, putative heme lyase for CcmE
prod:	cytochrome c-type biogenesis protein CcmC
desc:	desc: putative heme lyase for CcmE
//
func:	UPF0352 protein VC_2040
prod:	hypothetical protein
//
func:	Nucleoid-associated protein ndpA
prod:	nucleoid-associated protein NdpA
//
func:	Na+/H+ antiporter NhaC
prod:	Na+/H+ antiporter NhaC
//
func:	Peptide methionine sulfoxide reductase msrB (EC 1.8.4.6)
prod:	peptide methionine sulfoxide reductase MsrB
ecnu:	1.8.4.11
//
func:	Transcriptional regulator yidN, Cro/CI family
prod:	transcriptional regulator YidN, Cro/CI family
//
func:	COGs COG3492
prod:	hypothetical protein
//
func:	Cell division topological specificity factor minE
prod:	cell division topological specificity factor MinE
//
func:	Septum site-determining protein minD
prod:	septum site-determining protein MinD
//
func:	Septum site-determining protein minC
prod:	septum site-determining protein MinC
//
func:	Protein ycgL
prod:	protein YcgL
//
func:	Cytochrome c-type protein torY
prod:	cytochrome c-type protein TorY
//
func:	pvcA protein
prod:	PvcA protein
//
func:	ATP-dependent Clp protease ATP-binding subunit clpX
prod:	ATP-dependent Clp protease ATP-binding subunit ClpX
//
func:	Peptidyl-prolyl cis-trans isomerase ppiD (EC 5.2.1.8)
prod:	peptidyl-prolyl cis-trans isomerase PpiD
ecnu:	5.2.1.8
//
func:	Cell division protein ftsK
prod:	cell division protein FtsK
//
func:	Na+/H+-exchanging protein
prod:	Na+/H+-exchanging protein
//
func:	UPF0227 protein VC_1892
prod:	hypothetical protein
//
func:	Lipoprotein releasing system ATP-binding protein lolD
prod:	lipoprotein releasing system ATP-binding protein LolD
//
func:	Lipoprotein releasing system transmembrane protein lolE
prod:	lipoprotein releasing system transmembrane protein LolE
//
func:	UPF0434 protein VC_1876
prod:	hypothetical protein
//
func:	UPF0229 protein VC_1873
prod:	hypothetical protein
//
func:	Peptidyl-prolyl cis-trans isomerase ppiB (EC 5.2.1.8)
prod:	peptidyl-prolyl cis-trans isomerase PpiB
ecnu:	5.2.1.8
//
func:	Crossover junction endodeoxyribonuclease ruvC (EC 3.1.22.4)
prod:	crossover junction endodeoxyribonuclease RuvC
ecnu:	3.1.22.4
//
func:	tolB protein precursor, periplasmic protein involved in the tonb-independent uptake of group A colicins
prod:	TolB protein precursor
desc:	periplasmic protein involved in the tonb-independent uptake of group A colicins
//
func:	Surface presentation of antigens protein spaP
prod:	surface presentation of antigens protein SpaP
//
func:	Protein yciN
prod:	protein YciN
//
func:	Chaperone protein torD
prod:	chaperone protein TorD
//
func:	Chromosome partition protein mukF
prod:	chromosome partition protein MukF
//
func:	Chromosome partition protein mukE
prod:	chromosome partition protein MukE
//
func:	Chromosome partition protein mukB
prod:	chromosome partition protein MukB
//
func:	Probable zinc protease pqqL (EC 3.4.99.-)
prod:	hypothetical protein
desc:	probable zinc protease PqqL
//
func:	Mu-like prophage protein gp16
prod:	phage protein
desc:	Mu-like prophage protein Gp16
//
func:	Peptide transport system ATP-binding protein sapF (TC 3.A.1.5.5)
prod:	peptide transport system ATP-binding protein SapF
note:	TC 3.A.1.5.5
//
func:	Peptide transport system ATP-binding protein sapD (TC 3.A.1.5.5)
prod:	peptide transport system ATP-binding protein SapD
note:	TC 3.A.1.5.5
//
func:	Peptide transport system permease protein sapC (TC 3.A.1.5.5)
prod:	peptide transport system permease protein SapC
note:	TC 3.A.1.5.5
//
func:	Peptide transport system permease protein sapB (TC 3.A.1.5.5)
prod:	peptide transport system permease protein SapB
note:	TC 3.A.1.5.5
//
func:	Peptide transport periplasmic protein sapA (TC 3.A.1.5.5)
prod:	peptide transport periplasmic protein SapA
note:	TC 3.A.1.5.5
//
func:	FOG: EAL domain protein
prod:	EAL domain protein
//
func:	Na+ driven multidrug efflux pump
prod:	Na+ driven multidrug efflux pump
//
func:	Na+/H+ antiporter NhaA type
prod:	Na+/H+ antiporter NhaA type
//
func:	Diaminobutyrate-pyruvate transaminase & L-2,4-diaminobutyrate decarboxylase
prod:	diaminobutyrate-pyruvate transaminase/L-2,4-diaminobutyrate decarboxylase
//
func:	COG1451: Predicted metal-dependent hydrolase
prod:	hypothetical protein
desc:	predicted metal-dependent hydrolase
//
func:	Sensor kinase citA, dpiB (EC 2.7.3.-)
prod:	sensor kinase CitA
//
func:	Transcriptional regulatory protein citB, dpiA
prod:	transcriptional regulatory protein CitB
//
func:	Potential queD like
prod:	hypothetical protein
desc:	potential QueD like
//
func:	Transcriptional regulator of alpha-acetolactate operon alsR
prod:	transcriptional regulator of alpha-acetolactate operon AlsR
//
func:	LysR-family transcriptional regulator VC1561
prod:	LysR-family transcriptional regulator
//
func:	SN-glycerol-3-phosphate transport ATP-binding protein ugpC (TC 3.A.1.1.3)
prod:	SN-glycerol-3-phosphate transport ATP-binding protein UgpC
note:	TC 3.A.1.1.3
//
func:	SN-glycerol-3-phosphate transport system permease protein ugpE (TC 3.A.1.1.3)
prod:	SN-glycerol-3-phosphate transport system permease protein UgpE
note:	TC 3.A.1.1.3
//
func:	SN-glycerol-3-phosphate transport system permease protein ugpA (TC 3.A.1.1.3)
prod:	SN-glycerol-3-phosphate transport system permease protein UgpA
note:	TC 3.A.1.1.3
//
func:	Putative methyl-accepting chemotaxis protein VC1535
prod:	hypothetical protein
desc:	putative methyl-accepting chemotaxis protein
//
func:	UPF0234 protein VC_1508
prod:	hypothetical protein
//
func:	23S rRNA (guanine-N-2-) -methyltransferase rlmL EC 2.1.1.-)
prod:	23S rRNA (guanine-N-2-) -methyltransferase RlmL
//
func:	Cytolysin-activating lysine-acyltransferase rtxC (EC 2.3.1.-)
prod:	cytolysin-activating lysine-acyltransferase RtxC
//
func:	Putative analog of CcoH, COG3198
prod:	hypothetical protein
desc:	putative analog of CcoH
//
func:	Spermidine Putrescine transport ATP-binding protein potA (TC_3.A.1.11.1)
prod:	spermidine putrescine transport ATP-binding protein PotA
desc:	TC_3.A.1.11.1
//
func:	Spermidine Putrescine ABC transporter permease component potB (TC_3.A.1.11.1)
prod:	spermidine putrescine ABC transporter permease component PotB
desc:	TC_3.A.1.11.1
//
func:	Spermidine Putrescine ABC transporter permease component potC (TC_3.A.1.11.1)
prod:	spermidine putrescine ABC transporter permease component PotC
desc:	TC_3.A.1.11.1
//
func:	ABC transporter, periplasmic spermidine putrescine-binding protein potD (TC_3.A.1.11.1)
prod:	ABC transporter periplasmic spermidine putrescine-binding protein PotD
desc:	TC_3.A.1.11.1
//
func:	Putrescine ABC transporter putrescine-binding protein potF (TC 3.A.1.11.2)
prod:	putrescine ABC transporter putrescine-binding protein PotF
desc:	TC_3.A.1.11.2
//
func:	hcp protein
prod:	Hcp protein
//
func:	Methyl-accepting chemotaxis protein II (mcp-II) (aspartate chemoreceptor protein)
prod:	methyl-accepting chemotaxis protein II
//
func:	ATP-dependent RNA helicase VC1407
prod:	ATP-dependent RNA helicase
//
func:	FOG: HEAT repeat
prod:	hypothetical protein
//
func:	COG1092 family predicted tRNA methylase
prod:	hypothetical protein
desc:	predicted tRNA methylase
//
func:	FOG: CheY-like receiver
prod:	hypothetical protein
//
func:	probable lipoprotein YPO2292
prod:	hypothetical protein
//
func:	putative virK protein
prod:	hypothetical protein
desc:	putative VirK protein
//
func:	BarA-associated response regulator UvrY (= GacA = SirA)
prod:	BarA-associated response regulator UvrY
//
func:	FIG002708: Protein sirB1
prod:	protein SirB1
//
func:	FIG002082: Protein sirB2
prod:	protein SirB2
//
func:	BarA sensory histidine kinase (= VarS = GacS)
prod:	BarA sensory histidine kinase
//
func:	FOG: EAL domain
prod:	EAL domain protein
//
func:	Transport ATP-binding protein cydD
prod:	transport ATP-binding protein CydD
//
func:	Transport ATP-binding protein cydC
prod:	transport ATP-binding protein CydC
//
func:	Ribosomal large subunit pseudouridine synthase B (EC 5.4.99.-) (rRNA-uridine isomerase B) (rRNA pseudouridylate synthase B)
prod:	LSU pseudouridine synthase B
//
func:	COG0613, Predicted metal-dependent phosphoesterases (PHP family)
prod:	hypothetical protein
desc:	predicted metal-dependent phosphoesterases (PHP family)
//
func:	COG1801: Uncharacterized conserved protein
prod:	hypothetical protein
//
func:	ATP-dependent Clp protease ATP-binding subunit clpA
prod:	ATP-dependent Clp protease ATP-binding subunit ClpA
//
func:	ATP-dependent Clp protease adaptor protein clpS
prod:	ATP-dependent Clp protease adaptor protein ClpS
//
func:	UPF0274 protein VC_1127
prod:	hypothetical protein
//
func:	Probable protease htpX homolog (EC 3.4.24.-)
prod:	hypothetical protein
desc:	probable protease HtpX homolog
//
func:	Oligopeptide transport ATP-binding protein oppF (TC 3.A.1.5.1)
prod:	oligopeptide transport ATP-binding protein OppF
note:	TC 3.A.1.5.1
//
func:	Oligopeptide transport ATP-binding protein oppD (TC 3.A.1.5.1)
prod:	oligopeptide transport ATP-binding protein OppD
note:	TC 3.A.1.5.1
//
func:	Oligopeptide transport system permease protein oppC (TC 3.A.1.5.1)
prod:	oligopeptide transport system permease protein OppC
note:	TC 3.A.1.5.1
//
func:	Oligopeptide transport system permease protein oppB (TC 3.A.1.5.1)
prod:	oligopeptide transport system permease protein OppB
note:	TC 3.A.1.5.1
//
func:	Oligopeptide ABC transporter, periplasmic oligopeptide-binding protein oppA (TC 3.A.1.5.1)
prod:	oligopeptide ABC transporter periplasmic oligopeptide-binding protein OppA
note:	TC 3.A.1.5.1
//
func:	Phosphonate ABC transporter phosphate-binding periplasmic component (TC 3.A.1.9.1)
prod:	phosphonate ABC transporter phosphate-binding periplasmic component
note:	TC 3.A.1.9.1
//
func:	FOG: GGDEF domain
prod:	GGDEF domain protein
//
func:	UPF0052 protein VC_1023
prod:	hypothetical protein
//
func:	Phosphorelay protein luxU
prod:	phosphorelay protein LuxU
//
func:	Regulatory protein luxO
prod:	regulatory protein LuxO
//
func:	Electron transport complex protein rnfA
prod:	electron transport complex protein RnfA
//
func:	Electron transport complex protein rnfB
prod:	electron transport complex protein RnfB
//
func:	Electron transport complex protein rnfC
prod:	electron transport complex protein RnfC
//
func:	Electron transport complex protein rnfD
prod:	electron transport complex protein RnfD
//
func:	Electron transport complex protein rnfG
prod:	electron transport complex protein RnfG
//
func:	Electron transport complex protein rnfE
prod:	electron transport complex protein RnfE
//
func:	Sodium-type flagellar protein motY precursor
prod:	sodium-type flagellar protein MotY precursor
//
func:	Phosphodiesterase yfcE (EC 3.1.4.-)
prod:	phosphodiesterase YfcE
//
func:	COG3118: Thioredoxin domain-containing protein
prod:	thioredoxin domain-containing protein
//
func:	HTH-type transcriptional regulator cueR
prod:	HTH-type transcriptional regulator CueR
//
func:	Cell division protein zipA
prod:	cell division protein ZipA
//
func:	Magnesium and cobalt efflux protein corC
prod:	magnesium and cobalt efflux protein CorC
//
func:	LPS-assembly lipoprotein rlpB precursor (Rare lipoprotein B)
prod:	LPS-assembly lipoprotein RlpB precursor
//
func:	COG0799: Uncharacterized homolog of plant Iojap protein
prod:	hypothetical protein
desc:	uncharacterized homolog of plant Iojap protein
//
func:	COG1576: Uncharacterized conserved protein ## ybeA
prod:	hypothetical protein
//
func:	Rod shape-determining protein rodA
prod:	rod shape-determining protein RodA
//
func:	UPF0250 protein VC_0945
prod:	hypothetical protein
//
func:	Capsular polysaccharide synthesis enzyme cpsD, exopolysaccharide synthesis
prod:	Capsular polysaccharide synthesis enzyme CpsD exopolysaccharide synthesis
//
func:	Capsular polysaccharide synthesis enzyme cpsC, polysaccharide export
prod:	Capsular polysaccharide synthesis enzyme CpsC polysaccharide export
//
func:	Capsular polysaccharide synthesis enzyme cpsB
prod:	Capsular polysaccharide synthesis enzyme CpsB
//
func:	Capsular polysaccharide synthesis enzyme cpsA, sugar transferase
prod:	Capsular polysaccharide synthesis enzyme CpsA sugar transferase
//
func:	Zn-ribbon-containing, possibly nucleic-acid-binding protein
prod:	Zn-ribbon-containing, possibly nucleic-acid-binding protein
//
func:	COG2363
prod:	hypothetical protein
//
func:	Thiamine biosynthesis protein thiI
prod:	thiamine biosynthesis protein ThiI
//
func:	Flagellar motor rotation protein motB
prod:	Flagellar motor rotation protein MotB
//
func:	Flagellar motor rotation protein motA
prod:	Flagellar motor rotation protein MotA
//
func:	UPF0178 protein VC_0881
prod:	hypothetical protein
//
func:	50S ribosomal protein L36 2
prod:	LSU ribosomal protein L36p
//
func:	COG1720: Uncharacterized conserved protein
prod:	hypothetical protein
//
func:	UPF0253 protein VC_0872
prod:	hypothetical protein
//
func:	relE protein
prod:	RelE protein
//
func:	Na(+)Citrate OH(-) antiporter
prod:	Na(+)Citrate OH(-) antiporter
//
func:	Cytoplasmic copper homeostasis protein cutC
prod:	cytoplasmic copper homeostasis protein CutC
//
func:	Phosphate ABC transporter, periplasmic phosphate-binding protein pstS (TC 3.A.1.7.1)
prod:	phosphate ABC transporter, periplasmic phosphate-binding protein PstS
desc:	TC 3.A.1.7.1
//
func:	Phosphate regulon sensor protein phoR (EC 2.7.3.-)
prod:	phosphate regulon sensor protein phoR
//
func:	Phosphate regulon transcriptional regulatory protein phoB
prod:	phosphate regulon transcriptional regulatory protein PhoB
//
func:	Uncharacterized protein with LysM domain, COG1652
prod:	LysM domain-containing protein
//
func:	Trk system potassium uptake protein trkA
prod:	Trk system potassium uptake protein TrkA
//
func:	COG1272: Predicted membrane protein hemolysin III homolog
prod:	hypothetical protein
desc:	predicted membrane protein hemolysin III homolog
//
func:	Protein yihD
prod:	protein YihD
//
func:	16 kDa heat shock protein A
prod:	heat shock protein A
//
func:	tRNA uridine 5-carboxymethylaminomethyl modification enzyme gidA
prod:	tRNA uridine 5-carboxymethylaminomethyl modification enzyme GidA
//
func:	hypothetical conserved protein COG1739
prod:	hypothetical protein
//
func:	Na+/H+ antiporter, putative
prod:	hypothetical protein
desc:	Na+/H+ antiporter, putative
//
func:	Rod shape-determining protein mreB
prod:	rod shape-determining protein MreB
//
func:	Rod shape-determining protein mreC
prod:	rod shape-determining protein MreC
//
func:	Rod shape-determining protein mreD
prod:	rod shape-determining protein MreD
//
func:	NADH oxidoreductase hcr (EC 1.-.-.-)
prod:	NADH oxidoreductase Hcr
//
func:	COG0536: GTP-binding protein Obg
prod:	GTP-binding protein Obg
//
func:	Survival protein surA precursor (Peptidyl-prolyl cis-trans isomerase surA) (EC 5.2.1.8)
prod:	peptidyl-prolyl cis-trans isomerase SurA
ecnu:	5.2.1.8
//
func:	Outer membrane protein Imp, required for envelope biogenesis
prod:	Imp required for envelope biogenesis
//
func:	Organic solvent tolerance protein precursor
prod:	organic solvent tolerance protein precursor
//
func:	UPF0269 protein yggX
prod:	hypothetical protein
//
func:	UPF0235 protein VC0458
prod:	hypothetical protein
//
func:	UPF0301 protein yqgE
prod:	hypothetical protein
//
func:	Protein sprT
prod:	protein SprT
//
func:	Iron-regulated virulence regulatory protein irgB
prod:	iron-regulated virulence regulatory protein IrgB
//
func:	Endopeptidase essential in most Bacteria (E. coli YgjD/B. subtilis YdiE)
prod:	endopeptidase
//
func:	Cell division protein ftsB
prod:	cell division protein FtsB
//
func:	5'-nucleotidase surE (EC 3.1.3.5)
prod:	5'-nucleotidase SurE
ecnu:	3.1.3.5
//
func:	Sulfate and thiosulfate binding protein cysP
prod:	sulfate and thiosulfate binding protein CysP
//
func:	Sulfate transport system permease protein cysT
prod:	sulfate transport system permease protein CysT
//
func:	Sulfate transport system permease protein cysW
prod:	sulfate transport system permease protein CysW
//
func:	Sulfate and thiosulfate import ATP-binding protein cysA (EC 3.6.3.25)
prod:	sulfate and thiosulfate import ATP-binding protein CysA
ecnu:	3.6.3.25
//
func:	Regulatory protein recX
prod:	regulatory protein RecX
//
func:	COG3105: Uncharacterized protein conserved in bacteria
prod:	hypothetical protein
//
func:	C4-type zinc finger protein, DksA/TraR family
prod:	C4-type zinc finger protein, DksA/TraR family
//
func:	Cell division protein ftsJ
prod:	cell division protein FtsJ
//
func:	Ribosomal RNA large subunit methyltransferase J (EC 2.1.1.-)
prod:	ribosomal RNA large subunit methyltransferase J
//
func:	Cell division protein ftsH (EC 3.4.24.-)
prod:	cell division protein FtsH
//
func:	COG0779: clustered with transcription termination protein NusA
prod:	clustered with transcription termination protein NusA
//
func:	COG4123: Predicted O-methyltransferase
prod:	predicted O-methyltransferase
//
func:	Protein of unknown function DUF81
prod:	hypothetical protein
//
func:	FKBP-type peptidyl-prolyl cis-trans isomerase slpA (EC 5.2.1.8)
prod:	FKBP-type peptidyl-prolyl cis-trans isomerase SlpA
ecnu:	5.2.1.8
//
func:	Beta N-acetyl-glucosaminidase( EC 3.2.1.52 )
prod:	beta N-acetyl-glucosaminidase
ecnu:	3.2.1.52
//
func:	C-di-GMP phosphodiesterase MbaA, repressor of biofilm formation
prod:	C-di-GMP phosphodiesterase MbaA repressor of biofilm formation
//
func:	COG1496: Uncharacterized conserved protein
prod:	hypothetical protein
//
func:	Virulence factor mviN homolog
prod:	hypothetical protein
desc:	virulence factor MviN homolog
//
func:	Uncharacterized conserved protein
prod:	hypothetical protein
//
func:	UPF0260 protein BMEI0534
prod:	hypothetical protein
//
func:	UPF0181 protein VC_A0569
prod:	hypothetical protein
//
func:	UPF0067 protein yebR
prod:	hypothetical protein
//
func:	UPF0131 protein VC_2546
prod:	hypothetical protein
//
func:	UPF0114 protein VC_0208
prod:	hypothetical protein
//
func:	UPF0125 protein yfjF
prod:	hypothetical protein
//
func:	UPF0274 protein ycfC
prod:	hypothetical protein
//
func:	UPF0263 protein VC1208
prod:	hypothetical protein
//
func:	ISSod13, transposase
prod:	ISSod13 transposase
//
func:	iSSod13, transposase
prod:	ISSod13 transposase
//
func:	Zn-dependent protease with chaperone function
prod:	Zn-dependent protease with chaperone function
//
func:	Oligopeptide transport system permease protein oppC (TC 3.A.1.5.1)
prod:	oligopeptide transport system permease protein OppC
note:	TC 3.A.1.5.1
//
func:	Oligopeptide transport system permease protein oppB (TC 3.A.1.5.1)
prod:	oligopeptide transport system permease protein OppB
note:	TC 3.A.1.5.1
//
func:	ISSod2, transposase OrfB
prod:	ISSod2 transposase OrfB
//
func:	ISSod2, transposase OrfA
prod:	ISSod2 transposase OrfA
//
func:	Putative uncharacterized protein VC_A0360
prod:	hypothetical protein
//
func:	Mll3428 protein
prod:	hypothetical protein
//
func:	Cytochrome B561
prod:	cytochrome b561
//
func:	Iron(III) dicitrate transport system permease protein fecD (TC 3.A.1.14.1)
prod:	iron(III) dicitrate transport system permease protein FecD
note:	TC 3.A.1.14.1
//
func:	Na+/H+ antiporter
prod:	Na+/H+ antiporter
//
func:	Na(+) H(+) antiporter subunit A; Na(+) H(+) antiporter subunit B
prod:	Na(+) H(+) antiporter subunit A/Na(+) H(+) antiporter subunit B
//
func:	Na(+) H(+) antiporter subunit A
prod:	Na(+) H(+) antiporter subunit A
//
func:	Na(+) H(+) antiporter subunit B
prod:	Na(+) H(+) antiporter subunit B
//
func:	Na(+) H(+) antiporter subunit C
prod:	Na(+) H(+) antiporter subunit C
//
func:	Na(+) H(+) antiporter subunit D
prod:	Na(+) H(+) antiporter subunit D
//
func:	Na(+) H(+) antiporter subunit E
prod:	Na(+) H(+) antiporter subunit E
//
func:	Na(+) H(+) antiporter subunit F
prod:	Na(+) H(+) antiporter subunit F
//
func:	Na(+) H(+) antiporter subunit G
prod:	Na(+) H(+) antiporter subunit G
//
func:	Ribosyl nicotinamide transporter, pnuC-like
prod:	ribosyl nicotinamide transporter PnuC-like protein
//
func:	COG1683: Uncharacterized conserved protein / Hypothetical protein ybgA
prod:	hypothetical protein
//
func:	Dipeptide transport system permease protein dppC (TC 3.A.1.5.2)
prod:	dipeptide transport system permease protein DppC
note:	TC 3.A.1.5.2
//
func:	Oligopeptide ABC transporter, periplasmic oligopeptide-binding protein oppA (TC 3.A.1.5.1)
prod:	oligopeptide ABC transporter periplasmic oligopeptide-binding protein OppA
note:	TC 3.A.1.5.1
//
func:	Metallo-beta-lactamase superfamily protein PA0057
prod:	metallo-beta-lactamase superfamily protein
//
func:	N-Acetyl-D-glucosamine ABC transport system, sugar-binding protein
prod:	N-Acetyl-D-glucosamine ABC transport system sugar-binding protein
//
func:	Thioredoxin-like protein clustered with PA0057
prod:	hypothetical protein
desc:	thioredoxin-like protein
//
func:	Metallo-beta-lactamase superfamily protein PA0057
prod:	metallo-beta-lactamase superfamily protein
//
func:	COG1559 protein yceG like
prod:	hypothetical protein
desc:	protein yceG like
//
func:	Na(+)-translocating NADH-quinone reductase subunit F (EC 1.6.5.-)
prod:	Na(+)-translocating NADH-quinone reductase subunit F
//
func:	Na(+)-translocating NADH-quinone reductase subunit E (EC 1.6.5.-)
prod:	Na(+)-translocating NADH-quinone reductase subunit E
//
func:	Na(+)-translocating NADH-quinone reductase subunit D (EC 1.6.5.-)
prod:	Na(+)-translocating NADH-quinone reductase subunit D
//
func:	Na(+)-translocating NADH-quinone reductase subunit C (EC 1.6.5.-)
prod:	Na(+)-translocating NADH-quinone reductase subunit C
//
func:	Na(+)-translocating NADH-quinone reductase subunit B (EC 1.6.5.-)
prod:	Na(+)-translocating NADH-quinone reductase subunit B
//
func:	Na(+)-translocating NADH-quinone reductase subunit A (EC 1.6.5.-)
prod:	Na(+)-translocating NADH-quinone reductase subunit A
//
func:	Peptidyl-prolyl cis-trans isomerase ppiA precursor (EC 5.2.1.8)
prod:	peptidyl-prolyl cis-trans isomerase PpiA precursor
ecnu:	5.2.1.8
//
func:	NADPH-dependent glutamate synthase, large subunit
prod:	NADPH-dependent glutamate synthase large subunit
//
func:	S-adenosyl-methyltransferase mraW (EC 2.1.1.-)
prod:	S-adenosyl-methyltransferase MraW
//
func:	Single-stranded-DNA-specific exonuclease recJ (EC 3.1.-.-)
prod:	single-stranded-DNA-specific exonuclease RecJ
//
func:	Hypothetical UPF0243 zinc-binding protein VP2529
prod:	hypothetical protein
desc:	hypothetical zinc-binding protein
//
func:	Hypothetical ATP-binding protein UPF0042, contains P-loop # frameshift
prod:	hypothetical protein
note:	hypothetical ATP-binding protein, contains P-loop
//
func:	MiaB-like tRNA modifying enzyme YliG, TIGR01125
prod:	MiaB-like tRNA modifying enzyme YliG
//
func:	LysR-family transcriptional regulator clustered with PA0057
prod:	LysR-family transcriptional regulator
//
func:	P pilus assembly/Cpx signaling pathway, periplasmic inhibitor/zinc-resistance associated protein
prod:	P pilus assembly/Cpx signaling pathway inhibitor/zinc-resistance associated protein
//
func:	Hypothetical lysR-family transcriptional regulator YdhB
prod:	hypothetical protein
//
func:	MG(2+) CHELATASE FAMILY PROTEIN
prod:	Mg(2+) chelatase family protein
//
func:	Tyrosine recombinase xerC
prod:	tyrosine recombinase XerC
//
func:	Cell division transporter, ATP-binding protein ftsE (TC 3.A.5.1.1)
prod:	cell division transporter ATP-binding protein FtsE
note:	TC 3.A.5.1.1
//
func:	Cell division protein ftsX
prod:	cell division protein FtsX
//
func:	Protein of unknown function DUF541
prod:	hypothetical protein
//
func:	Tetrapyrrole (Corrin-Porphyrin) methylase family protein UPF0011
prod:	tetrapyrrole (Corrin-Porphyrin) methylase family protein
//
func:	COG1132
prod:	hypothetical protein
//
func:	RloF
prod:	RloF protein
//
func:	COG1576: Uncharacterized conserved protein ## ybeA
prod:	hypothetical protein
//
func:	Na+/H+ antiporter family protein
prod:	Na+/H+ antiporter family protein
//
func:	Hypothetical protein DUF454
prod:	hypothetical protein
//
func:	YciO family
prod:	YciO family protein
//
func:	VirK
prod:	VirK protein
//
func:	orf 104
prod:	hypothetical protein
//
func:	ABC-type amino acid transport, signal transduction systems, periplasmic component/domain
prod:	ABC-type amino acid transport system periplasmatic component
//
func:	Outer membrane protein ImpK/VasF, OmpA/MotB domain
prod:	ImpK/VasF outer membrane protein
//
func:	Phosphotransferase system mannitol/fructose-specific IIA domain
prod:	phosphotransferase system mannitol/fructose-specific IIA domain protein
//
func:	Fructosamine kinase family protein, At3g61080 homolog
prod:	fructosamine kinase family protein
//
func:	Starvation lipoprotein Slp paralog
prod:	starvation lipoprotein Slp like protein
//
func:	Transcriptional regulator, VCA0231 ortholog
prod:	AraC-type DNA-binding domain-containing protein
//
func:	Translation elongation factor G paralog
prod:	translation elongation factor G-like protein
//
func:	Dihydrolipoamide acetyltransferase component of pyruvate dehydrogenase complex (EC 2.3.1.12)
prod:	dihydrolipoamide acetyltransferase component of pyruvate dehydrogenase complex
ecnu:	2.3.1.12
//
func:	Dihydrolipoamide succinyltransferase component (E2) of 2-oxoglutarate dehydrogenase complex (EC 2.3.1.61)
prod:	dihydrolipoamide succinyltransferase component (E2) of 2-oxoglutarate dehydrogenase complex
ecnu:	2.3.1.61
//
func:	Acylphosphate phosphohydrolase (EC 3.6.1.7), putative
prod:	acylphosphate phosphohydrolase
ecnu:	3.6.1.7
//
func:	Iron-containing alcohol dehydrogenase (EC 1.1.1.1)
prod:	iron-containing alcohol dehydrogenase
ecnu:	1.1.1.1
//
func:	ABC-type nitrate/sulfonate/bicarbonate transport systems, periplasmic components
prod:	ABC-type transport system periplasmic component
//
func:	cAMP-binding proteins - catabolite gene activator and regulatory subunit of cAMP-dependent protein kinases
prod:	cAMP-binding protein
note:	catabolite gene activator and regulatory subunit of cAMP-dependent protein kinases
//
func:	GGDEF and EAL domain proteins
prod:	GGDEF and EAL domain-containing protein
//
func:	NAD(FAD)-utilizing dehydrogenases
prod:	NAD(FAD)-utilizing dehydrogenase
//
func:	RTX toxins and related Ca2+-binding proteins
prod:	Ca2+-binding protein
note:	putative RTX toxin
//
func:	SAM-dependent methyltransferases
prod:	SAM-dependent methyltransferase
//
func:	ATP-dependent RNA helicase VCA0768
prod:	ATP-dependent RNA helicase
//
func:	Fe-S protein, homolog of lactate dehydrogenase SO1521
prod:	Fe-S oxidoreductase
note:	similar to lactate dehydrogenase SO1521
//
func:	Metallo-beta-lactamase superfamily protein PA0057
prod:	metallo-beta-lactamase family protein
note:	similar to PA00057
//
func:	Ycg4D
prod:	hypothetical protein
//
func:	4-Hydroxy-2-oxoglutarate aldolase (EC 4.1.3.16)
prod:	4-hydroxy-2-oxoglutarate aldolase
ecnu:	4.1.3.16
//
func:	2-dehydro-3-deoxyphosphogluconate aldolase (EC 4.1.2.14)
prod:	2-dehydro-3-deoxyphosphogluconate aldolase
ecnu:	4.1.2.14
//
func:	Biotin synthesis protein bioH
prod:	biotin synthesis protein BioH
//
func:	Biotin synthesis protein bioC
prod:	biotin synthesis protein BioC
//
func:	Cob(I)alamin adenosyltransferase (EC 2.5.1.17)
prod:	cob(I)alamin adenosyltransferase
ecnu:	2.5.1.17
//
func:	L-rhamnose operon transcriptional activator rhaR
prod:	L-rhamnose operon transcriptional activator RhaR
//
func:	Amide synthase component of siderophore synthetase # Vibriobactin-specific, VibH
prod:	amide synthase component of siderophore synthetase
desc:	vibriobactin-specific, VibH
//
func:	Phosphopantetheinyl transferase component of siderophore synthetase (EC 2.7.8.-) # Vibriobactin-specific, VibD
prod:	phosphopantetheinyl transferase component of siderophore synthetase
desc:	vibriobactin-specific, VibD
//
func:	Toxin co-regulated pilus biosynthesis protein T, putative ATP-binding translocase of TcpA
prod:	toxin co-regulated pilus biosynthesis protein T
desc:	putative ATP-binding translocase of TcpA
//
func:	Toxin co-regulated pilus biosynthesis protein F, putative outer membrane channel for TcpA extrusion
prod:	toxin co-regulated pilus biosynthesis protein F
desc:	putative outer membrane channel for TcpA extrusion
//
func:	TCP pilus virulence regulatory protein toxT, transcription activator, AraC family
prod:	TCP pilus virulence regulatory protein ToxT transcription activator AraC family
//
func:	TCP pilin signal peptidase, TcpA processing
prod:	TCP pilin signal peptidase TcpA processing
//
func:	Rare lipoprotein A precursor
prod:	rare lipoprotein A precursor
//
func:	N-acetylglucosamine-6P-responsive transcriptional repressor NagC, ROK family
prod:	N-acetylglucosamine-6P-responsive transcriptional repressor NagC ROK family
//
func:	RstA
prod:	RstA phage-related replication protein
//
func:	transcriptional repressor RstR
prod:	RstR phage-related transcriptional repressor
//
func:	S-adenosylmethionine-dependent methyltransferase Functionally Coupled to the MukBEF Chromosome Partitioning Mechanism
prod:	S-adenosylmethionine-dependent methyltransferase functionally coupled to the MukBEF chromosome partitioning mechanism
//
func:	Membrane Protein Functionally coupled to the MukBEF Chromosome Partitioning Mechanism
prod:	membrane protein functionally coupled to the MukBEF chromosome partitioning mechanism
//
func:	PvcA protein, related to known isonitrile synthases
prod:	PvcA protein
//
func:	PvcB protein, related to amino acid oxidizing enzymes
prod:	PvcB protein
//
func:	Cholera enterotoxin subunit B precursor (Cholera enterotoxin B chain) (Cholera enterotoxin gamma chain) (Choleragenoid)
prod:	Enterotoxin subunit B
//
func:	protein of unknown function
prod:	hypothetical protein
//
func:	Protein of unknown function Smg
prod:	hypothetical protein
//
func:	orf30
prod:	hypothetical protein
//
func:	orf29
prod:	hypothetical protein
//
func:	orf4
prod:	hypothetical protein
//
func:	FIG018583: protein of unknown function
prod:	hypothetical protein
//
func:	Cryptic phage CTXphi transcriptional repressor rstR
prod:	cryptic phage CTXphi transcriptional repressor RstR
//
func:	Outer membrane chaperone Skp (OmpH) precursor @ Outer membrane protein H precursor
prod:	outer membrane chaperone Skp (OmpH) precursor
//
func:	AAA ATPase, central region
prod:	AAA ATPase central region
//
func:	Wzy
prod:	Wzy protein
//
func:	50S ribosomal protein L33
prod:	LSU ribosomal protein L33p
//
func:	Ribosomal protein S12p Asp88 (E. coli) methylthiotransferase
prod:	ribosomal protein S12p Asp88 methylthiotransferase
//
func:	WavQ
prod:	WavQ protein
//
func:	NT01VC2352
prod:	hypothetical protein
//
func:	COG1301: Na+/H+-dicarboxylate symporters
prod:	Na+/H+-dicarboxylate symporter
//
func:	TorCAD operon transcriptional regulatory protein torR
prod:	TorCAD operon transcriptional regulatory protein TorR
//
func:	protein of unknown function DUF847
prod:	hypothetical protein
//
func:	Membrane protein, distant similarity to thiosulphate:quinone oxidoreductase DoxD
prod:	membrane protein, similar to thiosulphate:quinone oxidoreductase DoxD
//
func:	Similarities with Photorhabdus cytotoxin
prod:	cytotoxin-like protein
//
func:	Proline/sodium symporter PutP (TC 2.A.21.2.1) @ Propionate/sodium symporter
prod:	proline/sodium symporter PutP
note:	TC 2.A.21.2.1
//
func:	Chain A, Crystal Structure Of Protein Vc1899 From Vibrio Cholerae
prod:	hypothetical protein
//
func:	haemagglutinin associated protein
prod:	hemagglutinin associated protein
//
func:	TPR repeat
prod:	TPR repeat-containing protein
//
func:	COG0610: Type I site-specific restriction-modification system, R (restriction) subunit and related helicases
prod:	type I site-specific restriction-modification system R (restriction) subunit
//
func:	COG2369: Uncharacterized protein, homolog of phage Mu protein gp30
prod:	phage protein
//
func:	Ribonuclease HI, Vibrio paralog
prod:	ribonuclease HI
//
func:	COG1961: Site-specific recombinases, DNA invertase Pin homologs
prod:	site-specific recombinase
//
func:	COG1434: Uncharacterized conserved protein
prod:	hypothetical protein
//
func:	Trp operon repressor homolog
prod:	Trp operon repressor-like protein
//
func:	Hypothetical protein YqcC (clustered with tRNA pseudouridine synthase C)
prod:	hypothetical protein
//
func:	Sua5 YciO YrdC YwlC family protein
prod:	YrdC family protein
//
func:	FIG000859 (not subsystem-based): hypothetical protein
prod:	hypothetical protein
//
func:	Hypothetical protein colocalized with Enterobactin receptor VctA
prod:	hypothetical protein
//
func:	COG1004: Predicted UDP-glucose 6-dehydrogenase( EC:1.1.1.22 )
prod:	UDP-glucose 6-dehydrogenase
ecnu:	EC:1.1.1.22
//
func:	
prod:	

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3