# BioMirror/EBI.pm =head1 NAME BioMirror::EBI -- BioMirror::Data packages for EMBL/EBI databanks =cut package BioMirror::SRSDatabanks; @ISA = qw( BioMirror::Data ); sub new { my $class= shift; my $self = $class->SUPER::new( srsdb => 'DATABANKS', name => 'SRS Databanks', makeflags => $BioMirror::Data::kFromArchive|$BioMirror::Data::kDoSrsIndex, dosummary => 1, # add to summary table source => { home => 'EBI', comment => 'List of active SRS databases around world', url => 'ftp://ftp.ebi.ac.uk/pub/databases/databanks/', web => 'http://srs.ebi.ac.uk/', ## web => 'http://srs.ebi.ac.uk/srs5bin/cgi-bin/wgetz?-fun+pagelibinfo+-info+DATABANKS', }, mirror_dir => '$zpath/srs-databanks/', expanded_dir => '$dpath/srs-databanks/', data => [ 'databanks.dat', ], @_ ); return $self; } package BioMirror::Taxonomy_EBI; @ISA = qw( BioMirror::Data ); sub new { my $class= shift; my $self = $class->SUPER::new( srsdb => 'TAXONOMY', name => 'Taxonomy data from EBI', makeflags => $BioMirror::Data::kFromArchive|$BioMirror::Data::kDoSrsIndex, dosummary => 0, # add to summary table -- combine w/ NCBI taxonomy ! source => { home => 'EBI', comment => 'Taxonomy data', url => 'ftp://ftp.ebi.ac.uk/pub/databases/taxonomy/', }, mirror_dir => '$zpath/taxonomy/ebi/', expanded_dir => '$dpath/taxonomy/', data => [ 'taxonomy.dat', ], @_ ); return $self; } package BioMirror::BiosoftCatalog; ## IUBio local db ! ## @ISA = qw( BioMirror::Data ); ## drop this; stale since 2000 ; jun03 sub new { my $class= shift; my $self = $class->SUPER::new( srsdb => 'BIOCAT', name => 'Bio-Catalog', #skip#makeflags => $BioMirror::Data::kFromArchive|$BioMirror::Data::kDoSrsIndex, dosummary => 0, source => { comment => 'BioCatalog of Software from EBI', url => 'ftp://ftp.ebi.ac.uk/pub/databases/bio_catal/', local_ignore => '([^Z]$|local$)', recursive => 'false', }, mirror_dir => '/bio/archive/biosoft-catalog/', ## IUBio local ! expanded_dir => '/bio/biosoft-catalog/', ##? move to $dpath ? data => [ 'biocatal.txt', ], @_ ); return $self; } package BioMirror::EMBL; @ISA = qw( BioMirror::Data ); sub new { my $class= shift; my $self = $class->SUPER::new( srsdb => 'EMBL', name => 'EMBL', makeflags => 0, ## no expansion or index ## $BioMirror::Data::kFromArchive|$BioMirror::Data::kDoSrsIndex, dosummary => 1, source => { home => 'EBI', comment => 'The EMBL Nucleotide Sequence Database', url => 'ftp://ftp.ebi.ac.uk/pub/databases/embl/release/', web => 'http://www.ebi.ac.uk/embl/', recursive => 'false', get_patt => '(\.dat\.gz$|^Release|README|\.doc$)', exclude_patt => '(^gcg|^emvec|^Old)', }, mirror_dir => '$zpath/embl/release/', expanded_dir => 0, ##'$dpath/embl/', data => [], ## no expansion @_ ); return $self; } package BioMirror::EMBLNew; @ISA = qw( BioMirror::EMBL ); sub new { my $class= shift; my $self = $class->SUPER::new( srsdb => 'EMBLNEW', name => 'EMBL Daily updates', makeflags => 0, ## no expansion or index ## $BioMirror::Data::kFromArchive|$BioMirror::Data::kDoSrsIndex, dosummary => 0, source => { comment => 'EMBL daily from EBI', url => 'ftp://ftp.ebi.ac.uk/pub/databases/embl/new/', web => 'http://www.ebi.ac.uk/embl/', get_patt => '(^cum_\S+\.dat\.gz$|README)', exclude_patt => '(^gcg|^list)', recursive => 'false', max_delete_files => '100%', # so old ones don't accumulate! }, mirror_dir => '$zpath/embl/new/', expanded_dir => 0, ##'$dpath/emblnew/', data => [], ## no expansion @_ ); return $self; } package BioMirror::TrEMBL; @ISA = qw( BioMirror::SwissProt ); sub new { my $class= shift; my $self = $class->SUPER::new( srsdb => 'TREMBL', name => 'TrEMBL', makeflags => $BioMirror::Data::kFromArchive|$BioMirror::Data::kDoSrsIndex, mirror_dir => '$zpath/trembl/', expanded_dir => '$dpath/trembl/', dosummary => 1, source => { home => 'EBI', comment => 'A supplement to SWISS-PROT', ##url => 'ftp://expasy.hcuge.ch/databases/sp_tr_nrdb/', #? not responding url => 'ftp://ftp.ebi.ac.uk/pub/databases/sp_tr_nrdb/', web => 'http://www.ebi.ac.uk/embl/', get_patt => '(README|trembl.*\.dat\.Z$)', #? add sprot.dat.Z local_ignore => '+Readme|update|log$', exclude_patt => '+|fasta', recursive => 'false', }, data => [ 'trembl.dat', ], docs => [], @_ ); return $self; } sub getRelease { # ??? my $self= shift; my $rel= undef; my $df= BioMirror::replaceVars( $self->expanded_dir . ${$self->data}[0]); # my @df= $self->getDataPathnames(1); # my $df= $df[0] . $df[1]; my $buf= $self->readChunk($df); #if ($buf =~ m/SWISS-PROT RELEASE ([0-9\.]+)/) { # $rel= "$1"; # } return $rel; } #------------- package BioMirror::TrEMBLNew; @ISA = qw( BioMirror::TrEMBL ); sub new { my $class= shift; my $self = $class->SUPER::new( srsdb => 'TREMBLNEW', name => 'TrEMBL new data', makeflags => $BioMirror::Data::kFromArchive|$BioMirror::Data::kDoSrsIndex, dosummary => 0, sourceflags => $BioMirror::Data::kSuperSource, data => [ 'trembl_new.dat', ], @_ ); return $self; } ## add RELEASE 0.1 BETA OF InterPro ## yuck, its in xml package BioMirror::InterPro; @ISA = qw( BioMirror::Data ); sub new { my $class= shift; my $self = $class->SUPER::new( srsdb => 'INTERPRO', name => 'InterPro', makeflags => $BioMirror::Data::kFromArchive, ## >> can't teach srs to do xml ? |$BioMirror::Data::kDoSrsIndex, dosummary => 1, source => { home => 'EBI', comment => 'InterPro Protein databank', url => 'ftp://ftp.ebi.ac.uk/pub/databases/interpro/', web => 'http://www.ebi.ac.uk/interpro', }, mirror_dir => '$zpath/interpro/', expanded_dir => '$dpath/interpro/', data => [ '(i.*\.xml)', '(mat.*\.xml)', '(\.dtd)', ], # jun01 - skip match*xml for now - SRS6.3 does handle it # doc => [ 'README', ], @_ ); return $self; } 1;