Re: Packaging SMALT for Debian
There is no dependency on BioPython. The 'from formats import Cigar'
line imports the class Cigar from the Python module
smalt/test/formats.py which should be part of the distribution.
For output in the binary format BAM and input from BAM/SAM files (see
samtools.sourceforge.net) SMALT depends on the bambamc library
See the README file for installation instructions with this library.
This is optional though and the build process may give warnings but
should still complete and produce a binary without this functionality.
Some tests depend on the samtools (samtools.sourceforge.net) binary
being in the search path, but the ./configure script should set up the
test suite so that those test do not run if samtools is not installed.
The only other dependency is zlib - but also this should be optional.
Could you send me the smalt/test/tmp/LOGFILE.* files that should be
there after the failed test bam_cigar_test.py. That should tell my why
the test might have failed.
On 08/04/14 18:38, Andreas Tille wrote:
many thanks for your quick response.
On Tue, Apr 08, 2014 at 04:07:24PM +0100, Hannes Ponstingl wrote:
Thanks for your interest in SMALT. I have cleaned up the test
routines for the installation/distribution somewhat with the latest
release 0.7.6 which you can download from smalt.sourceforge.net.
Yes, this is where we are taking the source from.
1. Since we always want to honour scientist work we would like to
add some citation information to the package metadata (you can
see the result when visiting the page above). Are there any
publications about SMALT?
There still is no publication describing SMALT - although a number
of high-profile papers have appeared that use it. So if you could
mention smalt.sourceforge.net and my name and affiliation in the
citation info. I would let you know once I have the paper accepted.
The author and homepage are usual metadata in Debian packages.
2. The installation puts a set of binaries next to the main binary
smalt in the users path (basqcol, fetchseq, ...). Is it correct
that in principle only smalt is the user interface and these
additional binaries are only helpers called by smalt?
If this is the case I tend to use a wrapper script /usr/bin/smalt
which calls these exectuables from /usr/lib/smalt. This would
avoid potential name space conflicts with generic names like
Yes, smalt is the only user interface. The other binaries can be
used to generate simulated data and to inspect files ets. They are
undocumented and I should probably remove them from the installation
to avoid confusion. Version 0.7.6 should have been cleaned up
somewhat in that respect. There is no need for a wrapper and smalt
does not call any other binaries.
OK, this simplifies things.
3. What is the role of the Python script the installation procedure
is moving to /usr/share by default. With the exception of SAM.py
the scripts seem to belong to a test suite. Usually in Debian
Python scripts are installed in a different PATH. Is SAM.py also
a user application or just a helper for the smalt binary?
The python scripts are for testing during development except for a
number of installation test drivers *_test.py that are packaged in
the distribution. Please refer to smalt/test/Makefile.am which is
also the test harness (make check). Let me know if you need help
I get the tests running now on my workstation installation. However,
when I'm running the build process in a clean chroot (which is mandatory
for a package build) I seem to miss some precondition. I have inspected
the *.py sources and guessed from
from formats import Cigar
that BioPython is needed. So I added this to the chroot but the tests
are not working better. So most probably I'm lacking some dependency
which is available on my workstation - but which one?
Also the last test is failing. I get:
ERROR when mapping: returned with code 1
1 of 7 tests failed
Please report to email@example.com
I think this might also be connected to some missing dependency.
4. In Debian we try to run any test suite if available but I somehow
failed to find the documentation how to exactly run the full
The test suite is run with 'make check' from the distribution (make
dist). Binaries are wrapped with python drivers in
smalt/test/*_test.py. The harness is the automake 'make check'
Thanks - at least the test procedure is started now.
Please let me know if you nee more help.
I'm happy about your very constructive response.
Hannes Ponstingl, Ph.D.
Sequence Assembly & Analysis Group Tel: +44 (0)1223 834244 x7345
The Wellcome Trust Sanger Institute Fax: +44 (0)1223 494919
Hinxton, Cambridge CB10 1SA, UK. E-mail: firstname.lastname@example.org
The Wellcome Trust Sanger Institute is operated by Genome Research
Limited, a charity registered in England with number 1021457 and a
company registered in England with number 2742969, whose registered
office is 215 Euston Road, London, NW1 2BE.