diff --git a/loader.sh b/loader.sh new file mode 100755 index 0000000000000000000000000000000000000000..212c4ba239ecdbd15c70c05b9336c32175dc8c5c --- /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 7cd904dd7c8633f4cc19f024f83313e1a195499b..7b06b6c940a38294c15f155b30f26c06693ea688 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 b1e65a02abafe34e7836ff75b7e221d8f05bd14a..453284cfbe8b27f3b2995d57dbd6b9b38f7e1123 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())