Bugs

From BioPerl
Jump to: navigation, search

Contents

Bug submission

BioPerl has switched (as of mid-April, 2014) to GitHub Issues. We still have access to the Redmine-based tracking system, but this will be effectively read-only. We no longer support access to the original Bugzilla instance.

Don't make me bug you!

Please submit bugs or enhancement requests to BioPerl GitHub Issues. The older BioPerl Redmine tracking system remains but is will no longer be used, and the oldest Bugzilla-based system is not supported and addition of new bugs has been disabled.

We really do want you to submit bugs, even though it means more things for us to do! It means there is something we didn't think of or test in the particular module and we won't know about this unless you tell us. The Redmine system requires you register to avoid spam and to allow us to contact you again when the bug is fixed or to clarify the problem and solutions.

It is important that you record the version of BioPerl you are running (if you don't know, see the FAQ the question is addressed there). You can also include the version of Perl you are using and the Operating System you are running.

Simon Tatham has a great resource on how to effectively report bugs.

Submitting Bugs

When submitting new bugs on BioPerl on GitHub, enter a brief description and other general information. You can use Markdown to add links, syntax highlighting, and so on; see the GitHub Markdown docs for more.

You can paste example code in the description, but we suggest submitting as a GitHub Gist. If you have example fixes, we highly suggest using the tools GitHub has in place, namely the ability to fork the code and create a pull request with the relevant fix. This will show up as an issue automatically, so there isn't a need to file one separately.

Note that attachments on GitHub issues only work for images. If the example is a text file then use a GitHub Gist; alternatively, if the file is something available publicly then please provide a link to the file.

Submitting Patches

We gladly welcome patches. Patches for bioperl code should be created as described in the SubmitPatch HOWTO. Try to ensure the patch is derived against the latest code checked out from Git, particularly if the patch is large.

Briefly, you can generate the patch using the following command:

diff -u old new

For best results, follow this example:

cd $YOUR_WORKING_DIST_DIRECTORY/Bio/Frobnicator
git pull
git diff GrokFrobnicator.pm > my-patch.dif

We also accept patches as an issue on GitHub; submit the patch as a GitHub Gist. Even better, submit a pull request on GitHub. It's also worth discussing these on the mailing list.

Submitting New Modules and Code Snippets

We also accept new code, either as full-fledged modules or as snippets of code (snippets work better as a patch). New code must include documentation, example code (typically listed in a SYNOPSIS section), and tests with decent test coverage following our testing standards in our Writing_BioPerl_Tests HOWTO). Because we are moving to a more modular scheme for future Bioperl installations we highly suggest individual submission of modules to CPAN, primarily to help lower the barrier to submitting bug fixes.

Etiquette

Good bug reports are ones which provide a small amount of code and the necessary test files to reproduce your bug. By doing this work up front you insure the developer spends most of his or her time actually working on the problem. Pasting your entire 600 line program into the comment buffer is probably not going to get an enthusiastic response. In addition, isolating the problem down to a small amount of your code will help ensure that the bug is not on your end before we dive in and start working on it.

Open Issues (GitHub)

This list details the open Bugs on GitHub for BioPerl.

Github Issues to RSS

Issue 84: Invalid EMBL files generated in rare circumstances; line wrapping
If you craft a tag on a feature sneakily (or if you are unlucky) Bio::SeqIO will create invalid EMBL, separating the "/" from the qualifier name: ID unknown; SV 1; linear; unassigned DNA; STD; UNC; 4 BP. XX AC unknown; XX XX XX FH Key Location/Qualifiers FH FT CDS 1..4 FT / FT note="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX FT X" XX SQ Sequence 4 BP; 1 A; 1 C; 1 G; 1 T; 0 other; actg 4 // In this example "/" and "note" are on separate lines, which is wrong; at least BioPerl does not accept it itself. Here is a script to create the above output (BioPerl 1.6.901 used): #!/usr/bin/perl use strict; use warnings; use Bio::Seq::RichSeq; use Bio::SeqFeature::Generic; use IO::String; use Bio::SeqIO; my $seq=Bio::Seq::RichSeq->new(-display_id=>'TEST', -seq=>'actg'); my $cds=Bio::SeqFeature::Generic->new(-primary_tag=>'CDS', -start=>1, -end=>4); $cds->add_tag_value(note=>'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X'); $seq->add_SeqFeature($cds); my $string; my $str=IO::String->new($string); my $io=Bio::SeqIO->new(-fh=>$str, -format=>'embl'); $io->write_seq($seq); print $string; Changing the position of the space in the note makes a/the difference.

Issue 83: GenBank parsing CONTIG issues
See: http://mailman.open-bio.org/pipermail/bioperl-l/2014-September/088945.html Basically, this works with the August patch for GenBank parsing (so the bug isn't there) but some change since 1.6.922 has caused parsing to slow dramatically. We'll need to bisect this.
Issue 79: Added script to extract DNA sequences (as well as 5' or 3' regions if specified) from a FASTA file using a BLAST output file
Added a personal script to extract a DNA sequence from a FASTA file using a BLAST output file. Expects at least two arguments, the BLAST file and the FASTA file. There are a number of optional arguments that are explained in the script. This script is especially useful when trying to extract sequences with variance (hence the BLAST search beforehand) from FASTA files. For example, say that you are trying to extract a given gene and 2000 base pairs 5' to it from 20 different genomes. All you have is one gene sequence, however. By doing a BLAST search between each of the genomes and the gene and then using this script, you can extract the sequences that you are interested in. The script also has options to extract a specified 3' or 5' sequence from the FASTA file, as well as an e-value cut off. The final output is the extracted sequence in FASTA format. Is this useful/generic enough to be included in the scripts directory? The script is well tested and takes command-line arguments.
Issue 61: new modules Bio::Tools::Alignment::Overview and Bio::DB::NextProt
Some time ago I made the mistake of uploading to CPAN a module called Bio::Tools::Alignment::Overview, the module wasn't associated to bioperl but for some reason I decided to use the namespace anyway (yeah, I know...) Now I'm organizing some projects and I decided to include the module to bioperl, so if you accept this pull request I will remove from PAUSE/CPAN the current module, so that you can upload it under bioperl. Sorry for the noobish mistake =) Cheers.
Issue 46: Simplealign
Hi, Chris, This is my implementation of Bio::SimpleAlign. I have a detailed report describing the improvement to the code, and explaining the failed tests using t/Align/SimpleAlign.t. If you need any help, please just let me know. Cheers, Jun

Personal tools
Namespaces
Variants
Actions
Main Links
documentation
community
development
Toolbox