def run(database: Database, file: str, params, input_format, output_format): database.download(params["database_bucket"], "crux", "/tmp/crux") subprocess.call("chmod 755 /tmp/crux", shell=True) output_dir = "/tmp/percolator-crux-output-{0:f}-{1:d}".format( input_format["timestamp"], input_format["nonce"]) arguments = [ "--subset-max-train", str(params["max_train"]), "--quick-validation", "T", "--output-dir", output_dir, ] command = "cd /tmp; ./crux percolator {0:s} {1:s}".format( file, " ".join(arguments)) try: subprocess.check_output(command, stderr=subprocess.STDOUT, shell=True) except subprocess.CalledProcessError as exc: print("Status : FAIL", exc.returncode, exc.output) raise exc output_files = [] for item in ["target.{0:s}".format(params["output"])]: input_file = "{0:s}/percolator.{1:s}.txt".format(output_dir, item) output_format["ext"] = "percolator" output_file = "/tmp/{0:s}".format(util.file_name(output_format)) os.rename(input_file, output_file) output_files.append(output_file) shutil.rmtree(output_dir) return output_files
def run(database: Database, file: str, params, input_format, output_format): database.download(params["database_bucket"], "crux", "/tmp/crux") subprocess.call("chmod 755 /tmp/crux", shell=True) output_dir = "/tmp/confidence-crux-output-{0:f}-{1:d}".format(input_format["timestamp"], input_format["nonce"]) arguments = [ "--output-dir", output_dir, ] command = "cd /tmp; ./crux assign-confidence {0:s} {1:s}".format(file, " ".join(arguments)) subprocess.check_output(command, shell=True) output_files = [] input_file = "{0:s}/assign-confidence.target.txt".format(output_dir) output_format["ext"] = "confidence" output_file = "/tmp/{0:s}".format(util.file_name(output_format)) os.rename(input_file, output_file) output_files.append(output_file) return output_files
def run(database: Database, file: str, params, input_format, output_format): if "species" in params: species = params["species"] else: raise Exception("Tide needs species parameter specified") database.download(params["database_bucket"], "{0:s}/fasta".format(species), "/tmp/fasta") database.download(params["database_bucket"], "crux", "/tmp/crux") subprocess.call("chmod 755 /tmp/crux", shell=True) index_files = ["auxlocs", "pepix", "protix"] if not os.path.isdir("/tmp/fasta.index"): os.mkdir("/tmp/fasta.index") for index_file in index_files: name = "{0:s}/{1:s}".format(species, index_file) database.download(params["database_bucket"], name, "/tmp/fasta.index/{0:s}".format(index_file)) output_dir = "/tmp/crux-output-{0:f}-{1:d}".format( input_format["timestamp"], input_format["nonce"]) arguments = [ "--num-threads", str(params["num_threads"]), "--txt-output", "T", "--concat", "T", "--output-dir", output_dir, "--overwrite", "T", ] command = "cd /tmp; ./crux tide-search {0:s} fasta.index {1:s}".format( file, " ".join(arguments)) try: subprocess.check_output(command, stderr=subprocess.STDOUT, shell=True) except subprocess.CalledProcessError as exc: print("Status : FAIL", exc.returncode, exc.output) raise exc input_file = "{0:s}/tide-search.txt".format(output_dir) output_format["suffix"] = species output_format["ext"] = "txt" output_file = "/tmp/{0:s}".format(util.file_name(output_format)) os.rename(input_file, output_file) shutil.rmtree(output_dir) return [output_file]
def run(database: Database, file: str, params, input_format, output_format): database.download(params["database_bucket"], "crux", "/tmp/crux") subprocess.call("chmod 755 /tmp/crux", shell=True) command = "cd /tmp; ./crux param-medic {0:s}".format(file) output = subprocess.check_output(command, shell=True, stderr=subprocess.STDOUT).decode("utf-8") print(output) phos = PHOSPHORYLATION.search(output) itraq = ITRAQ.search(output) silac = SILAC.search(output) tmt6 = TMT6.search(output) tmt10 = TMT10.search(output) map_bucket = None if tmt6: if phos: map_bucket = "maccoss-tmt6-phosphorylation-fasta" else: map_bucket = "maccoss-tmt6-fasta" elif tmt10: if phos: map_bucket = "maccoss-tmt10-phosphorylation-fasta" else: map_bucket = "maccoss-tmt10-fasta" elif itraq: if phos: map_bucket = "maccoss-itraq-phosphorylation-fasta" else: map_bucket = "maccoss-itraq-fasta" elif phos: map_bucket = "maccoss-phosphorylation-fasta" elif silac: map_bucket = "maccoss-silac-fasta" else: map_bucket = "maccoss-normal-fasta" payload = { "Records": [{ "s3": { "bucket": { "name": params["bucket"], }, "object": { "key": util.file_name(input_format), }, "extra_params": { "map_bucket": map_bucket, "prefix": output_format["prefix"], } } }] } output_file = util.file_name(output_format) database.write(params["bucket"], output_file, output, {}, False) database.invoke(params["output_function"], payload) return []