From b44d4c288a113c8a148701086af97dc6d7e0bd78 Mon Sep 17 00:00:00 2001 From: tjc <tjc@ee4ac58c-ac51-4696-9907-e4b3aa274f04> Date: Wed, 25 Aug 2004 16:19:01 +0000 Subject: [PATCH] query amigo git-svn-id: svn+ssh://svn.internal.sanger.ac.uk/repos/svn/pathsoft/artemis/trunk@1840 ee4ac58c-ac51-4696-9907-e4b3aa274f04 --- etc/go_associations.pl | 90 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100755 etc/go_associations.pl diff --git a/etc/go_associations.pl b/etc/go_associations.pl new file mode 100755 index 000000000..a1559f905 --- /dev/null +++ b/etc/go_associations.pl @@ -0,0 +1,90 @@ +#!/usr/local/bin/perl5.6.1 + +use strict; + +BEGIN +{ + + my $configFile = "/nfs/pathdb/dev/go-cgi/config.pl"; + + if (-f $configFile) + { + require $configFile; + } + +} + +use Getopt::Long; + +my $associations; +my $definition; + +&GetOptions("assoc" => \$associations, + "def" => \$definition); + +use GO::AppHandle; + +if(@ARGV == 0) +{ + print "USAGE: go -def -assoc acc\n"; exit 0; +} + +my $acc_num = $ARGV[0]; + +my $dbname = $ENV{GO_DBNAME}; +my $dbport = $ENV{GO_DBPORT}; +my $dbhost = $ENV{GO_DBHOST}; +my $dbuser = $ENV{GO_DBUSER}; + +if (not $dbname =~ /go\d/) +{ + print STDERR "GO database name uncorrect, must be go1 or go2 !!"; + exit 1; +} + +my $apph = GO::AppHandle->connect ( + -dbname => $dbname, + -dbport => $dbport, + -dbhost => $dbhost, + -dbuser => $dbuser, + ) +or die "can't connect to GO database, $dbname!!!\n"; + +#my @accs = qw(O00221); +my @accs; +push(@accs, $acc_num); + +my @pqlist = map { {acc=>$_} } @accs; +my $term_l = $apph->get_terms({products=>[@pqlist]}); + +foreach my $term (@$term_l) +{ + printf "%s; %s; ", $term->acc, $term->name; + if($associations) + { + foreach my $assoc (@{$term->selected_association_list || []}) + { + my $gp = $assoc->gene_product; + my $ev_l = $assoc->evidence_list || []; + printf "%s; %s; %s; evidence=%s; %s;", + $gp->full_name, $gp->acc, $gp->symbol, + join('; ', map {$_->code} @$ev_l), $gp->as_str; + + foreach my $syn (@{$gp->synonym_list || []}) + { + print " Synonym: $syn;"; + } + } + } + + if($definition) + { + printf " %s;", $term->definition; + } + +# printf "Synonyms:%s\n", join(", ", @{$term->synonym_list}); + + print "\n"; + +} + -- GitLab