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

Diff of /FigKernelPackages/Observation.pm

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

revision 1.21, Thu Jun 28 22:08:05 2007 UTC revision 1.22, Fri Jun 29 16:22:37 2007 UTC
# Line 1774  Line 1774 
1774  }  }
1775    
1776  sub display {  sub display {
1777      my ($self,$gd, $fid) = @_;      my ($self,$gd, $fid, $gd_window_size) = @_;
1778    
1779      my $fig = new FIG;      my $fig = new FIG;
1780      my $all_regions = [];      my $all_regions = [];
# Line 1785  Line 1785 
1785      # get location of the gene      # get location of the gene
1786      my $data = $fig->feature_location($fid);      my $data = $fig->feature_location($fid);
1787      my ($contig, $beg, $end);      my ($contig, $beg, $end);
1788        my %reverse_flag;
1789    
1790      if ($data =~ /(.*)_(\d+)_(\d+)$/){      if ($data =~ /(.*)_(\d+)_(\d+)$/){
1791          $contig = $1;          $contig = $1;
# Line 1792  Line 1793 
1793          $end = $3;          $end = $3;
1794      }      }
1795    
1796        my $offset;
1797      my ($region_start, $region_end);      my ($region_start, $region_end);
1798      if ($beg < $end)      if ($beg < $end)
1799      {      {
1800          $region_start = $beg - 4000;          $region_start = $beg - 4000;
1801          $region_end = $end+4000;          $region_end = $end+4000;
1802            $offset = ($2+(($3-$2)/2))-($gd_window_size/2);
1803      }      }
1804      else      else
1805      {      {
1806          $region_start = $end-4000;          $region_start = $end-4000;
1807          $region_end = $beg+4000;          $region_end = $beg+4000;
1808            $offset = ($3+(($2-$3)/2))-($gd_window_size/2);
1809            $reverse_flag{$target_genome} = 1;
1810      }      }
1811    
1812      # call genes in region      # call genes in region
1813      my ($target_gene_features, $reg_beg, $reg_end) = $fig->genes_in_region($target_genome, $contig, $region_start, $region_end);      my ($target_gene_features, $reg_beg, $reg_end) = $fig->genes_in_region($target_genome, $contig, $region_start, $region_end);
1814      push(@$all_regions,$target_gene_features);      push(@$all_regions,$target_gene_features);
1815      my (@start_array_region);      my (@start_array_region);
1816      push (@start_array_region, $region_start);      push (@start_array_region, $offset);
1817    
1818      my %all_genes;      my %all_genes;
1819      my %all_genomes;      my %all_genomes;
# Line 1826  Line 1831 
1831              #   last if ($coup_count > 10);              #   last if ($coup_count > 10);
1832              my ($peg1,$peg2) = @$pair;              my ($peg1,$peg2) = @$pair;
1833    
             my $location = $fig->feature_location($peg1);  
1834              my ($pair_contig,$pair_beg,$pair_end,$pair_region_start,$pair_region_stop,$pair_genome);              my ($pair_contig,$pair_beg,$pair_end,$pair_region_start,$pair_region_stop,$pair_genome);
1835                $pair_genome = $fig->genome_of($peg1);
1836    
1837                my $location = $fig->feature_location($peg1);
1838              if($location =~/(.*)_(\d+)_(\d+)$/){              if($location =~/(.*)_(\d+)_(\d+)$/){
1839                  $pair_contig = $1;                  $pair_contig = $1;
1840                  $pair_beg = $2;                  $pair_beg = $2;
# Line 1836  Line 1843 
1843                  {                  {
1844                      $pair_region_start = $pair_beg - 4000;                      $pair_region_start = $pair_beg - 4000;
1845                      $pair_region_stop = $pair_end+4000;                      $pair_region_stop = $pair_end+4000;
1846                        $offset = ($2+(($3-$2)/2))-($gd_window_size/2);
1847                  }                  }
1848                  else                  else
1849                  {                  {
1850                      $pair_region_start = $pair_end-4000;                      $pair_region_start = $pair_end-4000;
1851                      $pair_region_stop = $pair_beg+4000;                      $pair_region_stop = $pair_beg+4000;
1852                        $offset = ($3+(($2-$3)/2))-($gd_window_size/2);
1853                        $reverse_flag{$pair_genome} = 1;
1854                  }                  }
1855    
1856                  push (@start_array_region, $pair_region_start);                  push (@start_array_region, $offset);
1857    
                 $pair_genome = $fig->genome_of($peg1);  
1858                  $all_genomes{$pair_genome} = 1;                  $all_genomes{$pair_genome} = 1;
1859                  my ($pair_features) = $fig->genes_in_region($pair_genome, $pair_contig, $pair_region_start, $pair_region_stop);                  my ($pair_features) = $fig->genes_in_region($pair_genome, $pair_contig, $pair_region_start, $pair_region_stop);
1860                  push(@$all_regions,$pair_features);                  push(@$all_regions,$pair_features);
# Line 1884  Line 1893 
1893              foreach my $peg1 (@$feature_list){              foreach my $peg1 (@$feature_list){
1894                  my $location = $fig->feature_location($peg1);                  my $location = $fig->feature_location($peg1);
1895                  my ($pair_contig,$pair_beg,$pair_end,$pair_region_start,$pair_region_stop,$pair_genome);                  my ($pair_contig,$pair_beg,$pair_end,$pair_region_start,$pair_region_stop,$pair_genome);
1896                    $pair_genome = $fig->genome_of($peg1);
1897    
1898                  if($location =~/(.*)_(\d+)_(\d+)$/){                  if($location =~/(.*)_(\d+)_(\d+)$/){
1899                      $pair_contig = $1;                      $pair_contig = $1;
1900                      $pair_beg = $2;                      $pair_beg = $2;
# Line 1892  Line 1903 
1903                      {                      {
1904                          $pair_region_start = $pair_beg - 4000;                          $pair_region_start = $pair_beg - 4000;
1905                          $pair_region_stop = $pair_end + 4000;                          $pair_region_stop = $pair_end + 4000;
1906                          print STDERR "begFIG: $peg1, START:$pair_region_start, END: $pair_region_stop";                          $offset = ($2+(($3-$2)/2))-($gd_window_size/2);
1907                      }                      }
1908                      else                      else
1909                      {                      {
1910                          $pair_region_start = $pair_end-4000;                          $pair_region_start = $pair_end-4000;
1911                          $pair_region_stop = $pair_beg+4000;                          $pair_region_stop = $pair_beg+4000;
1912                          print STDERR "endFIG: $peg1, START:$pair_region_start, END: $pair_region_stop";                          $offset = ($3+(($2-$3)/2))-($gd_window_size/2);
1913                            $reverse_flag{$pair_genome} = 1;
1914                      }                      }
1915    
1916                      push (@start_array_region, $pair_region_start);                      push (@start_array_region, $offset);
   
                     $pair_genome = $fig->genome_of($peg1);  
1917                      $all_genomes{$pair_genome} = 1;                      $all_genomes{$pair_genome} = 1;
1918                      my ($pair_features) = $fig->genes_in_region($pair_genome, $pair_contig, $pair_region_start, $pair_region_stop);                      my ($pair_features) = $fig->genes_in_region($pair_genome, $pair_contig, $pair_region_start, $pair_region_stop);
1919                      push(@$all_regions,$pair_features);                      push(@$all_regions,$pair_features);
# Line 2027  Line 2037 
2037                              'basepair_offset' => '0'                              'basepair_offset' => '0'
2038                              };                              };
2039    
2040          my $offset = shift @start_array_region;          my $offsetting = shift @start_array_region;
2041    
2042          my $line_data = [];          my $line_data = [];
2043          foreach my $fid1 (@$region){          foreach my $fid1 (@$region){
# Line 2069  Line 2079 
2079              my $fid_location = $fig->feature_location($fid1);              my $fid_location = $fig->feature_location($fid1);
2080              if($fid_location =~/(.*)_(\d+)_(\d+)$/){              if($fid_location =~/(.*)_(\d+)_(\d+)$/){
2081                  my($start,$stop);                  my($start,$stop);
2082                  $start = $2 - $offset;                  $start = $2 - $offsetting;
2083                  $stop = $3 - $offset;                  $stop = $3 - $offsetting;
2084    
2085                    if (defined($reverse_flag{$region_genome})){
2086                        $start = $gd_window_size - $start;
2087                        $stop = $gd_window_size - $stop;
2088                    }
2089    
2090                  $element_hash = {                  $element_hash = {
2091                      "title" => $fid1,                      "title" => $fid1,
2092                      "start" => $start,                      "start" => $start,

Legend:
Removed from v.1.21  
changed lines
  Added in v.1.22

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3