From fee4d33f474eb788a83a3681b1cec21d81772c10 Mon Sep 17 00:00:00 2001 From: Johan Gustafsson <50811354+supernord@users.noreply.github.com> Date: Thu, 6 Jul 2023 17:34:07 +0930 Subject: [PATCH] Johan proteomics lab (#58) * Add sections.py * Add quant_proteomics.py * Add data.py * Add post_processing_visualisation.py --------- Co-authored-by: Cameron Hyde --- .../subdomains/proteomics/content/__init__.py | 5 ++ .../subdomains/proteomics/content/data.py | 82 +++++++++++++++++++ .../content/post_processing_visualisation.py | 81 ++++++++++++++++++ .../proteomics/content/quant_proteomics.py | 57 +++++++++++++ webapp/home/subdomains/proteomics/sections.py | 58 ++++++++++++- 5 files changed, 281 insertions(+), 2 deletions(-) create mode 100644 webapp/home/subdomains/proteomics/content/__init__.py create mode 100644 webapp/home/subdomains/proteomics/content/data.py create mode 100644 webapp/home/subdomains/proteomics/content/post_processing_visualisation.py create mode 100644 webapp/home/subdomains/proteomics/content/quant_proteomics.py diff --git a/webapp/home/subdomains/proteomics/content/__init__.py b/webapp/home/subdomains/proteomics/content/__init__.py new file mode 100644 index 00000000..47e3ca83 --- /dev/null +++ b/webapp/home/subdomains/proteomics/content/__init__.py @@ -0,0 +1,5 @@ +from . import ( + data, + post_processing_visualisation, + quant_proteomics, +) diff --git a/webapp/home/subdomains/proteomics/content/data.py b/webapp/home/subdomains/proteomics/content/data.py new file mode 100644 index 00000000..be28b2ac --- /dev/null +++ b/webapp/home/subdomains/proteomics/content/data.py @@ -0,0 +1,82 @@ +"""Content for data section - tools, workflows and help tabs.""" + +galaxy_au_support_item = { + "title_html": 'Galaxy Australia support', + "description_html": """

+ Any user of Galaxy Australia can request support through an + online form. +

""", + "button_link": "/request/support", + "button_html": "Request support", +} + +tools = [ + # { # Accordion item schema: + # "title_html": '', + # "description_html": """""", + # "inputs": [ + # { + # 'datatypes': [''], + # 'label': '', + # }, + # ], + # "button_link": "", + # "button_html": "", + # "button_tip": "", + # "view_link": "", + # "view_html": "", + # "view_tip": "", + # }, + { + "title_html": "Import data to Galaxy", + "description_html": "

Standard upload of data to Galaxy, from your computer or from the web.

", + "button_link": 'https://genome.usegalaxy.org.au/tool_runner?tool_id=upload1', + } +] + + +help = [ + { + "title_html": 'Can I upload sensitive data?', + "description_html": """ +

+ No, do not upload personal or sensitive, such as human health or clinical data. + Please see our + Data Privacy + page for definitions of sensitive and health-related information. +

+

+ Please also make sure you have read our + Terms of Service, + which covers hosting and analysis of research data. +

""", + }, + { + "title_html": 'Is my data private?', + "description_html": """ +

+ Please read our + Privacy Policy + for information on your personal data and any data that you upload. +

""", + }, + { + "title_html": 'How can I increase my storage quota?', + "description_html": """ +

+ Please submit a quota request if your Galaxy Australia account reaches its data storage limit. Requests are usually provisioned quickly if you provide a reasonable use case for your request. +

""", + "button_link": "/request/quota", + "button_html": "Request", + }, + { + "title_html": 'Tutorial: Introduction to proteomics, protein identification, quantification and statistical modelling', + "description_html": """ +

+ This practical aims to familiarize you with Galaxy for Proteomics, including theory, methods and software examples. +

""", + "button_link": "https://training.galaxyproject.org/training-material/topics/proteomics/tutorials/introduction/slides.html#1", + "button_html": "Tutorial", + }, + galaxy_au_support_item, +] diff --git a/webapp/home/subdomains/proteomics/content/post_processing_visualisation.py b/webapp/home/subdomains/proteomics/content/post_processing_visualisation.py new file mode 100644 index 00000000..1784f9d0 --- /dev/null +++ b/webapp/home/subdomains/proteomics/content/post_processing_visualisation.py @@ -0,0 +1,81 @@ +"""Content for data section - tools, workflows and help tabs.""" + +galaxy_au_support_item = { + "title_html": 'Galaxy Australia support', + "description_html": """

+ Any user of Galaxy Australia can request support through an + online form. +

""", + "button_link": "/request/support", + "button_html": "Request support", +} + +tools = [ + # { # Accordion item schema: + # "title_html": '', + # "description_html": """""", + # "inputs": [ + # { + # 'datatypes': [''], + # 'label': '', + # }, + # ], + # "button_link": "", + # "button_html": "", + # "button_tip": "", + # "view_link": "", + # "view_html": "", + # "view_tip": "", + # }, + { + "title_html": 'LFQ Analyst', + "description_html": '

Analyze and Visualize Label-Free Proteomics output from MaxQuant.

', + "inputs": [ + { + 'datatypes': ['txt'], + 'label': 'Protein groups (MaxQuant output)', + }, + { + 'datatypes': ['txt'], + 'label': 'Experimental Design Matrix (MaxQuant output)', + } + ], + "button_link": "https://usegalaxy.org.au/root?tool_id=interactive_tool_lfqanalyst", + "view_link": "Shah AD, Goode RJA, Huang C, Powell DR, Schittenhelm RB. LFQ-Analyst: An easy-to-use interactive web-platform to analyze and visualize proteomics data preprocessed with MaxQuant. https://doi.org/10.1021/acs.jproteome.9b00496", + }, + { + "title_html": 'MSstats', + "description_html": '

Statistical relative protein significance analysis in DDA, SRM and DIA Mass Spectrometry.

', + "inputs": [ + { + 'datatypes': ['tabular', 'csv'], + 'label': 'Either the 10-column MSstats format or the outputs of spectral processing tools such as MaxQuant, OpenSWATH.', + } + ], + "button_link": "https://usegalaxy.org.au/root?tool_id=toolshed.g2.bx.psu.edu/repos/galaxyp/msstats/msstats/", + } +] + + +help = [ + { + "title_html": 'LFQ-Analyst: Manual', + "description_html": """ +

+ A detailed user manual for LFQ-Analyst. +

""", + "button_link": "https://analyst-suite.monash-proteomics.cloud.edu.au/apps/lfq-analyst/LFQ-Analyst_manual.pdf", + "button_html": "Manual", + "view_link": "Shah AD, Goode RJA, Huang C, Powell DR, Schittenhelm RB. LFQ-Analyst: An easy-to-use interactive web-platform to analyze and visualize proteomics data preprocessed with MaxQuant. https://doi.org/10.1021/acs.jproteome.9b00496", + }, + { + "title_html": 'MaxQuant and MSstats for the analysis of label-free data', + "description_html": """ +

+ Learn how to use MaxQuant and MSstats for the analysis of label-free shotgun (DDA) data. +

""", + "button_link": "https://training.galaxyproject.org/training-material/topics/proteomics/tutorials/maxquant-msstats-dda-lfq/tutorial.html", + "button_html": "Tutorial", + }, + galaxy_au_support_item, +] diff --git a/webapp/home/subdomains/proteomics/content/quant_proteomics.py b/webapp/home/subdomains/proteomics/content/quant_proteomics.py new file mode 100644 index 00000000..02b02072 --- /dev/null +++ b/webapp/home/subdomains/proteomics/content/quant_proteomics.py @@ -0,0 +1,57 @@ +"""Content for data section - tools, workflows and help tabs.""" + +galaxy_au_support_item = { + "title_html": 'Galaxy Australia support', + "description_html": """

+ Any user of Galaxy Australia can request support through an + online form. +

""", + "button_link": "/request/support", + "button_html": "Request support", +} + +tools = [ + # { # Accordion item schema: + # "title_html": '', + # "description_html": """""", + # "inputs": [ + # { + # 'datatypes': [''], + # 'label': '', + # }, + # ], + # "button_link": "", + # "button_html": "", + # "button_tip": "", + # "view_link": "", + # "view_html": "", + # "view_tip": "", + # }, + { + "title_html": 'MaxQuant', + "description_html": '

MaxQuant is a quantitative proteomics software package designed for analyzing large mass-spectrometric data sets.

', + "inputs": [ + {'datatypes': ['thermo.raw']}, + {'datatypes': ['mzML']}, + {'datatypes': ['mzXML']}, + { + 'datatypes': ['tabular'], + 'label': 'Experimental design template', + }, + ], + "button_link": "https://usegalaxy.org.au/root?tool_id=toolshed.g2.bx.psu.edu/repos/galaxyp/maxquant/maxquant/", + }, + { + "title_html": 'FlashLFQ', + "description_html": '

Ultrafast label-free quantification for mass-spectrometry proteomics.

', + "inputs": [ + { + 'datatypes': ['tabular'], + 'label': 'MetaMorpheus, Morpheus, PeptideShaker PSM Report, MaxQuant', + } + ], + "button_link": "https://usegalaxy.org.au/root?tool_id=toolshed.g2.bx.psu.edu/repos/galaxyp/flashlfq/flashlfq/", + } +] + +help = [] # Todo diff --git a/webapp/home/subdomains/proteomics/sections.py b/webapp/home/subdomains/proteomics/sections.py index ec4b9548..01c8eb21 100644 --- a/webapp/home/subdomains/proteomics/sections.py +++ b/webapp/home/subdomains/proteomics/sections.py @@ -2,6 +2,60 @@ file. """ -# from . import content +from . import content -sections = [] +tools_heading_html = """Some example tools are listed here: you can also search for more in the full tool panel to the left.""" + +sections = [ + { + "id": "data", + "title": "Data import", + "tabs": [ + { + "id": "tools", + "title": "Tools", + "heading_html": tools_heading_html, + "content": content.data.tools, + }, + { + "id": "help", + "title": "Help", + "content": content.data.help, + }, + ], + }, + { + "id": "quant_proteomics", + "title": "Quantitative proteomics", + "tabs": [ + { + "id": "tools", + "title": "Tools", + "heading_html": tools_heading_html, + "content": content.quant_proteomics.tools, + }, + { + "id": "help", + "title": "Help", + "content": content.quant_proteomics.help, + }, + ], + }, + { + "id": "post_processing_visualisation", + "title": "Post processing and visualisation", + "tabs": [ + { + "id": "tools", + "title": "Tools", + "heading_html": tools_heading_html, + "content": content.post_processing_visualisation.tools, + }, + { + "id": "help", + "title": "Help", + "content": content.post_processing_visualisation.help, + }, + ], + } +]