Mercurial > repos > geert-vandeweyer > vcf_to_variantdb
comparison VCF_to_VariantDB.pl @ 2:d03a63a57e82 draft
New version, better following configuration guidelines
| author | geert-vandeweyer |
|---|---|
| date | Wed, 19 Feb 2014 06:45:32 -0500 |
| parents | 355e491dbd0f |
| children | 6ddc1c6472ef |
comparison
equal
deleted
inserted
replaced
| 1:355e491dbd0f | 2:d03a63a57e82 |
|---|---|
| 20 # S = (S)erver addrress to send data to. | 20 # S = (S)erver addrress to send data to. |
| 21 # R = (r)oot of galaxy web server (/home/galaxyuser/galaxy-dist) | 21 # R = (r)oot of galaxy web server (/home/galaxyuser/galaxy-dist) |
| 22 # H = (H)ost of the galaxy web server (http://my.galaxy.server/galaxy/) | 22 # H = (H)ost of the galaxy web server (http://my.galaxy.server/galaxy/) |
| 23 getopts('v:u:n:a:g:o:b:B:V:c:S:R:H:', \%opts); # option are in %opts | 23 getopts('v:u:n:a:g:o:b:B:V:c:S:R:H:', \%opts); # option are in %opts |
| 24 | 24 |
| 25 | 25 $|++; |
| 26 ################# | 26 ################# |
| 27 ## CHECK INPUT ## | 27 ## CHECK INPUT ## |
| 28 ################# | 28 ################# |
| 29 if (!exists($opts{'v'})) { | 29 if (!exists($opts{'v'})) { |
| 30 die('No VCF File Specified'); | 30 die('No VCF File Specified'); |
| 53 use LWP::UserAgent; | 53 use LWP::UserAgent; |
| 54 my $url = $opts{'S'}."/"; | 54 my $url = $opts{'S'}."/"; |
| 55 $url =~ s/\/\/$/\//; | 55 $url =~ s/\/\/$/\//; |
| 56 $url .= "cgi-bin/galaxy_communication.cgi"; | 56 $url .= "cgi-bin/galaxy_communication.cgi"; |
| 57 my $conn = LWP::UserAgent->new(); | 57 my $conn = LWP::UserAgent->new(); |
| 58 $conn->timeout(1800); | |
| 58 my $response = $conn->post( $url, {'HelloWorld' => 1} ); | 59 my $response = $conn->post( $url, {'HelloWorld' => 1} ); |
| 59 my $content = $response->decoded_content(); | 60 my $content = $response->decoded_content(); |
| 60 | 61 |
| 61 if ($content eq 'HelloGalaxy') { | 62 if ($content eq 'HelloGalaxy') { |
| 62 print OUT "Testing connection to $opts{'S'} : OK.\n"; | 63 print OUT "Testing connection to $opts{'S'} : OK.\n"; |
| 111 } | 112 } |
| 112 $sample = $opts{'n'}; | 113 $sample = $opts{'n'}; |
| 113 $gender = $opts{'g'}; | 114 $gender = $opts{'g'}; |
| 114 # post form to the variantDB host. | 115 # post form to the variantDB host. |
| 115 if (exists($opts{'b'})) { | 116 if (exists($opts{'b'})) { |
| 116 $response = $conn->post( $url, {'VCFurl1' => "$vcfurl", 'BAMurl1' => "$bamurl", 'BAIurl1' => "$bamidxurl",'storedata' => 1, 'name1' => "$sample", 'gender1' => "$gender", 'User' => $email} ); | 117 $response = $conn->post( $url, {'VCFurl1' => "$vcfurl", 'BAMurl1' => "$bamurl", 'BAIurl1' => "$bamidxurl",'storedata1' => 1, 'name1' => "$sample", 'gender1' => "$gender", 'User' => $email, 'GalaxyUpload' => 1} ); |
| 117 } | 118 } |
| 118 else { | 119 else { |
| 119 $response = $conn->post( $url, {'VCFurl1' => "$vcfurl", 'sample1' => "$sample", 'gender1' => "$gender", 'User' => $email} ); | 120 $response = $conn->post( $url, {'VCFurl1' => "$vcfurl", 'name1' => "$sample", 'gender1' => "$gender", 'User' => $email, 'GalaxyUpload' =>1 } ); |
| 120 } | 121 } |
| 121 my $content = $response->decoded_content(); | 122 my $content = $response->decoded_content(); |
| 122 chomp($content); | 123 chomp($content); |
| 123 if ($content =~ m/OK$/) { | 124 ## check if upload went ok. |
| 124 print OUT "Processing Datafiles : OK.\n"; | 125 if (substr($content,0,2) ne 'OK') { |
| 125 print OUT "\n$content\n"; | |
| 126 } | |
| 127 else { | |
| 128 die("ERROR: $content"); | 126 die("ERROR: $content"); |
| 129 } | 127 } |
| 128 ## extract wd from content. | |
| 129 print OUT "Uploading datafiles to VariantDB : OK.\n"; | |
| 130 $content =~ m/OK-(.+)$/; | |
| 131 $rwd = $1; | |
| 132 if ($rwd eq '') { | |
| 133 die("ERROR : No remote working directory provided to check status."); | |
| 134 } | |
| 135 ## now wait for the import to finish. | |
| 136 $status = 0; | |
| 137 while ($status == 0) { | |
| 138 my $response = $conn->post( $url, {'CheckStatus' => 1,'rwd' => $rwd}) ; | |
| 139 $content = $response->decoded_content(); | |
| 140 chomp($content); | |
| 141 if (substr($content,0,2) ne 'OK') { | |
| 142 die("ERROR: $content"); | |
| 143 } | |
| 144 $status = substr($content,3,1); | |
| 145 sleep 10; | |
| 146 } | |
| 147 | |
| 148 ## Loading OK | |
| 149 # latest respons : OK-1-Content | |
| 150 $content = substr($content,5); | |
| 151 print OUT "Processing Datafiles : OK.\n"; | |
| 152 print OUT "\n$content\n"; | |
| 130 close OUT; | 153 close OUT; |
| 131 | 154 |
| 132 # clean up | 155 # clean up |
| 133 system("rm -Rf '$wd'"); | 156 system("rm -Rf '$wd'"); |
| 134 | 157 |
