From 63b0179453f0fdd59a8f3a15878e4cd41f91b79d Mon Sep 17 00:00:00 2001 From: Arthur Le Bars <arthur.le-bars@sb-roscoff.fr> Date: Thu, 5 Mar 2020 16:54:29 +0100 Subject: [PATCH] Added Homo sapiens deletion from chado database --- loader.sh | 1 + main.py | 16 +++++++++++++--- toolrunner.py | 13 +++---------- 3 files changed, 17 insertions(+), 13 deletions(-) create mode 100755 loader.sh diff --git a/loader.sh b/loader.sh new file mode 100755 index 0000000..212c4ba --- /dev/null +++ b/loader.sh @@ -0,0 +1 @@ +#!/usr/bin/env bash \ No newline at end of file diff --git a/main.py b/main.py index 7cd904d..7b06b6c 100644 --- a/main.py +++ b/main.py @@ -9,10 +9,7 @@ import json import urllib3 as ul from chado import ChadoInstance from workflow import Workflow -from filetransfer import FileTransfer from toolrunner import ToolRunner -from webscrap import WebScrap - """ TODO: script description python3 ~/PycharmProjects/ggauto/gga_load_data/main.py ~/PycharmProjects/ggauto/gga_load_data/dataloader.json @@ -207,6 +204,19 @@ def main(): gi.histories.upload_dataset_from_library(history_id=current_hi_id, lib_dataset_id=datasets["transcripts_file"]) gi.histories.upload_dataset_from_library(history_id=current_hi_id, lib_dataset_id=datasets["proteins_file"]) + # Delete Homo sapiens from Chado database + toolrunner = ToolRunner(parameters_dict=sp_dict, instance=gi, history=current_hi_id) + sapiens_id = None + sapiens = toolrunner.get_sapiens_id() + sapiens_job_out = sapiens["outputs"][0]["id"] + sapiens_json_output = gi.datasets.download_dataset(dataset_id=sapiens_job_out) + try: + sapiens_output = json.loads(sapiens_json_output)[0] + sapiens_id = str(sapiens_output["organism_id"]) # needs to be str to be recognized by the chado tool + toolrunner.delete_sapiens(hs_id=sapiens_id) + except bb.ConnectionError: + print("Homo sapiens isn't in the database") + # Workflow generation workflow = Workflow(parameters_dict=sp_dict, instance=gi, history_id = current_hi_id) wf_dict_json = workflow.generate(working_directory=wd, main_directory=main_dir, workflow_name="preset_workflow") diff --git a/toolrunner.py b/toolrunner.py index b1e65a0..453284c 100644 --- a/toolrunner.py +++ b/toolrunner.py @@ -45,6 +45,7 @@ class ToolRunner: self.instance.tools.run_tool(tool_id="toolshed.g2.bx.psu.edu/repos/gga/chado_organism_delete_organisms/organism_delete_organisms/2.3.2", history_id=self.history, tool_inputs={"name": self.organism}) + def purge_analyses(self): return None @@ -101,6 +102,7 @@ class ToolRunner: "sourcename": "Genoscope", "date_executed": self.date }) + def add_genome(self): """ Tool invocation must be as return (or else it executes but returns nothing when called) @@ -144,16 +146,7 @@ class ToolRunner: """ return self.instance.tools.run_tool(tool_id="toolshed.g2.bx.psu.edu/repos/gga/chado_organism_delete_organisms/organism_delete_organisms/2.3.2", history_id=self.history, - tool_inputs={"organism": hs_id}) - - # def load_fasta(self, inputs_dict): - # """ - # - # :return: - # """ - # return self.instance.tools.run_tool(tool_id="toolshed.g2.bx.psu.edu/repos/gga/chado_feature_load_fasta/feature_load_fasta/2.3.2", - # history_id=self.history, - # tool_inputs=) + tool_inputs={"organism": str(hs_id)}) def show_pannel(self): print(self.instance.tools.get_tool_panel()) -- GitLab