[Bio] / FigWebServices / diffsF.cgi Repository:
ViewVC logotype

Diff of /FigWebServices/diffsF.cgi

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

revision 1.5, Wed Oct 18 07:38:44 2006 UTC revision 1.6, Wed Oct 18 09:12:24 2006 UTC
# Line 178  Line 178 
178                      $changed = qq(shortened);                      $changed = qq(shortened);
179                  }                  }
180    
181                  push @both, [ $changed, $link1, $len1, $link2, $len2, ($len2 - $len1) ];                  push @both, [ $changed, $fid1, $link1, $len1, $fid2, $link2, $len2, ($len2 - $len1) ];
182              }              }
183          }          }
184          else          else
185          {          {
186              $fid1 = $org1T->{$key}->[FID];              $fid1 = $org1T->{$key}->[FID];
187              $link1 = &link($org1,$fid1);              $link1 = &link($org1,$fid1);
188              push @just1, [ $link1, $org1T->{$key}->[LEN] ];              push @just1, [ $fid1, $link1, $org1T->{$key}->[LEN] ];
189          }          }
190      }      }
191    
# Line 198  Line 198 
198              $locus2 = $org2T->{$key}->[LOCUS];              $locus2 = $org2T->{$key}->[LOCUS];
199              $fid2 = $org2T->{$key}->[FID];              $fid2 = $org2T->{$key}->[FID];
200              $link2 = &link($org2,$fid2);              $link2 = &link($org2,$fid2);
201              push @just2, [ $link2, $org2T->{$key}->[LEN] ];              push @just2, [ $fid2, $link2, $org2T->{$key}->[LEN] ];
202          }          }
203      }      }
204    
205      push @$html, map {      push @$html, map {
206          $align = qq(<A HREF="diffsF.cgi?align1=$_->[1]&align2=$_->[3]&org1=$org1&org2=$org2">align</A>);          $align = qq(<A HREF="diffsF.cgi?align1=$_->[1]&align2=$_->[4]&org1=$org1&org2=$org2">align</A>);
207          $cgi->h2("$align $_->[0]: $_->[1] ($_->[2] bp) => $_->[3] ($_->[4] bp), diff=$_->[5]")          $cgi->h2("$align $_->[0]: $_->[2] ($_->[3] bp) => $_->[5] ($_->[6] bp), diff=$_->[7]")
208          }          }
209      sort {      sort {
210          abs($b->[5]) <=> abs($a->[5])          abs($b->[7]) <=> abs($a->[7])
211          } @both;          } @both;
212    
213    
214      push @$html, map {      push @$html, map {
215          $cgi->h2("just2: $_->[0] ($_->[1] bp)")          $cgi->h2("just2: $_->[1] ($_->[2] bp)")
216          }          }
217      sort {      sort {
218          $b->[1] <=> $a->[1]          $b->[2] <=> $a->[2]
219          } @just2;          } @just2;
220    
221    
222      push @$html, map {      push @$html, map {
223          $cgi->h2("just1: $_->[0] ($_->[1] bp)")          $cgi->h2("just1: $_->[1] ($_->[2] bp)")
224          }          }
225      sort {      sort {
226          $b->[1] <=> $a->[1]          $b->[2] <=> $a->[2]
227          } @just1;          } @just1;
228  }  }
229    
# Line 236  Line 236 
236      if (@tmp = grep { m/^(\S+)/o && ($1 eq $gene2) } `cat $org2/found`) {      if (@tmp = grep { m/^(\S+)/o && ($1 eq $gene2) } `cat $org2/found`) {
237          if ($tmp[0] =~ m/^\S+\t(FIG\d{6})/o) {          if ($tmp[0] =~ m/^\S+\t(FIG\d{6})/o) {
238              $figfam = new FigFam($fig, $1, $default_dir);              $figfam = new FigFam($fig, $1, $default_dir);
239              my @members = grep { $neighbors{$fig->genome_of($_)} } $figfam->list_members();              my $fam_id = $figfam->family_id();
240                push @$html, $cgi->h2("$gene2 is in Family $fam_id");
241              my $tmp_seqs = "$FIG_Config::temp/tmp.$$";  #           my @members = grep { $neighbors{$fig->genome_of($_)} } $figfam->list_members();
242              open(TMP, ">$tmp_seqs")              my @members = $figfam->list_members();
243                @members || push @$html, $cgi->h2("No members in $fam_id");
244    
245                my $tmp_seqs = "$FIG_Config::temp/tmp_seqs_$$";
246                my $tmp_fid  = "$FIG_Config::temp/tmp_fid_$$";
247                open(TMP_SEQS, ">$tmp_seqs")
248                  || ((push @$html, $cgi->h2("Could not write-open $tmp_seqs")) && return);                  || ((push @$html, $cgi->h2("Could not write-open $tmp_seqs")) && return);
249    
250              foreach my $id (@members) {              foreach my $id (@members) {
251                  my $seq = $fig->get_translation($id);                  my $seq = $fig->get_translation($id);
252                  &FIG::display_id_and_seq($id, \$seq, \*TMP);                  if ($seq) {
253    #                   push @$html, $cgi->h2("Got seq for $id");
254                        &FIG::display_id_and_seq($id, \$seq, \*TMP_SEQS);
255                    }
256                    else {
257                        push @$html, $cgi->h2("No seq for $id");
258                    }
259              }              }
             close(TMP)  
                 || ((push @$html, $cgi->h2("Could not close $tmp_seqs")) && return);  
260    
261              $tmp = $gene1;              open(TMP_FID, ">$tmp_fid")
262              $tmp =~ s{\|}{\\\|}o;                  || ((push @$html, $cgi->h2("Could not write-open $tmp_fid")) && return);
263              system("echo $tmp1 | pull_fasta_entries $org1/Features/peg/fasta >> $tmp_seqs")              print TMP_FID "$gene1\n";
264                  && ((push @$html, $cgi->h2("Could not append seq of $gene1 to $tmp_seqs")) && return);              $tmp =  `$FIG_Config::bin/pull_fasta_entries $org1/Features/peg/fasta < $tmp_fid`;
265                $tmp =~ s/^>fig/>old/;
266              $tmp = $gene2;              print TMP_SEQS $tmp;
             $tmp =~ s{\|}{\\\|}o;  
             system("echo $tmp1 | pull_fasta_entries $org2/Features/peg/fasta >> $tmp_seqs")  
                 && ((push @$html, $cgi->h2("Could not append seq of $gene2 to $tmp_seqs")) && return);  
267    
268              system("clustalw -infile=$tmp_seqs -align -outorder=aligned > /dev/null")              open(TMP_FID, ">$tmp_fid")
269                    || ((push @$html, $cgi->h2("Could not write-open $tmp_fid")) && return);
270                print TMP_FID "$gene2\n";
271                $tmp = `$FIG_Config::bin/pull_fasta_entries $org2/Features/peg/fasta < $tmp_fid`;
272                $tmp =~ s/^>fig/>new/;
273                print TMP_SEQS $tmp;
274    
275                close(TMP_SEQS)
276                    || ((push @$html, $cgi->h2("Could not close $tmp_seqs")) && return);
277    
278                system("$FIG_Config::ext_bin/clustalw -infile=$tmp_seqs -align -outorder=aligned > /dev/null")
279                  && ((push @$html, $cgi->h2("clustalw failed on file $tmp_seqs")) && return);                  && ((push @$html, $cgi->h2("clustalw failed on file $tmp_seqs")) && return);
280    
281              push @$html, qq(<pre>\n);              push @$html, qq(<pre>\n);
282              push @$html, `cat $tmp_seqs.aln`;              @tmp = `cat $tmp_seqs.aln`;
283                push @$html, (@tmp ? (@tmp) : ("No lines read from $tmp_seqs.aln"));
284              push @$html, qq(</pre>\n);              push @$html, qq(</pre>\n);
285    
286                system("rm -f $tmp_seqs* $tmp_fid")
287                    && ((push @$html, $cgi->h2("Could not remove temporary files")) && return);
288          }          }
289          else {          else {
290              $tmp[0] =~ s/\t/ /go;              $tmp[0] =~ s/\t/ /go;

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3