From 1a37d19882484969a373b89d8ac55ad235bf40c8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Carn=C3=AB=20Draug?= Date: Tue, 29 Jan 2019 13:47:56 +0000 Subject: [PATCH] Bio::SeqIO::lasergene: move to its own distribution --- Changes | 1 + lib/Bio/SeqIO/lasergene.pm | 167 --------------------------------------------- t/SeqIO/lasergene.t | 58 ---------------- t/data/test.lasergene | 24 ------- 4 files changed, 1 insertion(+), 249 deletions(-) delete mode 100644 lib/Bio/SeqIO/lasergene.pm delete mode 100644 t/SeqIO/lasergene.t delete mode 100644 t/data/test.lasergene diff --git a/Changes b/Changes index e0a74af5e..38c377ccb 100644 --- a/Changes +++ b/Changes @@ -87,6 +87,7 @@ Summary of important user-visible changes for BioPerl Bio::SeqIO::excel Bio::SeqIO::exp Bio::SeqIO::flybase_chadoxml + Bio::SeqIO::lasergene Bio::SeqIO::nexml Bio::SeqIO::pln Bio::SeqIO::strider diff --git a/lib/Bio/SeqIO/lasergene.pm b/lib/Bio/SeqIO/lasergene.pm deleted file mode 100644 index bc2513b1b..000000000 --- a/lib/Bio/SeqIO/lasergene.pm +++ /dev/null @@ -1,167 +0,0 @@ -#-----------------------------------------5~------------------------------------ -# PACKAGE : Bio::SeqIO::lasergene -# AUTHOR : Malcolm Cook -# CREATED : Feb 16 1999 -# -# _History_ -# -# This code is based on the Bio::SeqIO::raw module with -# the necessary minor tweaks necessary to get it to read (only) -# Lasergene formatted sequences -# -# Cleaned up by Torsten Seemann June 2006 - -# POD documentation - main docs before the code - -=head1 NAME - -Bio::SeqIO::lasergene - Lasergene sequence file input/output stream - -=head1 SYNOPSIS - -Do not use this module directly. Use it via the L class. - -=head1 DESCRIPTION - -This object can product Bio::Seq::RichSeq objects from Lasergene sequence files. - -IT DOES NOT PARSE ANY ATTRIBUTE VALUE PAIRS IN THE HEADER OF THE LASERGENE FORMATTED FILE. - -IT DOES NOT WRITE THESE FILES EITHER. - -=head1 REFERENCES - - https://www.dnastar.com/products/lasergene.php - -=head1 FEEDBACK - -=head2 Mailing Lists - -User feedback is an integral part of the evolution of this and other -Bioperl modules. Send your comments and suggestions preferably to one -of the Bioperl mailing lists. Your participation is much appreciated. - - bioperl-l@bioperl.org - General discussion - http://bioperl.org/wiki/Mailing_lists - About the mailing lists - -=head2 Support - -Please direct usage questions or support issues to the mailing list: - -I - -rather than to the module maintainer directly. Many experienced and -reponsive experts will be able look at the problem and quickly -address it. Please include a thorough description of the problem -with code and data examples if at all possible. - -=head2 Reporting Bugs - -Report bugs to the Bioperl bug tracking system to help us keep track -of the bugs and their resolution. Bug reports can be submitted via -the web: - - https://github.com/bioperl/bioperl-live/issues - -=head1 AUTHORS - - Torsten Seemann - torsten.seemann AT infotech.monash.edu.au - Malcolm Cook - mec AT stowers-institute.org - -=head1 APPENDIX - -The rest of the documentation details each of the object methods. -Internal methods are usually preceded with a _ - -=cut - - -# Let the code begin... - -package Bio::SeqIO::lasergene; - -use strict; - -use base qw(Bio::SeqIO); - -=head2 next_seq - - Title : next_seq - Usage : $seq = $stream->next_seq() - Function: returns the next sequence in the stream - Returns : Bio::Seq object - Args : none - -=cut - -use Bio::Seq; -use Bio::Annotation::Collection; -use Bio::Annotation::Comment; - -sub next_seq { - my ($self) = @_; - - my $state = 0; - my @comment; - my @sequence; - - while (my $line = $self->_readline) { - $state = 1 if $state == 0; - chomp $line; - next if $line =~ m/^\s*$/; # skip blank lines - - if ($line eq '^^') { # end of a comment or sequence - $state++; - last if $state > 2; # we have comment and sequence so exit - } - elsif ($state == 1) { # another piece of comment - push @comment, $line; - } - elsif ($state == 2) { # another piece of sequence - push @sequence, $line - } - else { - $self->throw("unreachable state reached, probable bug!"); - } - } - - # return quietly if there was nothing in the file - return if $state == 0; - - # ensure we read some comment and some sequence - if ($state < 2) { - $self->throw("unexpected end of file"); - } - - my $sequence = join('', @sequence); -# print STDERR "SEQ=[[$sequence]]\n"; - $sequence or $self->throw("empty sequence in lasergene file"); - my $seq = Bio::Seq->new(-seq => $sequence); - - my $comment = join('; ', @comment); -# print STDERR "COM=[[$comment]]\n"; - my $anno = Bio::Annotation::Collection->new; - $anno->add_Annotation('comment', Bio::Annotation::Comment->new(-text => $comment) ); - $seq->annotation($anno); - - return $seq; -} - -=head2 write_seq (NOT IMPLEMENTED) - - Title : write_seq - Usage : $stream->write_seq($seq) - Function: writes the $seq object into the stream - Returns : 1 for success and 0 for error - Args : Array of Bio::PrimarySeqI objects - -=cut - -sub write_seq { - my ($self, @seq) = @_; - $self->throw("write_seq() is not implemented for the lasergene format."); -} - - -1; - diff --git a/t/SeqIO/lasergene.t b/t/SeqIO/lasergene.t deleted file mode 100644 index 4e6362a89..000000000 --- a/t/SeqIO/lasergene.t +++ /dev/null @@ -1,58 +0,0 @@ -# -*-Perl-*- Test Harness script for Bioperl -# $Id$ - -use strict; - -BEGIN { - use Bio::Root::Test; - - test_begin(-tests => 13); - - use_ok('Bio::SeqIO::lasergene'); -} - -my $verbose = test_debug(); - -# -# Positive tests -# - -my $io = Bio::SeqIO->new( - -format => 'lasergene', - -verbose => $verbose, - -file => test_input_file('test.lasergene') -); - -ok($io); -isa_ok($io, 'Bio::SeqIO'); - -my $seq; - -ok($seq = $io->next_seq); -is($seq->length, 12*3); -is($seq->subseq(1,12), 'ATCGATCGATCG'); - -ok($seq = $io->next_seq); -is($seq->length, 200); - -ok($seq = $io->next_seq); -is($seq->length, 70*5+12); - -ok(not defined $io->next_seq); - -# -# Negative tests -# - -$io = Bio::SeqIO->new( - -format => 'lasergene', - -verbose => $verbose, - -file => test_input_file('test.fasta') # not lasergene! -); - -ok($io); - -eval { - $io->next_seq; -}; -like($@, qr/unexpected end of file/i); diff --git a/t/data/test.lasergene b/t/data/test.lasergene deleted file mode 100644 index a72db8e92..000000000 --- a/t/data/test.lasergene +++ /dev/null @@ -1,24 +0,0 @@ -Created: Jueves, 08 de Junio de 2006 01:56 p.m. - -This is a test sequence created with EditSeq (Lasergene's DNAStar) - -^^ -ATCGATCGATCG -TCGATCGATCGA -CGATCGATCGTT -^^ ->gi|105633134|gb|DW246643.1|DW246643 JC3_E04 Forward JC Glycine max cDNA 5', mRNA sequence -^^ -ATACACCTCTTTCTCATTGAACATTGGAATCTGGACAAGCACGACGGGGTAATTAGAGTTGCCGAGTTCCTCGTCGTCTTGGAGTGGCTCGAACTTGTAGCGCTGGTGTGGCTTCTTCCAGAAGAGCTTGACGAGGATGATGACAATGCCCATGTAGACCCTCTCCATGAAGAGCATGAGCGCCATGGCGAGGCTAATGC -^^ -Sample protein sequence in Lasergene format -ALEU_HORVU - - -^^ -MAHARVLLLALAVLATAAVAVASSSSFADSNPIRPVTDRAASTLESAVLGALGRTRHALRFARFAVRYGK -SYESAAEVRRRFRIFSESLEEVRSTNRKGLPYRLGINRFSDMSWEEFQATRLGAAQTCSATLAGNHLMRD -AAALPETKDWREDGIVSPVKNQAHCGSCWTFSTTGALEAAYTQATGKNISLSEQQLVDCAGGFNNFGCNG -GLPSQAFEYIKYNGGIDTEESYPYKGVNGVCHYKAENAAVQVLDSVNITLNAEDELKNAVGLVRPVSVAF -QVIDGFRQYKSGVYTSDHCGTTPDDVNHAVLAVGYGVENGVPYWLIKNSWGADWGDNGYFKMEMGKNMCA -IATCASYPVVAA -- 2.11.4.GIT