def __init__(self, nodeid, alg_fasta_file, alg_phylip_file, constrain_tree, conf): self.alg_phylip_file = alg_phylip_file self.alg_fasta_file = alg_fasta_file self.alg_basename = basename(self.alg_phylip_file) self.conf = conf self.lk_mode = self.conf["prottest"]["_lk_mode"] if self.lk_mode == "raxml": phyml_optimization = "n" elif self.lk_mode == "phyml": phyml_optimization = "lr" else: raise ValueError("Choose a valid lk_mode value (raxml or phyml)") base_args = { "--datatype": "aa", "--input": self.alg_basename, "--bootstrap": "0", "-o": phyml_optimization, "--model": None, # I will iterate over this value when # creating jobs "--quiet": "" } ModelTesterTask.__init__(self, nodeid, "mchooser", "Prottest", base_args, conf["prottest"]) self.best_model = None self.seqtype = "aa" self.models = self.conf["prottest"]["_models"] self.init() self.post_init()
def __init__(self, nodeid, alg_file, constrain_id, model, seqtype, conf, confname, parts_id=None): GLOBALS["citator"].add(FASTTREE_CITE) self.confname = confname self.conf = conf self.alg_phylip_file = alg_file self.constrain_tree = None if constrain_id: self.constrain_tree = db.get_dataid(constrain_id, DATATYPES.constrain_alg) self.alg_basename = basename(self.alg_phylip_file) self.seqtype = seqtype self.tree_file = "" if model: log.warning("FastTree does not support model selection") self.model = None self.lk = None base_args = OrderedDict() base_args["-nopr"] = "" if self.seqtype == "nt": base_args["-gtr -nt"] = "" elif self.seqtype == "aa": pass else: raise ValueError("Unknown seqtype %s" %self.seqtype) TreeTask.__init__(self, nodeid, "tree", "FastTree", base_args, self.conf[confname]) self.init()
def __init__(self, bin, args, jobname=None, parent_ids=None): # Used at execution time self.status = None # How to run the app self.bin = bin # command line arguments self.args = args # Default number of cores used by the job. If more than 1, # this attribute should be changed self.cores = 1 self.exec_type = "insitu" self.jobname = jobname # generates the unique job identifier based on the params of # the app. Some params include path names that can prevent # recycling the job, so a clean it. clean = lambda x: basename(x) if GLOBALS["basedir"] in x or GLOBALS[ "tasks_dir"] in x else x parsed_id_string = [ "%s %s" % (clean(str(pair[0])), clean(str(pair[1]))) for pair in self.args.iteritems() ] #print '\n'.join(map(str, self.args.items())) self.jobid = md5(','.join(sorted([md5(e) for e in parsed_id_string]))) # self.jobid = md5(','.join(sorted([md5(str(pair)) for pair in # self.args.iteritems()]))) if parent_ids: self.jobid = md5(','.join(sorted(parent_ids + [self.jobid]))) if not self.jobname: self.jobname = re.sub("[^0-9a-zA-Z]", "-", basename(self.bin)) self.ifdone_cmd = "" self.iffail_cmd = "" self.set_jobdir(pjoin(GLOBALS["tasks_dir"], self.jobid)) self.input_files = {} self.dependencies = set()
def __init__(self, bin, args, jobname=None, parent_ids=None): # Used at execution time self.status = None # How to run the app self.bin = bin # command line arguments self.args = args # Default number of cores used by the job. If more than 1, # this attribute should be changed self.cores = 1 self.exec_type = "insitu" self.jobname = jobname # generates the unique job identifier based on the params of # the app. Some params include path names that can prevent # recycling the job, so a clean it. clean = lambda x: basename(x) if GLOBALS["basedir"] in x or GLOBALS["tasks_dir"] in x else x parsed_id_string = ["%s %s" %(clean(str(pair[0])), clean(str(pair[1]))) for pair in self.args.iteritems()] #print '\n'.join(map(str, self.args.items())) self.jobid = md5(','.join(sorted([md5(e) for e in parsed_id_string]))) # self.jobid = md5(','.join(sorted([md5(str(pair)) for pair in # self.args.iteritems()]))) if parent_ids: self.jobid = md5(','.join(sorted(parent_ids+[self.jobid]))) if not self.jobname: self.jobname = re.sub("[^0-9a-zA-Z]", "-", basename(self.bin)) self.ifdone_cmd = "" self.iffail_cmd = "" self.set_jobdir(pjoin(GLOBALS["tasks_dir"], self.jobid)) self.input_files = {} self.dependencies = set()
def __init__(self, nodeid, alg_file, constrain_id, model, seqtype, conf, confname, parts_id=None): self.confname = confname self.conf = conf self.alg_phylip_file = alg_file self.constrain_tree = None if constrain_id: self.constrain_tree = db.get_dataid(constrain_id, DATATYPES.constrain_alg) self.alg_basename = basename(self.alg_phylip_file) self.seqtype = seqtype self.tree_file = "" self.model = None self.lk = None TreeTask.__init__(self, nodeid, "tree", "DummyTree", {}, {}) self.init()
def __init__(self, nodeid, alg_file, constrain_id, model, seqtype, conf, confname, parts_id=None): GLOBALS["citator"].add(FASTTREE_CITE) self.confname = confname self.conf = conf self.alg_phylip_file = alg_file self.constrain_tree = None if constrain_id: self.constrain_tree = db.get_dataid(constrain_id, DATATYPES.constrain_alg) self.alg_basename = basename(self.alg_phylip_file) self.seqtype = seqtype self.tree_file = "" if model: log.warning("FastTree does not support model selection") self.model = None self.lk = None base_args = OrderedDict() base_args["-nopr"] = "" if self.seqtype == "nt": base_args["-gtr -nt"] = "" elif self.seqtype == "aa": pass else: raise ValueError("Unknown seqtype %s" % self.seqtype) TreeTask.__init__(self, nodeid, "tree", "FastTree", base_args, self.conf[confname]) self.init()