use warnings; use strict; use HTTP::Tiny; use Bio::SeqIO; my $filename = '/tmp/Q94650.txt'; HTTP::Tiny->new->mirror( 'http://www.uniprot.org/uniprot/Q94650.txt', $filename)->{success} or die "Failed to fetch"; my $stream = Bio::SeqIO->new( -file => $filename, -format => 'swiss'); while ( my $seq = $stream->next_seq() ) { # just some examples... print $seq->accession_number, "\n"; print $seq->species->species, "\n"; my ($gene) = $seq->annotation->get_Annotations('gene_name'); print $gene->findval('Name'), "\n"; } #### $ wget -q http://www.uniprot.org/uniprot/Q94650.txt $ bp_seqconvert.pl --from swiss --to fasta ARF1_PLAFA RecName: Full=ADP-ribosylation factor 1; Short=plARF; MGLYVSRLFNRLFQKKDVRILMVGLDAAGKTTILYKVKLGEVVTTIPTIGFNVETVEFRN ISFTVWDVGGQDKIRPLWRHYYSNTDGLIFVVDSNDRERIDDAREELHRMINEEELKDAI ILVFANKQDLPNAMSAAEVTEKLHLNTIRERNWFIQSTCATRGDGLYEGFDWLTTHLNNA K