diff --git a/misc-scripts/meta_coord/update_meta_coord.pl b/misc-scripts/meta_coord/update_meta_coord.pl index f82060721f6a58f039220680dbbfe572eba13b1a..336bd96f84b9cf4d2d85eebda1a74f43cb43e572 100755 --- a/misc-scripts/meta_coord/update_meta_coord.pl +++ b/misc-scripts/meta_coord/update_meta_coord.pl @@ -7,6 +7,8 @@ use Getopt::Long; my $help = 0; my ( $host, $port, $user, $pass, $dbpattern ); +$port = '3306'; + my $usage = qq( $0 --host ens-staging --port 3306 --user ensadmin \\ --pass XXX --dbpattern core @@ -37,34 +39,50 @@ table for all the following table names one by one transcript ); -if (scalar @ARGV == 0 ) { +if ( scalar @ARGV == 0 ) { print $usage, "\n"; exit 0; } -GetOptions( 'help' => \$help, - 'host=s' => \$host, - 'port=i' => \$port, - 'user=s' => \$user, - 'pass=s' => \$pass, - 'dbpattern=s' => \$dbpattern ); - -if ($help) { +if ( !GetOptions( 'help!' => \$help, + 'dbhost|host=s' => \$host, + 'dbport|port=i' => \$port, + 'dbuser|user=s' => \$user, + 'dbpass|password|pass=s' => \$pass, + 'dbpattern=s' => \$dbpattern + ) || + $help ) +{ print $usage, "\n"; - exit 0; + exit; } -#print "help: $help argv:" - #. scalar(@ARGV) - #. "$host $port $user $pass $dbname\n"; - -my $dsn = "DBI:mysql:host=$host"; -$dsn .= ";port=$port" if ($port); +my $dsn = "DBI:mysql:host=$host;port=$port"; my $db = DBI->connect( $dsn, $user, $pass ); my @dbnames = - map { $_->[0] } @{ $db->selectall_arrayref("show databases") }; + map { $_->[0] } @{ $db->selectall_arrayref("SHOW DATABASES") }; + +my @table_names = qw( + assembly_exception + gene + exon + density_feature + ditag_feature + dna_align_feature + karyotype + marker_feature + misc_feature + qtl_feature + prediction_exon + prediction_transcript + protein_align_feature + repeat_feature + simple_feature + splicing_event + transcript +); for my $dbname (@dbnames) { @@ -77,37 +95,16 @@ for my $dbname (@dbnames) { -pass => $pass, -dbname => $dbname ); - my @table_names = qw( - assembly_exception - gene - exon - density_feature - ditag_feature - dna_align_feature - karyotype - marker_feature - misc_feature - qtl_feature - prediction_exon - prediction_transcript - protein_align_feature - repeat_feature - simple_feature - splicing_event - transcript - ); - - unless ( - system( "mysql -h$host -P$port -u$user -p'$pass' -N " - . "-e 'SELECT * FROM meta_coord' $dbname " - . "> $dbname.meta_coord.backup" - ) == 0 ) + if ( system( "mysql -h$host -P$port -u$user -p'$pass' -N " . + "-e 'SELECT * FROM meta_coord' $dbname " . + "> $dbname.meta_coord.backup" ) ) { print STDERR "Can't dump the original meta_coord for back up\n"; exit 1; - } else { - print STDERR "Original meta_coord table backed up in " - . "$dbname.meta_coord.backup\n"; + } + else { + print STDERR "Original meta_coord table backed up in " . + "$dbname.meta_coord.backup\n"; } foreach my $table_name (@table_names) { @@ -118,12 +115,12 @@ for my $dbname (@dbnames) { $sth->finish; $sql = - "INSERT INTO meta_coord " - . "SELECT '$table_name', s.coord_system_id, " - . "MAX( t.seq_region_end - t.seq_region_start + 1 ) " - . "FROM $table_name t, seq_region s " - . "WHERE t.seq_region_id = s.seq_region_id " - . "GROUP BY s.coord_system_id"; + "INSERT INTO meta_coord " . + "SELECT '$table_name', s.coord_system_id, " . + "MAX( t.seq_region_end - t.seq_region_start + 1 ) " . + "FROM $table_name t, seq_region s " . + "WHERE t.seq_region_id = s.seq_region_id " . + "GROUP BY s.coord_system_id"; $sth = $dbc->prepare($sql); $sth->execute; $sth->finish;