Skip to content

Commit

Permalink
Add Pawsey Setonix and NCI shared repository if89
Browse files Browse the repository at this point in the history
  • Loading branch information
supernord committed Aug 10, 2022
1 parent b200159 commit 31f6c55
Show file tree
Hide file tree
Showing 8 changed files with 1,597 additions and 1,530 deletions.
765 changes: 382 additions & 383 deletions docs/2_1_workflows.html

Large diffs are not rendered by default.

769 changes: 386 additions & 383 deletions docs/2_tools.html

Large diffs are not rendered by default.

756 changes: 377 additions & 379 deletions docs/5_attributions.html

Large diffs are not rendered by default.

756 changes: 377 additions & 379 deletions docs/index.html

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions main.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,10 @@
mytooldb.add_provider(ToolMatrixDataProvider("external/tool_matrix_2021_11_15.xlsx"))
mytooldb.add_provider(ZeusDataProvider("external/zeus.txt"))
mytooldb.add_provider(MagnusDataProvider("external/magnus.txt"))
mytooldb.add_provider(SetonixDataProvider("external/setonix.txt"))
mytooldb.add_provider(QriscloudDataProvider("external/qriscloud.txt"))
mytooldb.add_provider(GadiDataProvider("./external/gadi.key.hdr"))
mytooldb.add_provider(if89DataProvider("./external/bioapps_token.txt"))
gdp = GalaxyDataProvider(mytooldb, "./external/galaxy_tools_curation - DATA.csv")
mytooldb.add_provider(gdp)
mytooldb.add_provider(BiotoolsDataProvider("external/tool_matrix_2021_11_15.xlsx", mytooldb))
Expand Down
4 changes: 3 additions & 1 deletion rmarkdowns/2_1_workflows.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,9 @@ title: "WorkflowFinder"

