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

Diff of /FigKernelPackages/gjogenbank.pm

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

revision 1.4, Tue Aug 17 20:47:29 2010 UTC revision 1.5, Wed Aug 18 19:34:24 2010 UTC
# Line 124  Line 124 
124                    features_of_type                    features_of_type
125                  );                  );
126    
127    use Data::Dumper;
128    
129  #===============================================================================  #===============================================================================
130  #  #
131  #    @entries = parse_genbank( )           #  \*STDIN  #    @entries = parse_genbank( )           #  \*STDIN
# Line 233  Line 235 
235  #  #
236      while ( $state == 0 )      while ( $state == 0 )
237      {      {
238          if ( /^LOCUS\s+(\S+)\s.*\s(\S+)\s+\S+\s+(\S+)\s*$/ )          if ( s/^LOCUS\s+// )
239          {          {
240              $entry{ LOCUS }    = $1;              my @parts = split;
241              $entry{ GEOMETRY } = $2;              $entry{ LOCUS }    = shift @parts;
242              $entry{ DATE }     = $3;              $entry{ DATE }     = pop @parts if $parts[-1] =~ m/^\d+-[A-Z][A-Z][A-Z]-\d+$/i;
243                $entry{ DIVISION } = pop @parts;
244                $entry{ GEOMETRY } = pop @parts if $parts[-1] =~ m/^(lin|circ)/i;
245                $entry{ MOL_TYPE } = pop @parts if $parts[-1] =~ m/na$/i;
246              $state = 1;              $state = 1;
247          }          }
248          if ( defined( $_ = <$fh> ) ) { chomp } else { $state = -1 }          if ( defined( $_ = <$fh> ) ) { chomp } else { $state = -1 }
# Line 332  Line 337 
337    
338      while ( $state == 2 )      while ( $state == 2 )
339      {      {
340          if ( /^ORIGIN/ )          if ( /^ORIGIN/ || /^BASE COUNT/ )
341          {          {
342              $state = 3;              $state = 3;
343          }          }
# Line 411  Line 416 
416          }          }
417      }      }
418    
419        if ( $state == 3 && s/^BASE COUNT\s+// )
420        {
421            $entry{ BASE_COUNT } = { reverse split };
422            $state = ( defined( $_ = <$fh> ) && /^ORIGIN/ ) ? 3 : -1;
423        }
424    
425      #  Read the sequence:      #  Read the sequence:
426    
427      while ( $state == 3 )      while ( $state == 3 )

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

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3