Skip to content
Commits on Source (4)
......@@ -22,3 +22,6 @@ nose*.egg
# .eggs directory
.eggs
# Virtualenv
.venv
language: python
sudo: false
cache: pip
os:
- linux
## - osx
python:
- 2.7
- 3.3
- '2.7'
- '3.5'
env:
global:
- PYTHON=python
- TWINE_USERNAME=nsoranzo
- secure: 'kFoqHCxat/ETS2SUc2q9M7YvzvnlR7sgHmx7SRvVgTyLkk1efpJ++YPwDBEYZ3v+GLf2nRfc20GxtZkH6ey1f//aj4CT2q2CJiUsKAlkFAOHzKo/3mTLl/WDHkPAr9MW7AdnbNk6W8sIPCKqFsyKL2FTH70dBcxa1e7trQ2RC64hnOOkt/tm2cQhj6sX0gROggN5QrpHE8tDZb9ugF0uf92L/CGxeClAebWgb7zVChHDMTNsmnOvWUF9m6LZOvkgFmuIeh70EPuOWh6LxU/n5JyevYIGO5vVDbjgfmNELlG2KUTm6dWeoyofcj6hUqYmQsmI1ATrf7ThY1+b6asQGy+Exp/76MBXiYRh+RgVKifwaZMOWehzfjDQvPYOGvf6rXOVGeVZ+nBkskr0HARsX1KnyDE+k+XPoP7zqvW6mCic9ZQ+IdQJtxMHOTxxFjuPAlunvaUqDNM9VP6YEWOI4UqIOO1nQh4E2zkPhXI2yY744q+BV/5+3HHqNQj1+5qFPoZeyDEuNXwgDCjrJ8i3hna/LTTvRigx6/YQL1PF/C30R4h/nkqp8ghA4VpNRPnQ8nOO+oD6AdN7Pswc3C4qGPEwoeqfNzEIR1KfEWzB7HsfTFbgyGFFNGuQ/P26DMK+kPBNZ6GhZ9wb5/xT226OA+ovcAmVGn/Hnt/qVaylXNk='
_deploy_common: &deploy_common
if: tag IS present
install:
- $PYTHON -m pip install cibuildwheel twine
matrix:
include:
- stage: deploy
python: '3.5'
services:
- docker
env: CIBW_BEFORE_BUILD="yum install -y zlib-devel && pip install Cython numpy"
<<: *deploy_common
script:
- cibuildwheel --output-dir dist
- $PYTHON -m pip install Cython nose numpy python-lzo six
- $PYTHON setup.py build_ext --inplace
- $PYTHON setup.py sdist
- twine check dist/*
- twine upload --skip-existing dist/*
- stage: deploy
os: osx
language: generic
env:
- PYTHON=python3
- CIBW_BEFORE_BUILD="pip install Cython numpy"
addons: {}
<<: *deploy_common
script:
- cibuildwheel --output-dir dist
- twine check dist/*
- twine upload --skip-existing dist/*
addons:
apt:
packages:
- liblzo2-dev
before_install:
# Use miniconda for dependencies, pip is too slow -- https://gist.github.com/zonca/9958333
- wget http://repo.continuum.io/miniconda/Miniconda-latest-Linux-x86_64.sh -O miniconda.sh
- chmod +x miniconda.sh
- ./miniconda.sh -b
- export PATH=/home/travis/miniconda2/bin:$PATH
- conda update --yes conda
install:
- conda create --yes -n testenv python=$TRAVIS_PYTHON_VERSION Cython numpy nose
- source activate testenv
- pip install python-lzo
- python setup.py build_ext --inplace
- python setup.py install
- $PYTHON -m pip install Cython nose numpy python-lzo six
- $PYTHON setup.py build_ext --inplace
- $PYTHON setup.py install
script:
- nosetests
......@@ -7,7 +7,7 @@
The bx-python project is a python library and associated set of scripts to allow for rapid implementation of genome scale analyses. The library contains a variety of useful modules, but the particular strengths are:
* Classes for reading and working with genome-scale multiple local alignments (in MAF, AXT, and LAV formats)
* Generic data structure for indexing on disk files that contain blocks of data associated with intervals on various sequences (used, for example, to provide random access to individual alignments in huge files; optomized for use over network filesystems)
* Generic data structure for indexing on disk files that contain blocks of data associated with intervals on various sequences (used, for example, to provide random access to individual alignments in huge files; optimized for use over network filesystems)
* Data structures for working with intervals on sequences
* "Binned bitsets" which act just like chromosome sized bit arrays, but lazily allocate regions and allow large blocks of all set or all unset bits to be stored compactly
* "Intersecter" for performing fast intersection tests that preserve both query and target intervals and associated annotation
......
python-bx for Debian
--------------------
The situation is somewhat unfortunate in that both python2 and python3
occupy the same location in /usr/bin. The -tools packages separate those
binaries from the modules.
The language suffix ".py" was left for the time being for compatibility
with the installation of the same on other distributions and wary of
reverse dependencies.
......
python-bx (0.8.4-1) unstable; urgency=medium
* New upstream release. Removed Python2 binary packages; enabled the tests
-- Michael R. Crusoe <michael.crusoe@gmail.com> Tue, 23 Jul 2019 15:10:11 +0200
python-bx (0.8.2-1) unstable; urgency=low
* New upstream version.
......
......@@ -8,55 +8,26 @@ Build-Depends:
debhelper (>= 9),
dh-python,
zlib1g-dev,
# Python2
python-setuptools,
python-all-dev,
python-nose,
python-numpy,
cython,
# Python3
python3-setuptools,
python3-all-dev,
python3-lzo,
python3-nose,
python3-numpy,
python3-six,
cython3
Standards-Version: 4.2.1
Homepage: https://github.com/bxlab/bx-python
Vcs-Git: https://salsa.debian.org/med-team/python-bx.git
Vcs-Browser: https://salsa.debian.org/med-team/python-bx
Package: python-bx
Architecture: any
Depends:
${shlibs:Depends},
${misc:Depends},
${python:Depends},
Description: library to manage genomic data and its aligment
The bx-python project is a python library and associated set of scripts to
allow for rapid implementation of genome scale analyses. The library contains
a variety of useful modules, but the particular strengths are:
* Classes for reading and working with genome-scale multiple local
alignments (in MAF, AXT, and LAV formats)
* Generic data structure for indexing on disk files that contain blocks of
data associated with intervals on various sequences (used, for example, to
provide random access to individual alignments in huge files; optimized for
use over network filesystems)
* Data structures for working with intervals on sequences
* "Binned bitsets" which act just like chromosome sized bit arrays, but
lazily allocate regions and allow large blocks of all set or all unset bits
to be stored compactly
* "Intersecter" for performing fast intersection tests that preserve both
query and target intervals and associated annotation
.
This package provides the Python 2 library.
Package: python3-bx
Architecture: any
Depends:
Depends: python3-lzo,
${shlibs:Depends},
${misc:Depends},
${python3:Depends},
Recommends: python-bx-tools
Replaces: python3-bx-tools
Provides: python3-bx-tools
Description: library to manage genomic data and its alignment
The bx-python project is a python library and associated set of scripts to
allow for rapid implementation of genome scale analyses. The library contains
......@@ -73,21 +44,3 @@ Description: library to manage genomic data and its alignment
to be stored compactly
* "Intersecter" for performing fast intersection tests that preserve both
query and target intervals and associated annotation
.
This package provides the Python 3 library.
Package: python-bx-tools
Architecture: all
Conflicts: python3-bx-tools
Depends: python-bx, ${misc:Depends}, ${python:Depends}
Description: command line interface to python3-bx
This package collects all command line tools to access the functionality
of the python-bx library. All scripts have python2 in their shebang line.
Package: python3-bx-tools
Architecture: all
Conflicts: python-bx-tools
Depends: python3-bx, ${misc:Depends}, ${python3:Depends}
Description: command line interface to python3-bx
This package collects all command line tools to access the functionality
of the python-bx library. All scripts have python3 in their shebang line.
# Not fiddling with .py endings because of reverse-dependencies expected from toil
# We shall revisit this decision once all packages for toil are in the distribution
# and we have learned more about how bx is used in the community in 3rd party scripts.
python3-bx: script-with-language-extension usr/bin/aggregate_scores_in_intervals.py
python3-bx: script-with-language-extension usr/bin/align_print_template.py
python3-bx: script-with-language-extension usr/bin/axt_extract_ranges.py
python3-bx: script-with-language-extension usr/bin/axt_to_fasta.py
python3-bx: script-with-language-extension usr/bin/axt_to_lav.py
python3-bx: script-with-language-extension usr/bin/axt_to_maf.py
python3-bx: script-with-language-extension usr/bin/bed_bigwig_profile.py
python3-bx: script-with-language-extension usr/bin/bed_build_windows.py
python3-bx: script-with-language-extension usr/bin/bed_complement.py
python3-bx: script-with-language-extension usr/bin/bed_count_by_interval.py
python3-bx: script-with-language-extension usr/bin/bed_count_overlapping.py
python3-bx: script-with-language-extension usr/bin/bed_coverage.py
python3-bx: script-with-language-extension usr/bin/bed_coverage_by_interval.py
python3-bx: script-with-language-extension usr/bin/bed_diff_basewise_summary.py
python3-bx: script-with-language-extension usr/bin/bed_extend_to.py
python3-bx: script-with-language-extension usr/bin/bed_intersect.py
python3-bx: script-with-language-extension usr/bin/bed_intersect_basewise.py
python3-bx: script-with-language-extension usr/bin/bed_merge_overlapping.py
python3-bx: script-with-language-extension usr/bin/bed_rand_intersect.py
python3-bx: script-with-language-extension usr/bin/bed_subtract_basewise.py
python3-bx: script-with-language-extension usr/bin/bnMapper.py
python3-bx: script-with-language-extension usr/bin/div_snp_table_chr.py
python3-bx: script-with-language-extension usr/bin/find_in_sorted_file.py
python3-bx: script-with-language-extension usr/bin/gene_fourfold_sites.py
python3-bx: script-with-language-extension usr/bin/get_scores_in_intervals.py
python3-bx: script-with-language-extension usr/bin/int_seqs_to_char_strings.py
python3-bx: script-with-language-extension usr/bin/interval_count_intersections.py
python3-bx: script-with-language-extension usr/bin/interval_join.py
python3-bx: script-with-language-extension usr/bin/lav_to_axt.py
python3-bx: script-with-language-extension usr/bin/lav_to_maf.py
python3-bx: script-with-language-extension usr/bin/line_select.py
python3-bx: script-with-language-extension usr/bin/lzop_build_offset_table.py
python3-bx: script-with-language-extension usr/bin/mMK_bitset.py
python3-bx: script-with-language-extension usr/bin/maf_build_index.py
python3-bx: script-with-language-extension usr/bin/maf_chop.py
python3-bx: script-with-language-extension usr/bin/maf_chunk.py
python3-bx: script-with-language-extension usr/bin/maf_col_counts.py
python3-bx: script-with-language-extension usr/bin/maf_col_counts_all.py
python3-bx: script-with-language-extension usr/bin/maf_count.py
python3-bx: script-with-language-extension usr/bin/maf_covered_ranges.py
python3-bx: script-with-language-extension usr/bin/maf_covered_regions.py
python3-bx: script-with-language-extension usr/bin/maf_div_sites.py
python3-bx: script-with-language-extension usr/bin/maf_drop_overlapping.py
python3-bx: script-with-language-extension usr/bin/maf_extract_chrom_ranges.py
python3-bx: script-with-language-extension usr/bin/maf_extract_ranges.py
python3-bx: script-with-language-extension usr/bin/maf_extract_ranges_indexed.py
python3-bx: script-with-language-extension usr/bin/maf_filter.py
python3-bx: script-with-language-extension usr/bin/maf_filter_max_wc.py
python3-bx: script-with-language-extension usr/bin/maf_gap_frequency.py
python3-bx: script-with-language-extension usr/bin/maf_gc_content.py
python3-bx: script-with-language-extension usr/bin/maf_interval_alignibility.py
python3-bx: script-with-language-extension usr/bin/maf_limit_to_species.py
python3-bx: script-with-language-extension usr/bin/maf_mapping_word_frequency.py
python3-bx: script-with-language-extension usr/bin/maf_mask_cpg.py
python3-bx: script-with-language-extension usr/bin/maf_mean_length_ungapped_piece.py
python3-bx: script-with-language-extension usr/bin/maf_percent_columns_matching.py
python3-bx: script-with-language-extension usr/bin/maf_percent_identity.py
python3-bx: script-with-language-extension usr/bin/maf_print_chroms.py
python3-bx: script-with-language-extension usr/bin/maf_print_scores.py
python3-bx: script-with-language-extension usr/bin/maf_randomize.py
python3-bx: script-with-language-extension usr/bin/maf_region_coverage_by_src.py
python3-bx: script-with-language-extension usr/bin/maf_select.py
python3-bx: script-with-language-extension usr/bin/maf_shuffle_columns.py
python3-bx: script-with-language-extension usr/bin/maf_species_in_all_files.py
python3-bx: script-with-language-extension usr/bin/maf_split_by_src.py
python3-bx: script-with-language-extension usr/bin/maf_thread_for_species.py
python3-bx: script-with-language-extension usr/bin/maf_tile.py
python3-bx: script-with-language-extension usr/bin/maf_tile_2.py
python3-bx: script-with-language-extension usr/bin/maf_tile_2bit.py
python3-bx: script-with-language-extension usr/bin/maf_to_axt.py
python3-bx: script-with-language-extension usr/bin/maf_to_concat_fasta.py
python3-bx: script-with-language-extension usr/bin/maf_to_fasta.py
python3-bx: script-with-language-extension usr/bin/maf_to_int_seqs.py
python3-bx: script-with-language-extension usr/bin/maf_translate_chars.py
python3-bx: script-with-language-extension usr/bin/maf_truncate.py
python3-bx: script-with-language-extension usr/bin/maf_word_frequency.py
python3-bx: script-with-language-extension usr/bin/mask_quality.py
python3-bx: script-with-language-extension usr/bin/nib_chrom_intervals_to_fasta.py
python3-bx: script-with-language-extension usr/bin/nib_intervals_to_fasta.py
python3-bx: script-with-language-extension usr/bin/nib_length.py
python3-bx: script-with-language-extension usr/bin/one_field_per_line.py
python3-bx: script-with-language-extension usr/bin/out_to_chain.py
python3-bx: script-with-language-extension usr/bin/prefix_lines.py
python3-bx: script-with-language-extension usr/bin/pretty_table.py
python3-bx: script-with-language-extension usr/bin/qv_to_bqv.py
python3-bx: script-with-language-extension usr/bin/random_lines.py
python3-bx: script-with-language-extension usr/bin/table_add_column.py
python3-bx: script-with-language-extension usr/bin/table_filter.py
python3-bx: script-with-language-extension usr/bin/tfloc_summary.py
python3-bx: script-with-language-extension usr/bin/ucsc_gene_table_to_intervals.py
python3-bx: script-with-language-extension usr/bin/wiggle_to_array_tree.py
python3-bx: script-with-language-extension usr/bin/wiggle_to_binned_array.py
python3-bx: script-with-language-extension usr/bin/wiggle_to_chr_binned_array.py
python3-bx: script-with-language-extension usr/bin/wiggle_to_simple.py
# Not fiddling with .py endings because of reverse-dependencies expected from toil
# We shall revisit this decision once all packages for toil are in the distribution
# and we have learned more about how bx is used in the community in 3rd party scripts.
python-bx-tools: script-with-language-extension usr/bin/aggregate_scores_in_intervals.py
python-bx-tools: script-with-language-extension usr/bin/align_print_template.py
python-bx-tools: script-with-language-extension usr/bin/axt_extract_ranges.py
python-bx-tools: script-with-language-extension usr/bin/axt_to_fasta.py
python-bx-tools: script-with-language-extension usr/bin/axt_to_lav.py
python-bx-tools: script-with-language-extension usr/bin/axt_to_maf.py
python-bx-tools: script-with-language-extension usr/bin/bed_bigwig_profile.py
python-bx-tools: script-with-language-extension usr/bin/bed_build_windows.py
python-bx-tools: script-with-language-extension usr/bin/bed_complement.py
python-bx-tools: script-with-language-extension usr/bin/bed_count_by_interval.py
python-bx-tools: script-with-language-extension usr/bin/bed_count_overlapping.py
python-bx-tools: script-with-language-extension usr/bin/bed_coverage.py
python-bx-tools: script-with-language-extension usr/bin/bed_coverage_by_interval.py
python-bx-tools: script-with-language-extension usr/bin/bed_diff_basewise_summary.py
python-bx-tools: script-with-language-extension usr/bin/bed_extend_to.py
python-bx-tools: script-with-language-extension usr/bin/bed_intersect.py
python-bx-tools: script-with-language-extension usr/bin/bed_intersect_basewise.py
python-bx-tools: script-with-language-extension usr/bin/bed_merge_overlapping.py
python-bx-tools: script-with-language-extension usr/bin/bed_rand_intersect.py
python-bx-tools: script-with-language-extension usr/bin/bed_subtract_basewise.py
python-bx-tools: script-with-language-extension usr/bin/bnMapper.py
python-bx-tools: script-with-language-extension usr/bin/div_snp_table_chr.py
python-bx-tools: script-with-language-extension usr/bin/find_in_sorted_file.py
python-bx-tools: script-with-language-extension usr/bin/gene_fourfold_sites.py
python-bx-tools: script-with-language-extension usr/bin/get_scores_in_intervals.py
python-bx-tools: script-with-language-extension usr/bin/int_seqs_to_char_strings.py
python-bx-tools: script-with-language-extension usr/bin/interval_count_intersections.py
python-bx-tools: script-with-language-extension usr/bin/interval_join.py
python-bx-tools: script-with-language-extension usr/bin/lav_to_axt.py
python-bx-tools: script-with-language-extension usr/bin/lav_to_maf.py
python-bx-tools: script-with-language-extension usr/bin/line_select.py
python-bx-tools: script-with-language-extension usr/bin/lzop_build_offset_table.py
python-bx-tools: script-with-language-extension usr/bin/mMK_bitset.py
python-bx-tools: script-with-language-extension usr/bin/maf_build_index.py
python-bx-tools: script-with-language-extension usr/bin/maf_chop.py
python-bx-tools: script-with-language-extension usr/bin/maf_chunk.py
python-bx-tools: script-with-language-extension usr/bin/maf_col_counts.py
python-bx-tools: script-with-language-extension usr/bin/maf_col_counts_all.py
python-bx-tools: script-with-language-extension usr/bin/maf_count.py
python-bx-tools: script-with-language-extension usr/bin/maf_covered_ranges.py
python-bx-tools: script-with-language-extension usr/bin/maf_covered_regions.py
python-bx-tools: script-with-language-extension usr/bin/maf_div_sites.py
python-bx-tools: script-with-language-extension usr/bin/maf_drop_overlapping.py
python-bx-tools: script-with-language-extension usr/bin/maf_extract_chrom_ranges.py
python-bx-tools: script-with-language-extension usr/bin/maf_extract_ranges.py
python-bx-tools: script-with-language-extension usr/bin/maf_extract_ranges_indexed.py
python-bx-tools: script-with-language-extension usr/bin/maf_filter.py
python-bx-tools: script-with-language-extension usr/bin/maf_filter_max_wc.py
python-bx-tools: script-with-language-extension usr/bin/maf_gap_frequency.py
python-bx-tools: script-with-language-extension usr/bin/maf_gc_content.py
python-bx-tools: script-with-language-extension usr/bin/maf_interval_alignibility.py
python-bx-tools: script-with-language-extension usr/bin/maf_limit_to_species.py
python-bx-tools: script-with-language-extension usr/bin/maf_mapping_word_frequency.py
python-bx-tools: script-with-language-extension usr/bin/maf_mask_cpg.py
python-bx-tools: script-with-language-extension usr/bin/maf_mean_length_ungapped_piece.py
python-bx-tools: script-with-language-extension usr/bin/maf_percent_columns_matching.py
python-bx-tools: script-with-language-extension usr/bin/maf_percent_identity.py
python-bx-tools: script-with-language-extension usr/bin/maf_print_chroms.py
python-bx-tools: script-with-language-extension usr/bin/maf_print_scores.py
python-bx-tools: script-with-language-extension usr/bin/maf_randomize.py
python-bx-tools: script-with-language-extension usr/bin/maf_region_coverage_by_src.py
python-bx-tools: script-with-language-extension usr/bin/maf_select.py
python-bx-tools: script-with-language-extension usr/bin/maf_shuffle_columns.py
python-bx-tools: script-with-language-extension usr/bin/maf_species_in_all_files.py
python-bx-tools: script-with-language-extension usr/bin/maf_split_by_src.py
python-bx-tools: script-with-language-extension usr/bin/maf_thread_for_species.py
python-bx-tools: script-with-language-extension usr/bin/maf_tile.py
python-bx-tools: script-with-language-extension usr/bin/maf_tile_2.py
python-bx-tools: script-with-language-extension usr/bin/maf_tile_2bit.py
python-bx-tools: script-with-language-extension usr/bin/maf_to_axt.py
python-bx-tools: script-with-language-extension usr/bin/maf_to_concat_fasta.py
python-bx-tools: script-with-language-extension usr/bin/maf_to_fasta.py
python-bx-tools: script-with-language-extension usr/bin/maf_to_int_seqs.py
python-bx-tools: script-with-language-extension usr/bin/maf_translate_chars.py
python-bx-tools: script-with-language-extension usr/bin/maf_truncate.py
python-bx-tools: script-with-language-extension usr/bin/maf_word_frequency.py
python-bx-tools: script-with-language-extension usr/bin/mask_quality.py
python-bx-tools: script-with-language-extension usr/bin/nib_chrom_intervals_to_fasta.py
python-bx-tools: script-with-language-extension usr/bin/nib_intervals_to_fasta.py
python-bx-tools: script-with-language-extension usr/bin/nib_length.py
python-bx-tools: script-with-language-extension usr/bin/one_field_per_line.py
python-bx-tools: script-with-language-extension usr/bin/out_to_chain.py
python-bx-tools: script-with-language-extension usr/bin/prefix_lines.py
python-bx-tools: script-with-language-extension usr/bin/pretty_table.py
python-bx-tools: script-with-language-extension usr/bin/qv_to_bqv.py
python-bx-tools: script-with-language-extension usr/bin/random_lines.py
python-bx-tools: script-with-language-extension usr/bin/table_add_column.py
python-bx-tools: script-with-language-extension usr/bin/table_filter.py
python-bx-tools: script-with-language-extension usr/bin/tfloc_summary.py
python-bx-tools: script-with-language-extension usr/bin/ucsc_gene_table_to_intervals.py
python-bx-tools: script-with-language-extension usr/bin/wiggle_to_array_tree.py
python-bx-tools: script-with-language-extension usr/bin/wiggle_to_binned_array.py
python-bx-tools: script-with-language-extension usr/bin/wiggle_to_chr_binned_array.py
python-bx-tools: script-with-language-extension usr/bin/wiggle_to_simple.py
# Not fiddling with .py endings because of reverse-dependencies expected from toil
# We shall revisit this decision once all packages for toil are in the distribution
# and we have learned more about how bx is used in the community in 3rd party scripts.
python3-bx-tools: script-with-language-extension usr/bin/aggregate_scores_in_intervals.py
python3-bx-tools: script-with-language-extension usr/bin/align_print_template.py
python3-bx-tools: script-with-language-extension usr/bin/axt_extract_ranges.py
python3-bx-tools: script-with-language-extension usr/bin/axt_to_fasta.py
python3-bx-tools: script-with-language-extension usr/bin/axt_to_lav.py
python3-bx-tools: script-with-language-extension usr/bin/axt_to_maf.py
python3-bx-tools: script-with-language-extension usr/bin/bed_bigwig_profile.py
python3-bx-tools: script-with-language-extension usr/bin/bed_build_windows.py
python3-bx-tools: script-with-language-extension usr/bin/bed_complement.py
python3-bx-tools: script-with-language-extension usr/bin/bed_count_by_interval.py
python3-bx-tools: script-with-language-extension usr/bin/bed_count_overlapping.py
python3-bx-tools: script-with-language-extension usr/bin/bed_coverage.py
python3-bx-tools: script-with-language-extension usr/bin/bed_coverage_by_interval.py
python3-bx-tools: script-with-language-extension usr/bin/bed_diff_basewise_summary.py
python3-bx-tools: script-with-language-extension usr/bin/bed_extend_to.py
python3-bx-tools: script-with-language-extension usr/bin/bed_intersect.py
python3-bx-tools: script-with-language-extension usr/bin/bed_intersect_basewise.py
python3-bx-tools: script-with-language-extension usr/bin/bed_merge_overlapping.py
python3-bx-tools: script-with-language-extension usr/bin/bed_rand_intersect.py
python3-bx-tools: script-with-language-extension usr/bin/bed_subtract_basewise.py
python3-bx-tools: script-with-language-extension usr/bin/bnMapper.py
python3-bx-tools: script-with-language-extension usr/bin/div_snp_table_chr.py
python3-bx-tools: script-with-language-extension usr/bin/find_in_sorted_file.py
python3-bx-tools: script-with-language-extension usr/bin/gene_fourfold_sites.py
python3-bx-tools: script-with-language-extension usr/bin/get_scores_in_intervals.py
python3-bx-tools: script-with-language-extension usr/bin/int_seqs_to_char_strings.py
python3-bx-tools: script-with-language-extension usr/bin/interval_count_intersections.py
python3-bx-tools: script-with-language-extension usr/bin/interval_join.py
python3-bx-tools: script-with-language-extension usr/bin/lav_to_axt.py
python3-bx-tools: script-with-language-extension usr/bin/lav_to_maf.py
python3-bx-tools: script-with-language-extension usr/bin/line_select.py
python3-bx-tools: script-with-language-extension usr/bin/lzop_build_offset_table.py
python3-bx-tools: script-with-language-extension usr/bin/mMK_bitset.py
python3-bx-tools: script-with-language-extension usr/bin/maf_build_index.py
python3-bx-tools: script-with-language-extension usr/bin/maf_chop.py
python3-bx-tools: script-with-language-extension usr/bin/maf_chunk.py
python3-bx-tools: script-with-language-extension usr/bin/maf_col_counts.py
python3-bx-tools: script-with-language-extension usr/bin/maf_col_counts_all.py
python3-bx-tools: script-with-language-extension usr/bin/maf_count.py
python3-bx-tools: script-with-language-extension usr/bin/maf_covered_ranges.py
python3-bx-tools: script-with-language-extension usr/bin/maf_covered_regions.py
python3-bx-tools: script-with-language-extension usr/bin/maf_div_sites.py
python3-bx-tools: script-with-language-extension usr/bin/maf_drop_overlapping.py
python3-bx-tools: script-with-language-extension usr/bin/maf_extract_chrom_ranges.py
python3-bx-tools: script-with-language-extension usr/bin/maf_extract_ranges.py
python3-bx-tools: script-with-language-extension usr/bin/maf_extract_ranges_indexed.py
python3-bx-tools: script-with-language-extension usr/bin/maf_filter.py
python3-bx-tools: script-with-language-extension usr/bin/maf_filter_max_wc.py
python3-bx-tools: script-with-language-extension usr/bin/maf_gap_frequency.py
python3-bx-tools: script-with-language-extension usr/bin/maf_gc_content.py
python3-bx-tools: script-with-language-extension usr/bin/maf_interval_alignibility.py
python3-bx-tools: script-with-language-extension usr/bin/maf_limit_to_species.py
python3-bx-tools: script-with-language-extension usr/bin/maf_mapping_word_frequency.py
python3-bx-tools: script-with-language-extension usr/bin/maf_mask_cpg.py
python3-bx-tools: script-with-language-extension usr/bin/maf_mean_length_ungapped_piece.py
python3-bx-tools: script-with-language-extension usr/bin/maf_percent_columns_matching.py
python3-bx-tools: script-with-language-extension usr/bin/maf_percent_identity.py
python3-bx-tools: script-with-language-extension usr/bin/maf_print_chroms.py
python3-bx-tools: script-with-language-extension usr/bin/maf_print_scores.py
python3-bx-tools: script-with-language-extension usr/bin/maf_randomize.py
python3-bx-tools: script-with-language-extension usr/bin/maf_region_coverage_by_src.py
python3-bx-tools: script-with-language-extension usr/bin/maf_select.py
python3-bx-tools: script-with-language-extension usr/bin/maf_shuffle_columns.py
python3-bx-tools: script-with-language-extension usr/bin/maf_species_in_all_files.py
python3-bx-tools: script-with-language-extension usr/bin/maf_split_by_src.py
python3-bx-tools: script-with-language-extension usr/bin/maf_thread_for_species.py
python3-bx-tools: script-with-language-extension usr/bin/maf_tile.py
python3-bx-tools: script-with-language-extension usr/bin/maf_tile_2.py
python3-bx-tools: script-with-language-extension usr/bin/maf_tile_2bit.py
python3-bx-tools: script-with-language-extension usr/bin/maf_to_axt.py
python3-bx-tools: script-with-language-extension usr/bin/maf_to_concat_fasta.py
python3-bx-tools: script-with-language-extension usr/bin/maf_to_fasta.py
python3-bx-tools: script-with-language-extension usr/bin/maf_to_int_seqs.py
python3-bx-tools: script-with-language-extension usr/bin/maf_translate_chars.py
python3-bx-tools: script-with-language-extension usr/bin/maf_truncate.py
python3-bx-tools: script-with-language-extension usr/bin/maf_word_frequency.py
python3-bx-tools: script-with-language-extension usr/bin/mask_quality.py
python3-bx-tools: script-with-language-extension usr/bin/nib_chrom_intervals_to_fasta.py
python3-bx-tools: script-with-language-extension usr/bin/nib_intervals_to_fasta.py
python3-bx-tools: script-with-language-extension usr/bin/nib_length.py
python3-bx-tools: script-with-language-extension usr/bin/one_field_per_line.py
python3-bx-tools: script-with-language-extension usr/bin/out_to_chain.py
python3-bx-tools: script-with-language-extension usr/bin/prefix_lines.py
python3-bx-tools: script-with-language-extension usr/bin/pretty_table.py
python3-bx-tools: script-with-language-extension usr/bin/qv_to_bqv.py
python3-bx-tools: script-with-language-extension usr/bin/random_lines.py
python3-bx-tools: script-with-language-extension usr/bin/table_add_column.py
python3-bx-tools: script-with-language-extension usr/bin/table_filter.py
python3-bx-tools: script-with-language-extension usr/bin/tfloc_summary.py
python3-bx-tools: script-with-language-extension usr/bin/ucsc_gene_table_to_intervals.py
python3-bx-tools: script-with-language-extension usr/bin/wiggle_to_array_tree.py
python3-bx-tools: script-with-language-extension usr/bin/wiggle_to_binned_array.py
python3-bx-tools: script-with-language-extension usr/bin/wiggle_to_chr_binned_array.py
python3-bx-tools: script-with-language-extension usr/bin/wiggle_to_simple.py
......@@ -6,15 +6,11 @@
export LC_ALL=C.UTF-8
export NOSE_VERBOSE=2
export PYBUILD_DESTDIR_python2=debian/python-bx/
#export PYBUILD_DESTDIR_python2-dbg=debian/python-foo-dbg/
export PYBUILD_DESTDIR_python3=debian/python3-bx/
#export PYBUILD_DESTDIR_python3-dbg=debian/python3-foo-dbg/
export PYBUILD_NAME=bx-python
export PYBUILD_BEFORE_TEST=cp -r {dir}/test_data {build_dir}/
%:
dh $@ --with python2,python3 --buildsystem=pybuild
dh $@ --with python3 --buildsystem=pybuild
override_dh_auto_clean:
dh_auto_clean
......@@ -24,13 +20,9 @@ override_dh_auto_clean:
# Changes perpetually redone
rm -rf lib/bx_python.egg-info
override_dh_install:
dh_install --autodest
dh_install
mkdir -p $(CURDIR)/debian/python-bx-tools/usr
mv $(CURDIR)/debian/python-bx/usr/bin $(CURDIR)/debian/python-bx-tools/usr/
mkdir -p $(CURDIR)/debian/python3-bx-tools/usr
mv $(CURDIR)/debian/python3-bx/usr/bin $(CURDIR)/debian/python3-bx-tools/usr/
# override_dh_install:
# dh_install --autodest
# dh_install
# mkdir -p $(CURDIR)/debian/python3-bx-tools/usr
# mv $(CURDIR)/debian/python3-bx/usr/bin $(CURDIR)/debian/python3-bx-tools/usr/
override_dh_auto_test:
# skipped
......@@ -4,7 +4,7 @@ About bx-python
The bx-python project is a python library and associated set of scripts to allow for rapid implementation of genome scale analyses. The library contains a variety of useful modules, but the particular strengths are:
* Classes for reading and working with genome-scale multiple local alignments (in MAF, AXT, and LAV formats)
* Generic data structure for indexing on disk files that contain blocks of data associated with intervals on various sequences (used, for example, to provide random access to individual alignments in huge files; optomized for use over network filesystems)
* Generic data structure for indexing on disk files that contain blocks of data associated with intervals on various sequences (used, for example, to provide random access to individual alignments in huge files; optimized for use over network filesystems)
* Data structures for working with intervals on sequences
* "Binned bitsets" which act just like chromosome sized bit arrays, but lazily allocate regions and allow large blocks of all set or all unset bits to be stored compactly
* "Intersecter" for performing fast intersection tests that preserve both query and target intervals and associated annotation
......
"""
Tests for `bx.align.score`.
"""
import sys
import unittest
from numpy import array, cumsum, allclose
......@@ -24,8 +23,7 @@ aligns = [ ( "CCACTAGTTTTTAAATAATCTACTATCAAATAAAAGATTTGTTAATAATAAATTTTAAATCATTAA
-299),
("gggaattgaacaatgagaacacatggacacaggaaggggaacatcacacacc----------ggggcctgttgtggggtggggggaag",
"ggaactagaacaagggagacacatacaaacaacaacaacaacaacacagcccttcccttcaaagagcttatagtctgatggaggagag",
1690 )
]
1690)]
mafs = """##maf
a score=2883.0
......@@ -46,9 +44,7 @@ nonsymm_scheme = bx.align.score.build_scoring_scheme ( """ A C G T
aligns_for_nonsymm_scheme = [("AAAACCCCGGGGTTTT",
"ACGTACGTACGTACGT",
-580 )
]
-580)]
asymm_scheme = bx.align.score.build_scoring_scheme(""" 01 02 A C G T
01 200 -200 -50 100 -50 100
......@@ -57,8 +53,7 @@ asymm_scheme = bx.align.score.build_scoring_scheme ( """ 01 02 A C
aligns_for_asymm_scheme = [("\x01\x01\x01\x01\x01\x01",
"ACGT\x01\x02",
100 )
]
100)]
class BasicTests(unittest.TestCase):
......@@ -66,12 +61,12 @@ class BasicTests( unittest.TestCase ):
def test_scoring_text(self):
ss = bx.align.score.hox70
for t1, t2, score in aligns:
self.assertEquals( bx.align.score.score_texts( ss, t1, t2 ), score )
self.assertEqual(bx.align.score.score_texts(ss, t1, t2), score)
def test_align(self):
ss = bx.align.score.hox70
for block in bx.align.maf.Reader(StringIO(mafs)):
self.assertEquals( bx.align.score.score_alignment( ss, block ), float( block.score ) )
self.assertEqual(bx.align.score.score_alignment(ss, block), float(block.score))
def test_accumulate(self):
ss = bx.align.score.hox70
......@@ -83,9 +78,9 @@ class BasicTests( unittest.TestCase ):
def test_nonsymm_scoring(self):
ss = nonsymm_scheme
for t1, t2, score in aligns_for_nonsymm_scheme:
self.assertEquals( bx.align.score.score_texts( ss, t1, t2 ), score )
self.assertEqual(bx.align.score.score_texts(ss, t1, t2), score)
def test_asymm_scoring(self):
ss = asymm_scheme
for t1, t2, score in aligns_for_asymm_scheme:
self.assertEquals( bx.align.score.score_texts( ss, t1, t2 ), score )
self.assertEqual(bx.align.score.score_texts(ss, t1, t2), score)
......@@ -54,7 +54,7 @@ cdef class BPTFile:
self.reader.read( self.key_size )
offset = self.reader.read_uint64()
# Loop until correct subtree is found
for i from 0 <= i < child_count:
for i from 0 <= i < child_count - 1:
node_key = self.reader.read( self.key_size )
if node_key > key:
break
......
......@@ -5,12 +5,13 @@ Tests for `bx.bitset`.
import bx.bitset
import unittest
class AbstractTests(object):
def assert_bits(self, bits, list):
assert bits.size == len(list), "Bitset size and verification list size do not match"
for i in range(bits.size):
self.assertEquals( bits[i], list[i] )
self.assertEqual(bits[i], list[i])
def test_overflow_create(self):
self.assertRaises(ValueError, self.new_bits, 4000000000)
......@@ -43,7 +44,8 @@ class AbstractTests( object ):
# Set some positions
for b, e in ((11, 14), (20, 75), (90, 99)):
bits.set_range(b, e-b)
for pos in range( b, e ): l[ pos ] = 1
for pos in range(b, e):
l[pos] = 1
self.assert_bits(bits, l)
def test_count(self):
......@@ -52,11 +54,11 @@ class AbstractTests( object ):
# Set some positions
for b, e in ((11, 14), (20, 75), (90, 100)):
bits.set_range(b, e-b)
self.assertEquals( bits.count_range( 0, 0 ), 0 )
self.assertEquals( bits.count_range( 0, 20 ), 3 )
self.assertEquals( bits.count_range( 25, 25 ), 25 )
self.assertEquals( bits.count_range( 80, 20 ), 10 )
self.assertEquals( bits.count_range( 0, 100 ), 68 )
self.assertEqual(bits.count_range(0, 0), 0)
self.assertEqual(bits.count_range(0, 20), 3)
self.assertEqual(bits.count_range(25, 25), 25)
self.assertEqual(bits.count_range(80, 20), 10)
self.assertEqual(bits.count_range(0, 100), 68)
def test_find(self):
# Create and assert empty
......@@ -65,14 +67,14 @@ class AbstractTests( object ):
for b, e in ((11, 14), (20, 75), (90, 100)):
bits.set_range(b, e-b)
# Next set
self.assertEquals( bits.next_set( 0 ), 11 )
self.assertEquals( bits.next_set( 13 ), 13 )
self.assertEquals( bits.next_set( 15 ), 20 )
self.assertEqual(bits.next_set(0), 11)
self.assertEqual(bits.next_set(13), 13)
self.assertEqual(bits.next_set(15), 20)
# Next clear
self.assertEquals( bits.next_clear( 0 ), 0 )
self.assertEquals( bits.next_clear( 11 ), 14 )
self.assertEquals( bits.next_clear( 20 ), 75 )
self.assertEquals( bits.next_clear( 92 ), 100 )
self.assertEqual(bits.next_clear(0), 0)
self.assertEqual(bits.next_clear(11), 14)
self.assertEqual(bits.next_clear(20), 75)
self.assertEqual(bits.next_clear(92), 100)
def test_and(self):
bits1 = self.new_bits(100)
......@@ -81,7 +83,8 @@ class AbstractTests( object ):
bits2.set_range(50, 25)
bits1.iand(bits2)
l = [0]*100
for i in range( 50, 60 ): l[i] = 1
for i in range(50, 60):
l[i] = 1
self.assert_bits(bits1, l)
def test_or(self):
......@@ -91,7 +94,8 @@ class AbstractTests( object ):
bits2.set_range(50, 25)
bits1.ior(bits2)
l = [0]*100
for i in range( 20, 75 ): l[i] = 1
for i in range(20, 75):
l[i] = 1
self.assert_bits(bits1, l)
def test_not(self):
......@@ -99,13 +103,16 @@ class AbstractTests( object ):
bits.set_range(20, 40)
bits.invert()
l = [1]*100
for i in range( 20, 60 ): l[i] = 0
for i in range(20, 60):
l[i] = 0
self.assert_bits(bits, l)
class BitSetTests(AbstractTests, unittest.TestCase):
def new_bits(self, size):
return bx.bitset.BitSet(size)
class BinnedBitSetTests(AbstractTests, unittest.TestCase):
def new_bits(self, size):
granularity = size % 11
......