Developer’s guide
Code organization
The top level directory is organized in the following directories:
pysamCode specific to pysam.
docThe documentation. To build the latest documentation, first install Sphinx and then type:
make -C doc html
testsCode and data for testing and benchmarking.
htslibSource code from htslib shipped with pysam. See
import.pyabout importing.samtoolsSource code from samtools shipped with pysam. See
import.pyabout importing.bcftoolsSource code from bcftools shipped with pysam. See
import.pyabout importing.
Importing new versions of htslib and samtools
See instructions in import.py to import the latest
versions of htslib, samtools and bcftools.
Unit testing
Unit tests are in the tests directory. To run all unit tests,
run:
pytest tests
Most tests use test data from the tests/*_data directories.
Some of these test data files are generated from other files in these
directories, which is done by running make in each directory:
make -C tests/pysam_data
# etc
Alternatively if any tests/*_data/all.stamp file is not already
present, running the unit tests should generate that directory’s data
files automatically.
Benchmarking
To run the benchmarking suite, make sure that pytest-benchmark is installed. To run all benchmarks, type:
pytest tests/*_bench.py
See Benchmarking for more on this topic.
Contributors
Please see Github for a list of all contributors:
https://github.com/pysam-developers/pysam/graphs/contributors
Many thanks to all contributors for helping in making pysam useful.