gogoglou has asked for the wisdom of the Perl Monks concerning the following question:
use strict; use Data::Dumper; use DBI; # Connect to the database # See footnote 1 my $dbh = DBI->connect('DBI:Pg:dbname=smth', 'user', 'pass') or die "Couldn't open database: $DBI::errstr; stopped"; my $sql = " SELECT sequence_start,sequence_stop from intergenic_and_ex +perimental_results WHERE reading_direction=? order by sequence_start" +; my $sth = $dbh->prepare($sql); my @clusters = (); $sth->execute("f"); my $regionStart = -1; my $regionStop = -1; while (my ($dnaStart, $dnaStop) = $sth->fetchrow_array() ) { if (($dnaStart >= $regionStart && $dnaStart <= $regionStop) || ($dnaStop >= $regionStart && $dnaStop <= $regionStop)) { if ($dnaStart < $regionStart) { $regionStart = $dnaStart; } if ($dnaStop > $regionStop) { $regionStop = $dnaStop; } } else { if ($regionStart != -1) { push(@clusters,[$regionStart,$regionStop,"f"]); } $regionStart = $dnaStart; $regionStop = $dnaStop; } } push(@clusters,[$regionStart,$regionStop,"f"]); $sth->execute("r"); $regionStart = -1; $regionStop = -1; while (my ($dnaStop, $dnaStart) = $sth->fetchrow_array() ) { if (($dnaStart >= $regionStart && $dnaStart <= $regionStop) || ($dnaStop >= $regionStart && $dnaStop <= $regionStop)) { if ($dnaStart < $regionStart) { $regionStart = $dnaStart; } if ($dnaStop < $regionStop) { $regionStop = $dnaStop; } } else { if ($regionStart != -1) { push(@clusters,[$regionStart,$regionStop,"r"]); } $regionStart = $dnaStart; $regionStop = $dnaStop; } } push(@clusters,[$regionStart,$regionStop,"r"]); sort {$a->[0] <=> $b->[0]} @clusters; foreach my $cluster (@clusters) { print join("\t",@{$cluster})."\n"; } print int(@clusters)." cluster gesamt\n"; # Disconnect from the database $dbh->disconnect();
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: perl and psql
by Xilman (Hermit) on Dec 02, 2009 at 13:03 UTC | |
by almut (Canon) on Dec 02, 2009 at 14:18 UTC | |
by gogoglou (Beadle) on Dec 02, 2009 at 14:14 UTC | |
by bv (Friar) on Dec 02, 2009 at 14:29 UTC | |
by almut (Canon) on Dec 02, 2009 at 15:59 UTC | |
by Xilman (Hermit) on Dec 02, 2009 at 17:11 UTC | |
|
Re: perl and psql
by erix (Prior) on Dec 02, 2009 at 18:29 UTC |