[Bioperl-l] Download sequence by genomic location

Chris Fields cjfields at illinois.edu
Thu Jul 29 00:46:56 EDT 2010


It's not part of BioPerl, but is on CPAN:

http://search.cpan.org/dist/Bio-Das/

You don't appear to be following the Bio::Das API.  The following worked for me:

#!/usr/bin/env perl
use strict;
use warnings;
use Bio::Das;

my $das = Bio::Das->new(
   -source => 'http://genome.cse.ucsc.edu/cgi-bin/das',
   -dsn    => 'hg18',
);

my $segment  = $das->segment('1:1,100000');
for my $sf ($segment->features) {
   printf("%s(%s):%d-%d(%d)\n", $sf->display_name,
       $sf->primary_tag, $sf->start, $sf->end, $sf->strand);
}

chris

On Jul 28, 2010, at 10:40 PM, Peng Yu wrote:

> I didn't see a document for Bio::Das in my bioperl,
> 
> $ perldoc Bio::Das
> No documentation found for "Bio::Das".
> $ perldoc Bio::Das::SegmentI
> $ perldoc Bio::Das::FeatureTypeI
> 
> I thought that maybe my bioperl installation is corrupted. Then I
> install Bio::Das (cpan Bio::Das), which was unsuccessful. Then I
> install it by "cpan -f Bio::Das".
> 
> I also manually installed IO-Socket-SSL-1.33.tar.gz. Then try the
> example. It seems that the there is still something missing. I guess
> there must be some problem with my bioperl installation.
> 
> Shall I reinstall it? Is there an easy fix?
> 
> $ ./main.pl
> Using password in unencrypted URI against RFC #2396 recommendation at
> /home/pengy/utility/linux/opt/perl-5.10.1/lib/site_perl/5.10.1/Bio/Das/HTTP/Fetch.pm
> line 331.
> Must have IO::Socket::SSL installed to use https: urls: Can't locate
> Net/SSLeay.pm in @INC (@INC contains:
> /home/pengy/utility/linux/opt/perl-5.10.1/lib/5.10.1/x86_64-linux
> /home/pengy/utility/linux/opt/perl-5.10.1/lib/5.10.1
> /home/pengy/utility/linux/opt/perl-5.10.1/lib/site_perl/5.10.1/x86_64-linux
> /home/pengy/utility/linux/opt/perl-5.10.1/lib/site_perl/5.10.1 .) at
> /home/pengy/utility/linux/opt/perl-5.10.1/lib/site_perl/5.10.1/IO/Socket/SSL.pm
> line 18.
> BEGIN failed--compilation aborted at
> /home/pengy/utility/linux/opt/perl-5.10.1/lib/site_perl/5.10.1/IO/Socket/SSL.pm
> line 18.
> Compilation failed in require at (eval 41) line 3.
> at /home/pengy/utility/linux/opt/perl-5.10.1/lib/site_perl/5.10.1/Bio/Das.pm
> line 200
> 
> $ cat main.pl
> #!/usr/bin/env perl
> 
> use strict;
> use warnings;
> use Bio::Das;
> 
> my $das = Bio::Das->new(5);  # timeout of 5 sec
> my @response = $das->dsn('http://stein.cshl.org/perl/das',
> 'http://genome.cse.ucsc.edu/cgi-bin/das',
> 'http://user:pass@www.wormbase.org/db/das',
> 'https://euclid.well.ox.ac.uk/cgi-bin/das',
> );
> 
> for my $url (@response) {
> if ($url->is_success) {
>   my @dsns = $url->results;
>   print "$url:\t\n";
>   foreach (@dsns) {
>     print "\t",$_->url,"\t",$_->description,"\n";
>   }
> } else {
>   print "$url: ",$url->error,"\n";
> }
> }
> 
> 
> On Wed, Jul 28, 2010 at 5:47 PM, Chris Fields <cjfields at illinois.edu> wrote:
>> Forgot completely, but this should be possible via Bio::DAS:
>> 
>> http://search.cpan.org/~lds/Bio-Das-1.06/Das.pm
>> 
>> I have used it myself via GBrowse.
>> 
>> chris
>> 
>> On Jul 28, 2010, at 5:14 PM, Peng Yu wrote:
>> 
>>> I could download a sequence by location at genome browser.
>>> 
>>> http://genome.ucsc.edu/cgi-bin/hgc?hgsid=166347358&o=38129163&g=getDna&i=mixed&c=chr13&l=38129163&r=38153298&db=mm9&hgsid=166347358
>>> 
>>> I know that there are ways to get the sequence. But I don't see a way
>>> to get the sequence by location. Could anybody let me know if there is
>>> such a function in bioperl?
>>> http://www.bioperl.org/wiki/HOWTO:Beginners#Retrieving_a_sequence_from_a_database
>>> 
>>> --
>>> Regards,
>>> Peng
>>> _______________________________________________
>>> Bioperl-l mailing list
>>> Bioperl-l at lists.open-bio.org
>>> http://lists.open-bio.org/mailman/listinfo/bioperl-l
>> 
>> 
> 
> 
> 
> -- 
> Regards,
> Peng
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/bioperl-l




More information about the Bioperl-l mailing list