Source code for pytadbit


from future import standard_library
standard_library.install_aliases()
from os import environ
from subprocess import Popen, PIPE, check_call, CalledProcessError

from pytadbit._version import __version__

# ## Check if we have X display http://stackoverflow.com/questions/8257385/automatic-detection-of-display-availability-with-matplotlib
# if not "DISPLAY" in environ:
#     import matplotlib
#     matplotlib.use('Agg')
# else:
#     try:
#         check_call('python -c "import matplotlib.pyplot as plt; plt.figure()"',
#                    shell=True, stdout=PIPE, stderr=PIPE)
#     except CalledProcessError:
#         import matplotlib
#         matplotlib.use('Agg')

[docs]def get_dependencies_version(dico=False): """ Check versions of TADbit and all dependencies, as well and retrieves system info. May be used to ensure reproducibility. :returns: string with description of versions installed """ versions = {' TADbit': __version__ + '\n\n'} try: import IMP try: versions['IMP'] = IMP.get_module_version() IMP.random_number_generator.seed(1) seed = IMP.random_number_generator() except AttributeError: versions['IMP'] = IMP.kernel.get_module_version() IMP.kernel.random_number_generator.seed(1) seed = IMP.kernel.random_number_generator() versions['IMP'] += ' (random seed indexed at 1 = %s)' % (seed) except ImportError: pass # versions['IMP'] = 'Not found' try: import scipy versions['scipy'] = scipy.__version__ except ImportError: versions['scipy'] = 'Not found' try: from gem import commands versions['gemtools'] = commands.__VERSION__ except: versions['gemtools'] = 'Not found' try: from gem import executables out = Popen(executables['gem-mapper'], shell=True, stdout=PIPE, stderr=PIPE, universal_newlines=True).communicate() versions['gem-mapper'] = out[1].split(' - ')[0].split('build ')[1] except: versions['gem-mapper'] = 'Not found' try: import numpy versions['numpy'] = numpy.__version__ except ImportError: versions['numpy'] = 'Not found' try: import matplotlib versions['matplotlib'] = matplotlib.__version__ except ImportError: versions['matplotlib'] = 'Not found' try: mcl, _ = Popen(['mcl', '--version'], stdout=PIPE, stderr=PIPE, universal_newlines=True).communicate() versions['MCL'] = mcl.split()[1] except: versions['MCL'] = 'Not found' # try: # chi, err = Popen(['chimera', '--version'], stdout=PIPE, # stderr=PIPE).communicate() # versions['Chimera'] = chi.strip() # except: # versions['Chimera'] = 'Not found' # try: # chi, err = Popen(['chimera', '--version'], stdout=PIPE, # stderr=PIPE).communicate() # versions['Chimera'] = chi.strip() # except: # versions['Chimera'] = 'Not found' try: uname, err = Popen(['uname', '-rom'], stdout=PIPE, stderr=PIPE, universal_newlines=True).communicate() versions[' Machine'] = uname except: versions[' Machine'] = 'Not found' if dico: return versions else: return '\n'.join(['%15s : %s' % (k, versions[k]) for k in sorted(versions.keys())])
from pytadbit.hic_data import HiC_data from pytadbit.tadbit import tadbit, batch_tadbit from pytadbit.chromosome import Chromosome from pytadbit.experiment import Experiment, load_experiment_from_reads from pytadbit.chromosome import load_chromosome from pytadbit.modelling.structuralmodels import StructuralModels from pytadbit.modelling.structuralmodels import load_structuralmodels from pytadbit.parsers.hic_parser import load_hic_data_from_reads from pytadbit.parsers.hic_parser import load_hic_data_from_bam from pytadbit.modelling.impmodel import load_impmodel_from_cmm from pytadbit.modelling.impmodel import load_impmodel_from_xyz from pytadbit.modelling.impmodel import IMPmodel from pytadbit.parsers.hic_parser import read_matrix try: from pytadbit.modelling.impoptimizer import IMPoptimizer except ImportError: from warnings import warn # warn('IMP not found, check PYTHONPATH\n')