[Bioperl-l] Test writing

Heikki Lehvaslaiho heikki.lehvaslaiho at gmail.com
Wed Dec 21 01:29:13 EST 2005



This message is for module authors and for anyone looking for something to do 
for BioPerl. 


I've modified the 'maintenance/modules.pl --untested' code so that it reads in 
all test files, extracts 'use'd or 'required' Bio classes, now *recursively* 
marks all super classes and 'use'd classes as tested. In addition, I manually 
ignore all Bio::Search and Bio::SearchIO classes. That is because although 
there are extensive tests for modules in these name spaces, new classes are 
instantiated based on attributes to the constructor. This might be true to 
other classes, too. If this is the case, I can see two possible actions: 


1. Add them to the list of ignored class names at the end of function 
'untested' in the script. 


2. If the classes are never called directly, rename them to start with lower 
case letter which by convention means that they are "component classes" like 
Bio::SeqIO::genbank. 



All other classes should have tests written for them or - ultimately - removed 
from the repository. 


The aim of this exercise is to come up with a first pass list of BioPerl 
classes that do not have any tests written for them and get them written. The 
next pass will be to find untested methods within classes. 



When writing tests, please follow conventions in existing files and remember 
to test all public methods. If you do not have a cvs login, post the new 
tests to bugzilla.bioperl.org, not to the list. We are more than happy to 
give cvs access to anyone committing more than a couple new tests. 


       -Heikki


List of BioPerl classes needing tests:

Bio::Align::Utilities
Bio::Annotation::AnnotationFactory
Bio::Annotation::Target
Bio::DB::Ace
Bio::DB::Expression
Bio::DB::Fasta::Stream
Bio::DB::Flat::BDB
Bio::DB::Flat::BinarySearch
Bio::DB::GFF::ID_Iterator
Bio::DB::Universal
Bio::DB::XEMBLService
Bio::Expression::Contact
Bio::Expression::DataSet
Bio::Expression::FeatureGroup
Bio::Expression::FeatureGroup::FeatureGroupMas50
Bio::Expression::FeatureSet::FeatureSetMas50
Bio::Expression::Platform
Bio::Expression::Sample
Bio::FeatureIO
Bio::Graphics::FeatureFile::Iterator
Bio::Graphics::Glyph
Bio::Graphics::Util
Bio::Index::Fastq
Bio::Index::Hmmer
Bio::LiveSeq::IO::SRS
Bio::Location::AvWithinCoordPolicy
Bio::Location::NarrowestCoordPolicy
Bio::Map::Clone
Bio::Map::Contig
Bio::Map::FPCMarker
Bio::Map::OrderedPositionWithDistance
Bio::Map::Physical
Bio::Matrix::PSM::Psm
Bio::Matrix::PSM::PsmHeader
Bio::Matrix::Scoring
Bio::Ontology::InterProTerm
Bio::Ontology::Path
Bio::Ontology::SimpleGOEngine
Bio::OntologyIO::Handlers::InterProHandler
Bio::OntologyIO::Handlers::InterPro_BioSQL_Handler
Bio::OntologyIO::InterProParser
Bio::PrimarySeq::Fasta
Bio::Root::Err
Bio::Root::Global
Bio::Root::IOManager
Bio::Root::Utilities
Bio::Root::Vector
Bio::Root::Xref
Bio::SeqFeature::Gene::Promoter
Bio::SeqFeature::PositionProxy
Bio::SeqFeature::Tools::FeatureNamer
Bio::SeqFeature::Tools::IDHandler
Bio::SeqFeature::Tools::TypeMapper
Bio::SeqIO::FTHelper
Bio::Structure::SecStr::DSSP::Res
Bio::Structure::SecStr::STRIDE::Res
Bio::Taxonomy
Bio::Taxonomy::Taxon
Bio::Taxonomy::Tree
Bio::Tools::AlignFactory
Bio::Tools::Blast::HSP
Bio::Tools::Blast::HTML
Bio::Tools::Blast::Sbjct
Bio::Tools::Blat
Bio::Tools::Coil
Bio::Tools::ESTScan
Bio::Tools::Eponine
Bio::Tools::Fgenesh
Bio::Tools::Gel
Bio::Tools::Grail
Bio::Tools::HMM
Bio::Tools::Hmmpfam
Bio::Tools::Primer::Feature
Bio::Tools::Primer::Pair
Bio::Tools::Prints
Bio::Tools::Profile
Bio::Tools::PrositeScan
Bio::Tools::Run::GenericParameters
Bio::Tools::Seg
Bio::Tools::Signalp
Bio::Tools::Tmhmm
Bio::Tools::WWW
Bio::Tools::WebBlat
Bio::Tree::Compatible
Bio::Tree::Draw::Cladogram
Bio::Tree::NodeNHX
FeatureStore  # in Bio::DB::GFF::Adaptor::berkeleydb.pm
interpro   # class defined in Bio::SeqIO::interpro, mistake?

-- 
______ _/      _/_____________________________________________________
      _/      _/
     _/  _/  _/  Heikki Lehvaslaiho    heikki at_sanbi _ac _za
    _/_/_/_/_/  Associate Professor    skype: heikki_lehvaslaiho
   _/  _/  _/  SANBI, South African National Bioinformatics Institute
  _/  _/  _/  University of the Western Cape, South Africa
     _/      Phone: +27 21 959 2096   FAX: +27 21 959 2512
___ _/_/_/_/_/________________________________________________________


More information about the Bioperl-l mailing list