From 20d0e4fdcffb95ef0bc1f12b4bb0101fa73098c6 Mon Sep 17 00:00:00 2001 From: Ian Longden <ianl@sanger.ac.uk> Date: Wed, 6 Oct 2004 13:13:14 +0000 Subject: [PATCH] made db.pm do the database type stuff --- .../xref_mapping/XrefMapper/BasicMapper.pm | 119 +++--------------- misc-scripts/xref_mapping/XrefMapper/db.pm | 85 +++++++++++++ 2 files changed, 103 insertions(+), 101 deletions(-) create mode 100644 misc-scripts/xref_mapping/XrefMapper/db.pm diff --git a/misc-scripts/xref_mapping/XrefMapper/BasicMapper.pm b/misc-scripts/xref_mapping/XrefMapper/BasicMapper.pm index 5e105cc571..ab80b25e87 100644 --- a/misc-scripts/xref_mapping/XrefMapper/BasicMapper.pm +++ b/misc-scripts/xref_mapping/XrefMapper/BasicMapper.pm @@ -4,6 +4,12 @@ use strict; use DBI; use Bio::EnsEMBL::DBSQL::DBAdaptor; use Bio::EnsEMBL::Translation; +use XrefMapper::db; + +use vars '@ISA'; + +@ISA = qw{ XrefMapper::db }; + =head1 NAME @@ -36,30 +42,10 @@ my $xref_password = "ensembl"; -sub new { - my($class, $species, $host, $port, $dbname, $user, $password ,$dir) = @_; - - my $self ={}; - bless $self,$class; - - $self->species($species); - $self->host($host); - $self->port($port); - $self->dbname($dbname); - $self->user($user); - $self->password($password); - $self->dir($dir); - - - return $self; -} - - - sub dump_seqs{ - my ($self, $slice) = @_; + my ($self, $xref) = @_; $self->dump_ensembl($slice); - $self->dump_xref(); + $self->dump_xref($xref); } sub run_matching{ @@ -71,13 +57,17 @@ sub store{ } sub dump_xref{ - my ($self) = @_; + my ($self,$xref) = @_; + + if(!defined($xref->species())){ + $xref->species($self->species); + } # # the species specified must be in the database and hence have a species_id # - my $sql = "select species_id from species where name = '".$self->species."'"; - my $dbi = $self->dbi(); + my $sql = "select species_id from species where name = '".$xref->species."'"; + my $dbi = $xref->dbi(); my $sth = $dbi->prepare($sql); $sth->execute(); my @row = $sth->fetchrow_array(); @@ -85,7 +75,7 @@ sub dump_xref{ if (defined @row) { $species_id = $row[0]; } else { - print STDERR "Couldn't get ID for species ".$self->species."\n"; + print STDERR "Couldn't get ID for species ".$xref->species."\n"; print STDERR "It must be one of :-\n"; $sql = "select name from species"; $sth = dbi()->prepare($sql); @@ -100,8 +90,8 @@ sub dump_xref{ # Dump out the sequences where the species has an id of species_id # and the sequence type is 'dna' # - $self->xref_dna_file($self->dir."/".$self->species."_xref_dna.fasta"); - open(XDNA,">".$self->dir."/".$self->species."_xref_dna.fasta") || die "Could not open xref_dna.fasta"; + $self->xref_dna_file($self->dir."/".$xref->species."_xref_dna.fasta"); + open(XDNA,">".$self->dir."/".$xref->species."_xref_dna.fasta") || die "Could not open xref_dna.fasta"; my $sql = "select p.xref_id, p.sequence from primary_xref p, xref x "; $sql .= "where p.xref_id = x.xref_id and "; $sql .= " p.sequence_type ='dna' and "; @@ -209,19 +199,6 @@ FIN: -sub dbi { - - my $self = shift; - - my $dbi = DBI->connect("dbi:mysql:host=$xref_host;port=$xref_port;database=$xref_database", - "$xref_user", - "$xref_password", - {'RaiseError' => 1}) || die "Can't connect to database"; - - - return $dbi; -} - ### # Getter/Setter methods ### @@ -268,64 +245,4 @@ sub ensembl_dna_file{ # return \%type; #} -sub species { - my ($self, $arg) = @_; - - (defined $arg) && - ($self->{_species} = $arg ); - return $self->{_species}; -} - -sub host { - my ($self, $arg) = @_; - - (defined $arg) && - ($self->{_host} = $arg ); - return $self->{_host}; -} - - -sub port { - my ($self, $arg) = @_; - - (defined $arg) && - ($self->{_port} = $arg ); - return $self->{_port}; -} - -sub dbname { - my ($self, $arg) = @_; - - (defined $arg) && - ($self->{_dbname} = $arg ); - return $self->{_dbname}; -} - -sub user { - my ($self, $arg) = @_; - - (defined $arg) && - ($self->{_user} = $arg ); - return $self->{_user}; -} - -sub password { - my ($self, $arg) = @_; - - (defined $arg) && - ($self->{_password} = $arg ); - return $self->{_password}; -} - -sub dir { - my ($self, $arg) = @_; - - (defined $arg) && - ($self->{_dir} = $arg ); - return $self->{_dir}; -} - - - - 1; diff --git a/misc-scripts/xref_mapping/XrefMapper/db.pm b/misc-scripts/xref_mapping/XrefMapper/db.pm new file mode 100644 index 0000000000..5b8f23af91 --- /dev/null +++ b/misc-scripts/xref_mapping/XrefMapper/db.pm @@ -0,0 +1,85 @@ +package XrefMapper::db; + + +sub new { + my($class) = @_; + + my $self ={}; + bless $self,$class; + + print "creating new *$class*\n"; + return $self; +} + + +sub species { + my ($self, $arg) = @_; + + (defined $arg) && + ($self->{_species} = $arg ); + return $self->{_species}; +} + +sub host { + my ($self, $arg) = @_; + + (defined $arg) && + ($self->{_host} = $arg ); + return $self->{_host}; +} + + +sub port { + my ($self, $arg) = @_; + + (defined $arg) && + ($self->{_port} = $arg ); + return $self->{_port}; +} + +sub dbname { + my ($self, $arg) = @_; + + (defined $arg) && + ($self->{_dbname} = $arg ); + return $self->{_dbname}; +} + +sub user { + my ($self, $arg) = @_; + + (defined $arg) && + ($self->{_user} = $arg ); + return $self->{_user}; +} + +sub password { + my ($self, $arg) = @_; + + (defined $arg) && + ($self->{_password} = $arg ); + return $self->{_password}; +} + +sub dir { + my ($self, $arg) = @_; + + (defined $arg) && + ($self->{_dir} = $arg ); + return $self->{_dir}; +} + +sub dbi { + + my $self = shift; + + my $dbi = DBI->connect("dbi:mysql:host=".$self->host().";port=".$self->port().";database="$self->database(), + $self->user, + $self->password, + {'RaiseError' => 1}) || die "Can't connect to database"; + + + return $dbi; +} + +1; -- GitLab