import os import sys import sysconfig from pysam.libchtslib import * from pysam.libcsamtools import * from pysam.libcbcftools import * from pysam.libcutils import * import pysam.libcutils as libcutils import pysam.libcfaidx as libcfaidx from pysam.libcfaidx import * import pysam.libctabix as libctabix from pysam.libctabix import * # import pysam.libctabixproxies as libctabixproxies # from pysam.libctabixproxies import * import pysam.libcsamfile as libcsamfile from pysam.libcsamfile import * import pysam.libcalignmentfile as libcalignmentfile from pysam.libcalignmentfile import * import pysam.libcalignedsegment as libcalignedsegment from pysam.libcalignedsegment import * import pysam.libcvcf as libcvcf from pysam.libcvcf import * import pysam.libcbcf as libcbcf from pysam.libcbcf import * import pysam.libcbgzf as libcbgzf from pysam.libcbgzf import * from pysam.utils import SamtoolsError import pysam.Pileup as Pileup from pysam.samtools import * import pysam.config # export all the symbols from separate modules __all__ = \ libchtslib.__all__ +\ libcutils.__all__ +\ libctabix.__all__ +\ libcvcf.__all__ +\ libcbcf.__all__ +\ libcbgzf.__all__ +\ libcfaidx.__all__ +\ libctabixproxies.__all__ +\ libcalignmentfile.__all__ +\ libcalignedsegment.__all__ +\ libcsamfile.__all__ +\ ["SamtoolsError"] +\ ["Pileup"] from pysam.version import __version__, __samtools_version__ def get_include(): '''return a list of include directories.''' dirname = os.path.abspath(os.path.join(os.path.dirname(__file__))) # # Header files may be stored in different relative locations # depending on installation mode (e.g., `python setup.py install`, # `python setup.py develop`. The first entry in each list is # where develop-mode headers can be found. # htslib_possibilities = [os.path.join(dirname, '..', 'htslib'), os.path.join(dirname, 'include', 'htslib')] samtool_possibilities = [os.path.join(dirname, '..', 'samtools'), os.path.join(dirname, 'include', 'samtools')] includes = [dirname] for header_locations in [htslib_possibilities, samtool_possibilities]: for header_location in header_locations: if os.path.exists(header_location): includes.append(os.path.abspath(header_location)) break return includes def get_defines(): '''return a list of defined compilation parameters.''' # ('_FILE_OFFSET_BITS', '64'), # ('_USE_KNETFILE', '')] return [] def get_libraries(): '''return a list of libraries to link against.''' # Note that this list does not include libcsamtools.so as there are # numerous name conflicts with libchtslib.so. dirname = os.path.abspath(os.path.join(os.path.dirname(__file__))) pysam_libs = ['libctabixproxies', 'libcfaidx', 'libcsamfile', 'libcvcf', 'libcbcf', 'libctabix'] if pysam.config.HTSLIB == "builtin": pysam_libs.append('libchtslib') so = sysconfig.get_config_var('SO') return [os.path.join(dirname, x + so) for x in pysam_libs]