Skip to content
Snippets Groups Projects
Commit 04a1ec54 authored by Glenn Proctor's avatar Glenn Proctor
Browse files

Tidy up SQL. Add comparison of transcript-probe mappings (array name ignored for now).

parent a86bc077
No related branches found
No related tags found
No related merge requests found
......@@ -38,22 +38,24 @@ my $t_db = new Bio::EnsEMBL::DBSQL::DBAdaptor('-host' => $t_host,
'-dbname' => $t_dbname,
'-species'=> $t_dbname);
# TODO fix this when external db is sorted out
my $restrict_sql = "x.external_db_id > 3000 AND x.external_db_id < 3210";
run();
sub run {
# compare total counts first
# TODO fix this when external db is sorted out
my $count_sql = "SELECT COUNT(*) FROM xref x, object_xref ox WHERE x.xref_id=ox.xref_id AND x.external_db_id > 3000 AND x.external_db_id < 3210;";
my $count_sql = "SELECT COUNT(*) FROM xref x, object_xref ox WHERE x.xref_id=ox.xref_id AND $restrict_sql";
my $s_sth = $s_db->dbc()->prepare($count_sql);
$s_sth->execute();
my $count = ($s_sth->fetchrow_array())[0];
print "Total oligo xrefs:\t$s_dbname:\t$count\t";
print "Total oligo xrefs in $s_dbname: $count\n";
my $t_sth = $t_db->dbc()->prepare($count_sql);
$t_sth->execute();
$count = ($t_sth->fetchrow_array())[0];
print "$t_dbname:\t$count\n";
print "Total oligo_xrefs in $t_dbname: $count\n";
# cache all mappings from each database
# key format: transcript_stable_id:array:probe
......@@ -75,28 +77,29 @@ sub run {
}
print "$both mappings in both databases\n";
print "$source_only mappings in source only\n";
foreach my $key (keys %target_mappings) {
$target_only++ if (!$source_mappings{$key});
}
print "$both mappings in both databases\n";
print "$source_only mappings in source only\n";
print "$target_only mappings in target only\n";
}
# ----------------------------------------------------------------------
sub cache_source_mappings {
sub cache_mappings {
my ($db) = @_;
my %mappings;
# TODO - fix SQL when external_db changes
my $sth = $db->dbc()->prepare("SELECT tsi.stable_id, e.db_name, x.dbprimary_acc FROM xref x, external_db e, object_xref ox, transcript_stable_id tsi WHERE x.xref_id=ox.xref_id AND x.external_db_id=e.external_db_id AND e.external_db_id > 3000 AND e.external_db_id < 3210 AND ox.ensembl_object_type='Transcript' AND ox.ensembl_id=tsi.transcript_id");
my $sth = $db->dbc()->prepare("SELECT tsi.stable_id, e.db_name, x.dbprimary_acc FROM xref x, external_db e, object_xref ox, transcript_stable_id tsi WHERE x.xref_id=ox.xref_id AND x.external_db_id=e.external_db_id AND ox.ensembl_object_type='Transcript' AND ox.ensembl_id=tsi.transcript_id AND $restrict_sql");
$sth->execute();
while (my @row = $sth->fetchrow_array()) {
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment