XrefParser IlluminaWGParser
Included librariesPackage variablesGeneral documentationMethods
Toolbar
WebCvsRaw content
Package variables
No package variables defined.
Inherit
XrefParser::BaseParser
Synopsis
No synopsis!
Description
No description!
Methods
run
No description
Code
Methods description
None available.
Methods code
rundescriptionprevnextTop
sub run {
  my $self = shift if (defined(caller(1)));

  my $source_id = shift;
  my $species_id = shift;
  my $files       = shift;
  my $release_file   = shift;
  my $verbose       = shift;

  my $file = @{$files}[0];


  my @xrefs;

  my $file_io = $self->get_filehandle($file);

  if ( !defined $file_io ) {
    print STDERR "Could not open $file\n";
    return 1;
  }

  my $read = 0;
  my $name_index;
  my $seq_index;
  my $defin_index;
  while ( $_ = $file_io->getline() ) {
    chomp;

    my $xref;

    # strip ^M at end of line
$_ =~ s/\015//g; if(/^\[/){ # print $_."\n";
if(/^\[Probes/){ my $header = $file_io->getline(); # print $header."\n";
$read =1; my @bits = split("\t", $header); my $index =0; foreach my $head (@bits){ if($head eq "Search_Key"){ $name_index = $index; } elsif($head eq "Probe_Sequence"){ $seq_index = $index; } elsif($head eq "Definition"){ $defin_index = $index; } $index++; } if(!defined($name_index) or !defined($seq_index) or !defined($defin_index)){ die "Could not find index for search_key->$name_index, seq->$seq_index, definition->$defin_index"; } next; } else{ $read = 0; } } if($read){ # print $_."\n";
my @bits = split("\t", $_); my $sequence = $bits[$seq_index]; my $description = $bits[$defin_index]; my $illumina_id = $bits[$name_index]; # build the xref object and store it
$xref->{ACCESSION} = $illumina_id; $xref->{LABEL} = $illumina_id; $xref->{SEQUENCE} = $sequence; $xref->{SOURCE_ID} = $source_id; $xref->{SPECIES_ID} = $species_id; $xref->{DESCRIPTION} = $description; $xref->{SEQUENCE_TYPE} = 'dna'; $xref->{STATUS} = 'experimental'; push @xrefs, $xref; } } $file_io->close(); XrefParser::BaseParser->upload_xref_object_graphs(\@xrefs); print scalar(@xrefs) . " Illumina V2 xrefs succesfully parsed\n" if($verbose); return 0; } 1;
}
General documentation
No general documentation available.