1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
|
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]
|