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

Diff of /FigKernelScripts/fc_figfams.pl

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

revision 1.1, Sat Oct 6 15:00:37 2007 UTC revision 1.2, Sat Oct 13 15:10:06 2007 UTC
# Line 1  Line 1 
1  ########################################################################  ########################################################################
2    
3    # usage: fc_figfams [done] > couplings
4    
5    my %done;
6    if (@ARGV > 0)
7    {
8        foreach $_ (`cut -f1 $ARGV[0] | sort -u`)
9        {
10            if ($_ =~ /^(FIG\d{6})/)
11            {
12                $done{$1} = 1;
13            }
14        }
15    }
16    
17  use FIG;  use FIG;
18  my $fig = new FIG;  my $fig = new FIG;
19    
# Line 8  Line 22 
22    
23  use FigFam;  use FigFam;
24    
25    $| = 1;
26  foreach $fam_id1 ($figfams->all_families)  foreach $fam_id1 ($figfams->all_families)
27  {  {
28        next if ($done{$fam_id1});
29      undef %to;      undef %to;
30      my $figfam = new FigFam($fig,$fam_id1);      my $figfam = new FigFam($fig,$fam_id1);
31      foreach $peg1 ($figfam->list_members)      if (! $figfam)
32        {
33            print STDERR "could not make FIGfam $fam_id1\n";
34        }
35        else
36      {      {
37          foreach $tuple ($fig->coupled_to($peg1))          my @pegs = $figfam->list_members;
38            foreach $tuple (&batch($fig,@pegs))
39          {          {
40              my($peg2,$sc) = @$tuple;              my($peg1,$peg2,$sc) = @$tuple;
41              foreach $fam_id2 ($figfams->families_containing_peg($peg2))              foreach $fam_id2 ($figfams->families_containing_peg($peg2))
42              {              {
43                  if ((! ($x = $to{$fam_id2})) || ($x < $sc))                  if ((! ($x = $to{$fam_id2})) || ($x < $sc))
# Line 31  Line 52 
52          print join("\t",($fam_id1,$fam_id2,$to{$fam_id2})),"\n";          print join("\t",($fam_id1,$fam_id2,$to{$fam_id2})),"\n";
53      }      }
54  }  }
55    
56    sub batch {
57        my($fig,@pegs) = @_;
58    
59        my $rdbH = $fig->db_handle;
60        if (! $rdbH->table_exists('fc_pegs')) { return undef }
61    
62        my $cond = join(", ", map { "'$_'" } @pegs);
63        my $relational_db_response = $rdbH->SQL("SELECT peg1,peg2,score FROM fc_pegs
64                                                 WHERE  peg1 in ($cond) ");
65        return @$relational_db_response;
66    }

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3