[Bio] / Babel / bin / insert_diffs_from_assertion_into_db.pl Repository:
ViewVC logotype

Annotation of /Babel/bin/insert_diffs_from_assertion_into_db.pl

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (view) (download) (as text)

1 : wilke 1.1 #!/usr/bin/env /home/wilke/FIGdisk/bin/run_perl
2 :    
3 :     use Data::Dumper;
4 :     use Carp;
5 :     use FIG_Config;
6 :     use FIG;
7 :     use strict;
8 :     use warnings;
9 :    
10 :    
11 :     my $fig = new FIG;
12 :    
13 :     my $in = shift @ARGV;
14 :     my $out = shift @ARGV;
15 :    
16 :     unless(-f $in){
17 :     print STDERR "No file $in\n";
18 :     print STDERR "script diff_file\n";
19 :     exit;
20 :     }
21 :    
22 :    
23 :     open (FILE , "$in") or die "Can not open file $in!";
24 :    
25 :     my $corr = {};
26 :     print STDERR "Reading file $in.\n";
27 :     my $status = '';
28 :     while( <FILE> ){
29 :     chomp $_;
30 :     my ($md5 , $fa, $fb) = split "\t" , $_;
31 :    
32 :     next unless($fa);
33 :     next unless($fb);
34 :    
35 :     my ($a , $b) = sort ( $fa , $fb);
36 :     if ($corr->{$a}->{$b} and $corr->{$a}->{$b} ne $status){
37 :     print STDERR "DIFF\t$a\t$b\t$status\t".$corr->{$a}->{$b}."\n";
38 :     }
39 :     elsif($corr->{$a}->{$b} and $corr->{$a}->{$b} eq $status){
40 :     print STDERR "SAME\t$a\t$b\t$status\t".$corr->{$a}->{$b}."\n";
41 :     }
42 :    
43 :     else{
44 :     $corr->{$a}->{$b} = $status;
45 :     }
46 :    
47 :     }
48 :     print STDERR "Writing correspondences.\n";
49 :    
50 :    
51 :     my $rdbH = $fig->db_handle;
52 :    
53 :    
54 :    
55 :     foreach my $a (keys %$corr){
56 :     foreach my $b (keys %{ $corr->{$a} }){
57 :    
58 :     my $ea = &encode($a);
59 :     my $eb = &encode($b);
60 :    
61 :     my $statement = "select function1 , function2 from ACH_Correspondence where function1='$ea' and function2='$eb';";
62 :     # print STDERR $statement , "\n";
63 :     my $relational_db_response = $rdbH->SQL($statement);
64 :     if (@$relational_db_response) {
65 :     print "$a\t$b\tin db\n";
66 :     }
67 :     else{
68 :     # print join("\t",@$tuple),"\n";
69 :     $rdbH->SQL("INSERT INTO ACH_Correspondence (function1 , function2 , status) VALUES ('$ea','$eb','')");
70 :     print "$a\t$b\t".$corr->{$a}->{$b}."\n";
71 :     }
72 :     }
73 :     }
74 :    
75 :    
76 :    
77 :    
78 :     exit;
79 :    
80 :    
81 :    
82 :     sub encode {
83 :     my($x) = @_;
84 :    
85 :     $x =~ s/\\/\\\\/g;
86 :     $x =~ s/\'/\\'/g;
87 :     return $x;
88 :     }

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3