[Bio] / FigKernelPackages / FIG.pm Repository:
ViewVC logotype

Diff of /FigKernelPackages/FIG.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.154, Mon Sep 20 21:16:02 2004 UTC revision 1.155, Wed Sep 22 19:29:51 2004 UTC
# Line 780  Line 780 
780      return $id;      return $id;
781  }  }
782    
783    =pod
784    
785    =head1 get_release_info
786    
787    Return the current data release information. This will be a tuple or a
788    hash or something, but the format is not yet defined so we return
789    undef.
790    
791    =cut
792    
793    sub get_release_info
794    {
795        my($self) = @_;
796    
797        return undef;
798    }
799    
800    =pod
801    
802    =head1 get_peer_last_update
803    
804    Return the timestamp from the last successful peer-to-peer update with
805    the given peer.
806    
807    We store this information in FIG/Data/Global/Peers/<peer-id>.
808    
809    =cut
810    
811    sub get_peer_last_update
812    {
813        my($self, $peer_id) = @_;
814    
815        my $dir = "$FIG_Config::data/Global/Peers";
816        &verify_dir($dir);
817        $dir .= "/$peer_id";
818        &verify_dir($dir);
819    
820        my $update_file = "$dir/last_update";
821        if (-f $update_file)
822        {
823            my $time = file_head($update_file, 1);
824            chomp $time;
825            return $time;
826        }
827        else
828        {
829            return undef;
830        }
831    }
832    
833    sub set_peer_last_update
834    {
835        my($self, $peer_id, $time) = @_;
836    
837        my $dir = "$FIG_Config::data/Global/Peers";
838        &verify_dir($dir);
839        $dir .= "/$peer_id";
840        &verify_dir($dir);
841    
842        my $update_file = "$dir/last_update";
843        open(F, ">$update_file");
844        print F "$time\n";
845        close(F);
846    }
847    
848  sub cgi_url {  sub cgi_url {
849      shift if UNIVERSAL::isa($_[0],__PACKAGE__);      shift if UNIVERSAL::isa($_[0],__PACKAGE__);
850      return &plug_url($FIG_Config::cgi_url);      return &plug_url($FIG_Config::cgi_url);
# Line 858  Line 923 
923              last if $i >= $n;              last if $i >= $n;
924          }          }
925          close($fh);          close($fh);
926    
927            if (wantarray)
928            {
929          return @ret;          return @ret;
930      }      }
931            else
932            {
933                return join("", @ret);
934            }
935        }
936  }  }
937    
938    
# Line 6613  Line 6686 
6686      }      }
6687  }  }
6688    
6689    =pod
6690    
6691    =head1 find_genome_by_content
6692    
6693    Find a genome given the number of contigs, number of nucleotides, and
6694    checksum. We pass in a potential name for the genome as a quick
6695    starting check.
6696    
6697    =cut
6698    
6699    sub find_genome_by_content
6700    {
6701        my($self, $genome, $n_contigs, $n_nucs, $cksum) = @_;
6702    
6703        my(@genomes);
6704    
6705        my $gbase = (split(/\./, $genome))[0];
6706    
6707        #
6708        # Construct the list of genomes so that we first check ones with the same
6709        # base-part as the one passed in.
6710        #
6711        for ($self->genomes())
6712        {
6713            if (/^$gbase\./)
6714            {
6715                unshift(@genomes, $_);
6716            }
6717            else
6718            {
6719                push(@genomes, $_);
6720            }
6721        }
6722    
6723    
6724        for my $genome (@genomes)
6725        {
6726            print "Checking $genome\n";
6727    
6728            if (open(my $cfh, "<$FIG_Config::organisms/$genome/COUNTS"))
6729            {
6730                if ($_ = <$cfh>)
6731                {
6732                    my($cgenome, $cn_contigs, $cn_nucs, $ccksum) = split(/\t/);
6733    
6734                    if ($cgenome eq $genome and
6735                        $cn_contigs == $n_contigs and
6736                        $cn_nucs == $n_nucs and
6737                        $ccksum == $cksum)
6738                    {
6739                        return $genome;
6740                    }
6741                }
6742                close($cfh);
6743            }
6744        }
6745    
6746        return undef;
6747    }
6748    
6749  ################################# Support for PEG Links  ####################################  ################################# Support for PEG Links  ####################################
6750    
6751  sub peg_links {  sub peg_links {

Legend:
Removed from v.1.154  
changed lines
  Added in v.1.155

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3