[![](./images/Australian-Biocommons-Logo-Horizontal-144dpi-Transparent.png){width=15%}](https://www.biocommons.org.au/services)

The interactive table below allows you to search for workflows registered by Australian BioCommons partners on [workflowhub](https://workflowhub.eu/programmes/8).
The interactive table below allows you to search for workflows [registered by Australian BioCommons partners on WorkflowHub](https://workflowhub.eu/programmes/8).

If you would like to add your bioinformatics workflows to [WorkflowHub](https://workflowhub.eu/), please see this [getting started guide](https://about.workflowhub.eu/docs/getting-started/).

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE, message = FALSE)
Expand Down
13 changes: 9 additions & 4 deletions rmarkdowns/2_tools.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,12 @@ title: "ToolFinder"

[![](./images/Australian-Biocommons-Logo-Horizontal-144dpi-Transparent.png){width=15%}](https://www.biocommons.org.au/services)

This page lists bioinformatics tools installed across several of the [**BioCommons infrastructure partner systems**](http://support.biocommons.org.au/support/solutions/articles/6000251977-compute-systems-at-the-biocommons-partner-infrastructures) and tool installation request mechanisms on these systems. Tool status on other partner infrastructures will be added over time.
This page lists bioinformatics tools and software that are installed across several of the [**BioCommons infrastructure partner systems**](http://support.biocommons.org.au/support/solutions/articles/6000251977-compute-systems-at-the-biocommons-partner-infrastructures) as well as the tool installation request mechanisms on these systems. Tool status on other partner infrastructures will be added over time.

**Please note:**

- `Magnus` and `Zeus` (Pawsey) will be decommissioned once user migration to [`Setonix`](https://pawsey.org.au/setonix-fires-up-for-researchers/) is complete, during the second half of 2022. At this point Magnus and Zeus will be removed from ToolFinder.
- `NCI (if89)` below refers to the [`Australian BioCommons Tools and Workflows repository`](https://australianbiocommons.github.io/ables/if89/), located in project allocation if89 at the National Computational Infrastructure (NCI).

-----

Expand Down Expand Up @@ -55,12 +60,12 @@ container1 = htmltools::withTags(table(
tr(
#see https://stackoverflow.com/q/42153218
th(class = 'dt-center', style="font-size:11pt", colspan = 9, 'Tool metadata'),
th(class = 'dt-center', style="font-size:11pt", colspan = 5, 'Availability on Australian compute infrastructures')
th(class = 'dt-center', style="font-size:11pt", colspan = 7, 'Availability on Australian compute infrastructures')
),
tr(
lapply(c("Tool / workflow name", "bio.tools documentation", "Tool identifier (module name / bio.tools ID / placeholder)",
"Description", "EDAM topics", "Publications", "Containers available? (BioContainers)", "License",
"BioCommons Documentation", "Galaxy Australia", "NCI (Gadi)", "Pawsey (Zeus)", "Pawsey (Magnus)",
"BioCommons Documentation", "Galaxy Australia", "NCI (Gadi)", "NCI (if89)", "Pawsey (Zeus)", "Pawsey (Magnus)", "Pawsey (Setonix)",
"QRIScloud / UQ-RCC (Flashlite, Tinaroo)"), th)
)
)
Expand Down Expand Up @@ -91,7 +96,7 @@ options = list(
buttons = c('copy', 'csv', I('colvis')),
#see https://stackoverflow.com/a/32428537
columnDefs = list(list(visible=FALSE, targets = c(2,7)),
list(className = 'dt-center', targets = c(0:2, 5:13)))
list(className = 'dt-center', targets = c(0:2, 5:15)))
),
class = 'cell-border stripe', escape = FALSE)
Expand Down
62 changes: 61 additions & 1 deletion toolfinder/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,11 @@ class FIELD_NAMES(Enum):
PUBLICATIONS = "FIELD_NAMES.PUBLICATIONS"
GALAXY_AUSTRALIA_LAUNCH_LINK = "FIELD_NAMES.GALAXY_AUSTRALIA_LAUNCH_LINK"
NCI_GADI_VERSION = "FIELD_NAMES.NCI_GADI_VERSION"
NCI_IF89_VERSION = "FIELD_NAMES.NCI_IF89_VERSION"
PAWSEY_ZEUS_VERSION = "FIELD_NAMES.PAWSEY_ZEUS_VERSION"
PAWSEY_MAGNUS_VERSION = "FIELD_NAMES.PAWSEY_MAGNUS_VERSION"
QRISCLOUD_VERSION = "FIELD_NAMES.QRISCLOUD_VERSION"
PAWSEY_SETONIX_VERSION = "FIELD_NAMES.PAWSEY_SETONIX_VERSION"

def __init__(self):
self.identifier = ""
Expand Down Expand Up @@ -173,6 +175,30 @@ def _render(self, data):
return {Dataprovider.FIELD_NAMES.PAWSEY_MAGNUS_VERSION: data}


class SetonixDataProvider(Dataprovider):
def __init__(self, filename):
super().__init__()
self.filename = filename
self.identifier = "SETONIX"

def _query_remote(self):
import re
self.available_data = {}
data = pd.read_csv(self.filename, delimiter="/", header=None)
data.columns = ["toolID", "version"]

for idx, row in data.iterrows():
toolID = row.toolID
toolID = re.sub(r"gatk4", "gatk", toolID)
toolID = re.sub(r"beast1", "beast", toolID)
if toolID not in self.available_data:
self.available_data[toolID] = []
self.available_data[toolID].append(row.version)

def _render(self, data):
return {Dataprovider.FIELD_NAMES.PAWSEY_SETONIX_VERSION: data}


class QriscloudDataProvider(Dataprovider):
def __init__(self, filename):
super().__init__()
Expand Down Expand Up @@ -344,6 +370,32 @@ def _render(self, data):
return {Dataprovider.FIELD_NAMES.NCI_GADI_VERSION: data}


class if89DataProvider(Dataprovider):

def __init__(self, if89_key_file):
super().__init__()
self.key = open(if89_key_file, "r").readline()
self.identifier = "IF89"

def _query_remote(self):
self.available_data = {}
#https://stackoverflow.com/a/8685813
req = requests.get("http://130.56.246.237:5000/dump", headers={"Authorization": self.key})
if req.status_code != 200:
raise FileNotFoundError(req.url)
for line in req.text.split("\n")[:-1]:
line = line.split(",")
tool_id = line[0].strip()
tool_id = tool_id.lower()
version = line[1]
if tool_id not in self.available_data:
self.available_data[tool_id] = []
self.available_data[tool_id].append(version)

def _render(self, data):
return {Dataprovider.FIELD_NAMES.NCI_IF89_VERSION: data}


class Tool:
"""
Class representing a tool.
Expand Down Expand Up @@ -470,6 +522,10 @@ def get_formatted_table(self):
tool_line.append("<br \>".join(row[Dataprovider.FIELD_NAMES.NCI_GADI_VERSION]))
else:
tool_line.append("")
if isinstance(row[Dataprovider.FIELD_NAMES.NCI_IF89_VERSION], list):
tool_line.append("<br \>".join(row[Dataprovider.FIELD_NAMES.NCI_IF89_VERSION]))
else:
tool_line.append("")
if isinstance(row[Dataprovider.FIELD_NAMES.PAWSEY_ZEUS_VERSION], list):
tool_line.append("<br \>".join(row[Dataprovider.FIELD_NAMES.PAWSEY_ZEUS_VERSION]))
else:
Expand All @@ -478,10 +534,14 @@ def get_formatted_table(self):
tool_line.append("<br \>".join(row[Dataprovider.FIELD_NAMES.PAWSEY_MAGNUS_VERSION]))
else:
tool_line.append("")
if isinstance(row[Dataprovider.FIELD_NAMES.PAWSEY_SETONIX_VERSION], list):
tool_line.append("<br \>".join(row[Dataprovider.FIELD_NAMES.PAWSEY_SETONIX_VERSION]))
else:
tool_line.append("")
if isinstance(row[Dataprovider.FIELD_NAMES.QRISCLOUD_VERSION], list):
tool_line.append("<br \>".join(row[Dataprovider.FIELD_NAMES.QRISCLOUD_VERSION]))
else:
tool_line.append("")
formatted_list.append(tool_line)
return pd.DataFrame(formatted_list, columns=["Tool / workflow name","bio.tools link","Tool identifier (module name / bio.tools ID / placeholder)","Description","Topic (EDAM, if available)","Publications","BioContainers link","License","BioCommons Documentation","Galaxy Australia","NCI (Gadi)","Pawsey (Zeus)","Pawsey (Magnus)","QRIScloud / UQ-RCC (Flashlite, Awoonga, Tinaroo)"])
return pd.DataFrame(formatted_list, columns=["Tool / workflow name","bio.tools link","Tool identifier (module name / bio.tools ID / placeholder)","Description","Topic (EDAM, if available)","Publications","BioContainers link","License","BioCommons Documentation","Galaxy Australia","NCI (Gadi)","NCI (if89)","Pawsey (Zeus)","Pawsey (Magnus)","Pawsey (Setonix)","QRIScloud / UQ-RCC (Flashlite, Awoonga, Tinaroo)"])

0 comments on commit 31f6c55

Please sign in to comment.