import os from cement.core import backend, handler, output from cement.utils import test, shell LOG = backend.minimal_logger(__name__) BASEDIR = os.path.join(os.path.dirname(__file__), os.pardir) from pm.cli import PmMainApp ## Set default configuration filedir = os.path.abspath(os.curdir) config_defaults = backend.defaults('config', 'project','log') config_defaults['project']['root'] = os.path.join(filedir, "data", "projects") config_defaults['config']['ignore'] = ["slurm*", "tmp*"] config_defaults['log']['level'] = "INFO" config_defaults['log']['file'] = os.path.join(filedir, "log", "pm.log") def safe_makedir(dname): """Make directory""" if not os.path.exists(dname): try: os.makedirs(dname) except OSError: if not os.path.isdir(dname): raise else: print "Directory %s already exists" % dname return dname
"""Distributed Extension""" import re import os import sys try: import drmaa except: pass import itertools import argparse from cement.core import backend, handler, hook from scilifelab.pm.core import command LOG = backend.minimal_logger(__name__) class DistributedCommandHandler(command.CommandHandler): """ This class is an implementation of the :ref:`ICommand <scilifelab.pm.core.command>` interface. """ class Meta: """Handler meta-data""" interface = command.ICommand """The interface that this class implements.""" label = 'distributed' """The string identifier of this handler."""
import xml.parsers.expat import hashlib import time from uuid import uuid4 import glob import json import fnmatch import numpy as np import csv from collections import defaultdict from itertools import izip from bs4 import BeautifulSoup from cement.core import backend LOG = backend.minimal_logger("bcbio") from bcbio.broad.metrics import * from bcbio.pipeline.qcsummary import FastQCParser class MetricsParser(): """Basic class for parsing metrics""" def __init__(self, log=None): self.log = LOG if log: self.log = log def parse_bc_metrics(self, in_handle): data = {} while 1: line = in_handle.readline()
import os import re import yaml import glob import xml.parsers.expat from uuid import uuid4 import json import numpy as np import csv import collections import xml.etree.cElementTree as ET from bs4 import BeautifulSoup import datetime from cement.core import backend LOG = backend.minimal_logger("bcbio") from bcbio.broad.metrics import PicardMetricsParser from bcbio.pipeline.qcsummary import FastQCParser class MetricsParser(): """Basic class for parsing metrics""" def __init__(self, log=None): self.log = LOG if log: self.log = log def parse_bc_metrics(self, in_handle): data = {} while 1:
def __init__(self, **kwargs): self.con = None self.log = backend.minimal_logger(repr(self)) self.connect(**kwargs)
"""Database module""" import os import sys import couchdb from cement.core import backend LOG = backend.minimal_logger("db") from scilifelab.utils.http import check_url class ConnectionError(Exception): """Exception raised for connection errors. :param msg: the error message """ def __init__(self, msg): Exception.__init__(self) self.msg = msg def __str__(self): return self.msg class Database(object): """Main database connection object for noSQL databases""" def __init__(self, **kwargs): self.con = None