From dd8ec1d4cecf282940831171ef0f796570d781fd Mon Sep 17 00:00:00 2001 From: Don Armstrong Date: Tue, 28 Aug 2007 02:54:48 +0000 Subject: [PATCH] update everything again git-svn-id: file:///srv/svn/function2gene/trunk@11 a0738b58-4706-0410-8799-fb830574a030 --- bin/get_genecard_results | 30 +++++++++++++++--------------- bin/get_harvester_results | 4 +++- bin/parse_genecard_results | 2 +- bin/parse_harvester_results | 6 ++++-- 4 files changed, 23 insertions(+), 19 deletions(-) diff --git a/bin/get_genecard_results b/bin/get_genecard_results index 6345227..051e39d 100755 --- a/bin/get_genecard_results +++ b/bin/get_genecard_results @@ -68,8 +68,8 @@ BEGIN{ } use IO::File; -use URI::ParamMunge; -use LWP::UserAgent; +use URI; +use WWW::Mechanize; # XXX parse config file @@ -82,7 +82,7 @@ my %options = (debug => 0, name => '${search}_results_genecard', terms => '-', genecard_site => 'http://bioinfo.weizmann.ac.il/cards-bin/', - genecard_search_url => 'cardsearch.pl?search_type=keyword%28s%29&search=complement', + genecard_search_url => 'cardsearch.pl?search_type=kwd&mini=no&speed=fast&matches=999999', ); GetOptions(\%options,'format|f=s','database|b=s','name|n=s', @@ -106,24 +106,24 @@ else { $terms = new IO::File $options{terms}, 'r' or die "Unable to open file $options{terms}: $!"; } -my $ua = new LWP::UserAgent(agent=>"DA_get_harvester_results/$REVISION"); - #For every term while (<$terms>) { # Get uids to retrieve chomp; my $search = $_; - my $url = uri_param_munge($options{genecard_site}.$options{genecard_search_url}, - {search => $search, - }, - ); - my $request = HTTP::Request->new('GET', $url); - my $response = $ua->request($request); - $response = $response->content; - my @result_urls = $response =~ m#\s+Display\s*\s*
\s*the\s*complete#sg; - + my $uri = URI->new($options{genecard_site}.$options{genecard_search_url}); + $uri->query_form($uri->query_form(), + search => $search, + ); + my $url = $uri->as_string; + my $mech = WWW::Mechanize->new(agent=>"DA_get_harvester_results/$REVISION"); + $mech->get($url); + my $response = $mech->content(); + my @result_urls = $response =~ m##sg; my $dir_name = eval qq("$options{name}") or die $@; - mkdir("$options{dir}/$dir_name") or die "Unable to make directory $options{dir}/$dir_name $!"; + if (not -d "$options{dir}/$dir_name") { + mkdir("$options{dir}/$dir_name") or die "Unable to make directory $options{dir}/$dir_name $!"; + } # Get XML file my @current_urls; while (@current_urls = map{$options{genecard_site}.$_} splice(@result_urls,0,30)) { diff --git a/bin/get_harvester_results b/bin/get_harvester_results index 97734e9..7446e08 100755 --- a/bin/get_harvester_results +++ b/bin/get_harvester_results @@ -125,7 +125,9 @@ while (<$terms>) { my $url = $uri->as_string; my $queue = Thread::Queue->new(); my $dir_name = eval qq("$options{name}") or die $@; - mkdir("$options{dir}/$dir_name") or die "Unable to make directory $options{dir}/$dir_name $!"; + if (not -d "$options{dir}/$dir_name") { + mkdir("$options{dir}/$dir_name") or die "Unable to make directory $options{dir}/$dir_name $!"; + } my $wget_thread = threads->new(\&get_url,"$options{dir}/$dir_name",$queue); push @threads,$wget_thread; diff --git a/bin/parse_genecard_results b/bin/parse_genecard_results index 6024d9b..a6718c5 100755 --- a/bin/parse_genecard_results +++ b/bin/parse_genecard_results @@ -104,7 +104,7 @@ if ($options{keywords}) { if (@ARGV != 1) { pod2usage("If the --keywords option is used, exactly one argument (the keyword) must be passed"); } - $option{dir} = "$ARGV[0]_results_genecard"; + $options{dir} = "$ARGV[0]_results_genecard"; } if (not -d $options{dir}) { diff --git a/bin/parse_harvester_results b/bin/parse_harvester_results index a35c9b9..7a8cfd4 100755 --- a/bin/parse_harvester_results +++ b/bin/parse_harvester_results @@ -80,7 +80,9 @@ my %options = (debug => 0, keywords => 0, ); -GetOptions(\%options,'keyword|k=s','dir|D=s','debug|d+','help|h|?','man|m'); +GetOptions(\%options,'keyword|k=s','dir|D=s','debug|d+','help|h|?','man|m', + 'keywords', + ); pod2usage() if $options{help}; @@ -104,7 +106,7 @@ if ($options{keywords}) { if (@ARGV != 1) { pod2usage("If the --keywords option is used, exactly one argument (the keyword) must be passed"); } - $option{dir} = "$ARGV[0]_results_harvester"; + $options{dir} = "$ARGV[0]_results_harvester"; } -- 2.39.2