From 7f43776114e5662ab80ab1b3ba616e20d4839568 Mon Sep 17 00:00:00 2001 From: Johan Gustafsson Date: Tue, 16 Dec 2025 17:26:30 +1030 Subject: [PATCH 01/16] update logo --- _config.yml | 4 ++-- assets/img/aus-struct-bio-computing-2.png | Bin 0 -> 55598 bytes 2 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 assets/img/aus-struct-bio-computing-2.png diff --git a/_config.yml b/_config.yml index 2dfa4b8..80b0a21 100644 --- a/_config.yml +++ b/_config.yml @@ -55,9 +55,9 @@ theme_variables: # toc: # min_headings: 2 # headings: 'h2' - # topnav: + topnav: # theme: light - # brand_logo: assets/img/main_logo.svg + brand_logo: assets/img/aus-struct-bio-computing-2.png # github: true # twitter: false # theme_color: 0d6efd diff --git a/assets/img/aus-struct-bio-computing-2.png b/assets/img/aus-struct-bio-computing-2.png new file mode 100644 index 0000000000000000000000000000000000000000..f5683dc166f1440449f62211954efb48cfd210b3 GIT binary patch literal 55598 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
O&bptY(=aW z8{uR>F`F#>1Uz{YH9kH{utyv7e~(>5uGISC9GNkwnb=C}=Lk`bYi}TcUZbTXO}0#w zbIP8*=pmO(_OOa2+9@k?brWEzi=<`>i9?gTsh93a4l>?sOi3>ur3v0%NO87+e<4q$7oNdHvjivghsR3KXJJ?zj-T{ z6eCfXI3Pi9w+eW(#*!H!z=n9F0!ZDmDO~1fJ4oQSL{ewoEgQ$nvUiD9EQ=l#oxk%& zNRp~ye9w!1u%i8DMb$!09f;wrB-4p|0v|1uUtfQ?aN@R~oGgH4BH$&I{U${#(nao|ott+G$Ld zjyk$%9Gw9)d41t*^yKFUilPF8&)nRTlrvkHHae*9n{ChY8h zQkodg1MRqZ+~}hn2aC%2p0r{OEH6m&K2~ehnQ#n*+}f-tfYHpT050LR23!t3;))uT zEC!V5uxrEPHhzt|iYEeyGHOJ=)UE>z)Wt$B`M z7emxJW*Uvb%DV5KH7q_W6Y`ZO^~MumMp>4-00&Tam^Z+QfO?b(h+7I;0jGLN2l`z6V=itpO8Yv2Ji?Uz+55xW zxv%-r0I!Lww_6CEAt42I$9#)Vh$UJqV>9Is%u!r)Fp~o-kua$48WlJ!#t*`ao91oN zMhazJJQ-teId5&)o+1bpVt-OMp4^V_)CKgtN|Qf5EX4rZ{>hsl>`vVOCZ~1>nHv?I zRbQTQ0?Ytzegnbmte%#kZh59X#MOuo+Gjy?@EZjr(yta`0tr^ zb1UWv`wZW=Ui0e3HHo&{i@V?i#$zCkY5=zT0(2sw{sIY9e}_X`A?re_axrq#km}J4 z9eR>d52``*j)aM;j3S&!IR=g(v!Sd9g|NVgn2V&@&=h}iAwtMVn8zEh8tWi|&fE-f zc;^#7B5Bjka{G~rxTPHMH2h$Z%2ysu0*^!@u|s=ZzG6HS6gfe?o5D+BoHYb!&pw;B zUT+EOC_q8;&f9Ym2^9^O42b&yj&ufxso;u#j7lBc?!cHQ8uV`~;o?SA>E6L2Sz6zg zG*AK;MEm2nfMFx$!QtqlOX~NVZ!xlA9%}PNq-+p^5k?61ClhuF_fRxedcx z1$XXCD$?GvjiB+IEd1N+d|hA1Z$2wi`N0_t4_xcL_nFFDYW}#6f^7MDd@Hz1bYEcf zWv1TdM~v(s!RbE}Zp)Xc8mrpy5`pT!0

?EqI=2<#7wE?r&f7XW#E5iiF(W2#5XCD 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 literal 0 HcmV?d00001 From 868e922b9e59c2fb322a2101be664b8b6e225b09 Mon Sep 17 00:00:00 2001 From: Johan Gustafsson Date: Tue, 16 Dec 2025 17:27:23 +1030 Subject: [PATCH 02/16] update footer.yml --- _data/footer.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_data/footer.yml b/_data/footer.yml index c4dd028..5c86315 100644 --- a/_data/footer.yml +++ b/_data/footer.yml @@ -1,4 +1,4 @@ -copyright: A collaborative effort by the Australian Structural Biology community. All rights are reserved by the respective contributors. +copyright: A collaborative effort by the Australian Structural Biology Computing community. All rights are reserved by the respective contributors. #extra_line: #columns: # - type: image From 5ec5f605aa5b1f59b6c06fec67a12601ad22c82b Mon Sep 17 00:00:00 2001 From: Johan Gustafsson Date: Tue, 16 Dec 2025 17:28:05 +1030 Subject: [PATCH 03/16] add gem fix --- Gemfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Gemfile b/Gemfile index 47909af..6624e0d 100644 --- a/Gemfile +++ b/Gemfile @@ -1,5 +1,7 @@ source "https://rubygems.org" +gem "openssl", "~> 3.3.1" + group :jekyll_plugins do gem "github-pages" end From 9c38345585b870804ca3621477c184221c54ece8 Mon Sep 17 00:00:00 2001 From: Johan Gustafsson Date: Tue, 16 Dec 2025 17:41:23 +1030 Subject: [PATCH 04/16] update tiles-simple.html --- _includes/tiles-simple.html | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/_includes/tiles-simple.html b/_includes/tiles-simple.html index e9ef7db..4c521c1 100644 --- a/_includes/tiles-simple.html +++ b/_includes/tiles-simple.html @@ -5,13 +5,13 @@ {%- endif %}

-
+
{%- for item in tiles %} {%- if item.title %}
-

{{ item.title }}

+

{{ item.title }}

@@ -26,30 +26,32 @@ .simple-tile-link { text-decoration: none; - color: inherit; + color: #012152; display: flex; } .simple-tile-item { - border: 1px solid #e0e0e0; border-radius: 12px; padding: 25px; transition: all 0.3s ease; - background: #012152;; + background: #f0f3fa; width: 100%; display: flex; flex-direction: column; justify-content: space-between; + color: #012152; } .simple-tile-item:hover { transform: translateY(-4px); box-shadow: 0 8px 25px rgba(0,0,0,0.1); border-color: #012152; + background: #012152; + color: #fff; } .simple-tile-title { - color: #ffffff; + color: inherit; font-weight: 400; margin-top: 0px; margin-bottom: 0px; From 537630a9b9fae3bcc612a179f7044c1b174c2541 Mon Sep 17 00:00:00 2001 From: Johan Gustafsson Date: Tue, 16 Dec 2025 17:44:41 +1030 Subject: [PATCH 05/16] update main.yml --- _data/sidebars/main.yml | 34 ++++++++++++++-------------------- 1 file changed, 14 insertions(+), 20 deletions(-) diff --git a/_data/sidebars/main.yml b/_data/sidebars/main.yml index 1c5965c..540a44b 100644 --- a/_data/sidebars/main.yml +++ b/_data/sidebars/main.yml @@ -3,29 +3,23 @@ subitems: url: /index - title: Join the conversation url: /join_conversation - - title: Activities - url: /activities - - title: How-to Guides - url: /guides - - title: External resources - subitems: - - title: Servers - url: /external_servers - - title: Databases - url: /external_databases - - title: Guides - url: /external_guides - - title: Visualization - url: /external_viz - - title: Videos - url: /external_videos - - title: Communities - url: /external_communities - title: Contributing url: /contributing + - title: Activities + url: /activities - title: Contributors url: /contributors + - title: Community library + subitems: + - title: How-to Guides + url: /guides + - title: Community workflows + url: /workflows + - title: External library + subitems: + - title: Software + url: /software + - title: Resources + url: /library - title: Events url: /events - - title: News - url: /news From 2c4bdbb6a0b6531546b2df8fbb4b81b833c629d4 Mon Sep 17 00:00:00 2001 From: Johan Gustafsson Date: Tue, 16 Dec 2025 17:46:02 +1030 Subject: [PATCH 06/16] update pages --- pages/activities/abacbs_workshop.md | 4 ++-- pages/activities/batch_structure_prediction.md | 4 ++-- pages/activities/bindcraft_access.md | 4 ++-- pages/activities/infrastructure_roadmap.md | 4 ++-- pages/activities/nci_data_collections.md | 4 ++-- pages/activities/nci_ood_proteinfold.md | 4 ++-- pages/activities/nfcore_proteinfold.md | 4 ++-- pages/activities/nfcore_proteinfold_pawsey.md | 4 ++-- pages/activities/protein_design_seminars.md | 4 ++-- pages/guides/protein_struct_pred/AlphaFold2_how_to_guide.md | 2 +- pages/guides/protein_struct_pred/best-practices-alphafold.md | 2 +- 11 files changed, 20 insertions(+), 20 deletions(-) diff --git a/pages/activities/abacbs_workshop.md b/pages/activities/abacbs_workshop.md index 363de8b..b421807 100644 --- a/pages/activities/abacbs_workshop.md +++ b/pages/activities/abacbs_workshop.md @@ -1,9 +1,9 @@ --- title: ABACBS 2025 workshop description: Leveraging peak Australian compute to enable workflows for predictive structural biology at scale -type: activity_in_progress +type: Completed_activity roadmap: A computational structural biology training program (Roadmap D2) -roadmap_category: D2 +roadmap_category: Training contributors: [Johan Gustafsson, Ziad Al-Bkhetan, Thomas Litfin, Sarah Beecroft, Georgie Samaha, Mitchell O'Brien, Farah Zaib Khan, Sehrish Kanwal] toc: false redirect_from: /website/abacbs25_workshop diff --git a/pages/activities/batch_structure_prediction.md b/pages/activities/batch_structure_prediction.md index d52acf1..2e9c437 100644 --- a/pages/activities/batch_structure_prediction.md +++ b/pages/activities/batch_structure_prediction.md @@ -1,9 +1,9 @@ --- title: Batch Structure Prediction Workflows description: Developing optimized batch workflows for structure prediction. -type: activity_in_progress +type: Activity_in_progress roadmap: A shared platform, or platforms (Roadmap D3A) -roadmap_category: D3 +roadmap_category: Shared-platform contributors: [Ziad Al-Bkhetan, Mitchell O'Brien, Joshua Storm Caley, Keiran Rowell, Cameron Hyde, Thomas Litfin] toc: false redirect_from: /website/batch_structure_prediction diff --git a/pages/activities/bindcraft_access.md b/pages/activities/bindcraft_access.md index c077694..8f8718c 100644 --- a/pages/activities/bindcraft_access.md +++ b/pages/activities/bindcraft_access.md @@ -1,9 +1,9 @@ --- title: Community Access to BindCraft description: Increasing community access to an end-to-end solution for protein binder design. -type: activity_in_progress +type: Activity_in_progress roadmap: A shared platform, or platforms (Roadmap D3Ac) -roadmap_category: D3 +roadmap_category: Shared-platform contributors: [Ziad Al-Bkhetan, Thomas Litfin] toc: false redirect_from: /website/bindcraft_access diff --git a/pages/activities/infrastructure_roadmap.md b/pages/activities/infrastructure_roadmap.md index bc61b5d..d8f7efe 100644 --- a/pages/activities/infrastructure_roadmap.md +++ b/pages/activities/infrastructure_roadmap.md @@ -1,10 +1,10 @@ --- title: Infrastructure Roadmap description: Draft and publish an Australian infrastructure roadmap for addressing computational challenges facing structural biology. -type: activity_completed +type: Completed_activity contributors: [Kate Michie, Thomas Litfin, Sarah Beecroft, Brett Collins, Matthew Downton, Rhys Grinter, Gavin Knott, Johan Gustafsson, Charlie Bond, Joel Mackay, Michael Parker, Craig Morton, BegoƱa Heras, Fiona Whelan] roadmap: Community co-authored document -roadmap_category: none +roadmap_category: No-category toc: false redirect_from: /website/infrastructure_roadmap --- diff --git a/pages/activities/nci_data_collections.md b/pages/activities/nci_data_collections.md index ec2c51b..7232557 100644 --- a/pages/activities/nci_data_collections.md +++ b/pages/activities/nci_data_collections.md @@ -1,9 +1,9 @@ --- title: NCI Data Collection description: Create a stable release of up-to-date reference data (with DOI) at the NCI. -type: activity_in_progress +type: Activity_in_progress roadmap: A shared platform, or platforms (Roadmap D3F) -roadmap_category: D3 +roadmap_category: Shared-platform contributors: [Matthew Downton, Kisaru Liyanage, Wenjing Xue, Joshua Storm Caley, Thomas Litfin] toc: false redirect_from: /website/nci_data_collections diff --git a/pages/activities/nci_ood_proteinfold.md b/pages/activities/nci_ood_proteinfold.md index 8c8238d..d76aea6 100644 --- a/pages/activities/nci_ood_proteinfold.md +++ b/pages/activities/nci_ood_proteinfold.md @@ -1,9 +1,9 @@ --- title: OpenOnDemand GUI ProteinFold app description: Create and adapt a pilot ProteinFold app for OpenOnDemand. -type: activity_in_progress +type: Activity_in_progress roadmap: A shared platform, or platforms (Roadmap D3Ac) -roadmap_category: D3 +roadmap_category: Shared-platform contributors: [Matthew Downton, Kisaru Liyanage, Wenjing Xue, Joshua Storm Caley, Keiran Rowell, Thomas Litfin] toc: false redirect_from: /website/nci_ood_proteinfold diff --git a/pages/activities/nfcore_proteinfold.md b/pages/activities/nfcore_proteinfold.md index f7c8c11..9c7fe0b 100644 --- a/pages/activities/nfcore_proteinfold.md +++ b/pages/activities/nfcore_proteinfold.md @@ -1,9 +1,9 @@ --- title: nf-core ProteinFold v2.0 Release description: Contribute towards, and locally deploy, v2.0 of nf-core ProteinFold workflow. -type: activity_in_progress +type: Activity_in_progress roadmap: A shared platform, or platforms (Roadmap D3A) -roadmap_category: D3 +roadmap_category: Shared-platform contributors: [Ziad Al-Bkhetan, Mitchell O'Brien, Joshua Storm Caley, Keiran Rowell, Thomas Litfin] toc: false redirect_from: /website/nfcore_proteinfold diff --git a/pages/activities/nfcore_proteinfold_pawsey.md b/pages/activities/nfcore_proteinfold_pawsey.md index 633513d..6318f4f 100644 --- a/pages/activities/nfcore_proteinfold_pawsey.md +++ b/pages/activities/nfcore_proteinfold_pawsey.md @@ -1,9 +1,9 @@ --- title: nf-core ProteinFold at Pawsey description: Deploy nf-core ProteinFold workflow at Pawsey Supercomputing Research Centre. -type: activity_in_progress +type: Activity_in_progress roadmap: A shared platform, or platforms (Roadmap D3Ab) -roadmap_category: D3 +roadmap_category: Shared-platform contributors: [Sarah Beecroft, Joshua Storm Caley] toc: false redirect_from: /website/nfcore_proteinfold_pawsey diff --git a/pages/activities/protein_design_seminars.md b/pages/activities/protein_design_seminars.md index 45caeff..71f7353 100644 --- a/pages/activities/protein_design_seminars.md +++ b/pages/activities/protein_design_seminars.md @@ -1,9 +1,9 @@ --- title: Protein Design Seminar Series (2025) description: Community members will host a monthly seminar series to share knowledge on protein design strategies. -type: activity_completed +type: Completed_activity roadmap: A computational structural biology training program (Roadmap D2) -roadmap_category: D2 +roadmap_category: Training contributors: [Rhys Grinter, Gavin Knott, Cyntia Taveneau, Josh Hardy, Joel Mackay, Kate Michie, Johan Gustafsson, Melissa Burke] toc: false redirect_from: /website/protein_design_seminars diff --git a/pages/guides/protein_struct_pred/AlphaFold2_how_to_guide.md b/pages/guides/protein_struct_pred/AlphaFold2_how_to_guide.md index fb91c74..896d47f 100644 --- a/pages/guides/protein_struct_pred/AlphaFold2_how_to_guide.md +++ b/pages/guides/protein_struct_pred/AlphaFold2_how_to_guide.md @@ -1,6 +1,6 @@ --- title: AlphaFold2 How-to Guide -type: guide +type: Guide contributors: [Michael Healy] description: Practical guide for working with real AlphaFold data affiliations: [University of Queensland] diff --git a/pages/guides/protein_struct_pred/best-practices-alphafold.md b/pages/guides/protein_struct_pred/best-practices-alphafold.md index 6b9e3da..82b7b11 100644 --- a/pages/guides/protein_struct_pred/best-practices-alphafold.md +++ b/pages/guides/protein_struct_pred/best-practices-alphafold.md @@ -1,7 +1,7 @@ --- title: Best practices for presenting and sharing AlphaFold models in a paper description: Have you recently started using AlphaFold and want to include its structural predictions in your paper, but don't know the best way to do so? In this short guide, we clarify what you should include so that your work is clear and reproducible for the reader. -type: guide +type: Guide contributors: [James Lingford] affiliations: [Monash University] toc: true From 0caed0171f468fc33e9572e5e578e3a4ad148312 Mon Sep 17 00:00:00 2001 From: Johan Gustafsson Date: Tue, 16 Dec 2025 17:54:03 +1030 Subject: [PATCH 07/16] update scss --- _sass/_bootstrap_variables.scss | 7 ++++++- _sass/_custom_classes.scss | 12 +++++++++++- _sass/_custom_variables.scss | 9 +++++---- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/_sass/_bootstrap_variables.scss b/_sass/_bootstrap_variables.scss index 56055fc..786bc07 100644 --- a/_sass/_bootstrap_variables.scss +++ b/_sass/_bootstrap_variables.scss @@ -1,11 +1,16 @@ /*-----Theme colors-----*/ $primary: #012152; $secondary: #6c757d; -$light: #f8f9fa; +$light: #f0f3fa; $dark: #212529; +$white: #fff; /*-----Custom values for Bootstrap variables-----*/ $link-decoration: none; $navbar-light-hover-color: $light; +$body-bg: $light; +$card-bg: $white; +$border-radius: 20px; +$link-color: blue; // Find out which bootstrap variables you can use to fine tune the styling of your website here: https://github.com/ELIXIR-Belgium/elixir-toolkit-theme/blob/main/_sass/bootstrap/_variables.scss diff --git a/_sass/_custom_classes.scss b/_sass/_custom_classes.scss index c0afd33..a6c4c8a 100644 --- a/_sass/_custom_classes.scss +++ b/_sass/_custom_classes.scss @@ -60,4 +60,14 @@ color: $primary; padding: 7px 11px; } -} \ No newline at end of file +} + +#main { + background-color: $white; + border-radius: $border-radius; + padding: $spacer * 3; + margin-bottom: $spacer * 3; + #content { + margin-bottom: 0 !important; + } +} diff --git a/_sass/_custom_variables.scss b/_sass/_custom_variables.scss index 541e50e..ed38b4e 100644 --- a/_sass/_custom_variables.scss +++ b/_sass/_custom_variables.scss @@ -5,7 +5,8 @@ $topnav-bg: $primary; $topnav-title-color: $white; /*-----Section navigation tiles-----*/ -$nav-card-bg: $primary; -$nav-card-color: $white; -$nav-card-bg-hover: $light; -$nav-card-color-hover: $primary; \ No newline at end of file + +$nav-card-bg: $light; +$nav-card-color: $primary; +$nav-card-bg-hover: $primary; +$nav-card-color-hover: $white; \ No newline at end of file From fbf2cfe01602d9f1146d9f70c3d45daf9a82fc64 Mon Sep 17 00:00:00 2001 From: Johan Gustafsson Date: Tue, 16 Dec 2025 17:59:09 +1030 Subject: [PATCH 08/16] update activities.md --- pages/activities.md | 60 ++++++++++++++++++--------------------------- 1 file changed, 24 insertions(+), 36 deletions(-) diff --git a/pages/activities.md b/pages/activities.md index 5fa5670..2bbb711 100644 --- a/pages/activities.md +++ b/pages/activities.md @@ -6,55 +6,42 @@ toc: false redirect_from: /website/activities --- -
-
-

Roadmap deliverable 1: An Australian Structural Biology community space capable of fostering collaboration and knowledge sharing

+Community activities are organised based on the four major deliverables described in the [Australian Structural Biology Deep-Learning Infrastructure Roadmap](/infrastructure_roadmap). + +
+
+

1. Community space: deliverable 1 is an Australian Structural Biology community space (e.g. this website) that is capable of fostering collaboration and knowledge sharing.

-
-
-

Roadmap deliverable 2: A computational structural biology training program, developed in conjunction with the community

+ +
+
+

2. Training program: deliverable 2 is a computational structural biology training program, developed in conjunction with the community.

-
-
-

Roadmap deliverable 3: A shared platform, or platforms, for computational structural biology

+ +
+
+

3. Shared platform(s): deliverable 3 is a shared platform, or platforms, for computational structural biology.

-
-
-

Roadmap deliverable 4: Alignment, adoption and contribution to global best-practice efforts

+ +
+
+

4. Global connections: deliverable 4 is the alignment, adoption and contribution to global best-practice efforts.

+ ## In progress -{% include section-navigation-tiles_mod.html type ="activity_in_progress" %} +{% include section-navigation-tiles_mod.html type ="Activity_in_progress" %} ## Completed -{% include section-navigation-tiles_mod.html type ="activity_completed" %} +{% include section-navigation-tiles_mod.html type ="Completed_activity" %} From d660a2fefcd8bf3a4d1289d1ca77bbf680c1550e Mon Sep 17 00:00:00 2001 From: Johan Gustafsson Date: Tue, 16 Dec 2025 18:00:59 +1030 Subject: [PATCH 09/16] add to events.yml --- _data/events.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/_data/events.yml b/_data/events.yml index 6ff9a35..4a7634a 100644 --- a/_data/events.yml +++ b/_data/events.yml @@ -70,6 +70,12 @@ description: "Click to visit the rolling agenda and see details on how to join the next meeting." url: https://docs.google.com/document/d/1miRyOOOW7HeDsCvzJwVEOhaAzPBve8od9WUvsAsFfcw/edit#heading=h.owmugrvs22hi location: Online +- name: 51st Lorne Conference on Protein Structure and Function + startDate: 2026-02-08 + endDate: 2026-02-12 + description: "Click to visit the conference website." + url: https://www.lorneproteins.org/ + location: Online - name: ABACBS 2025 workshop startDate: 2025-11-27 endDate: 2025-11-27 From f02314ada16765db81ffbe5afa4e6e923f1860da Mon Sep 17 00:00:00 2001 From: Johan Gustafsson Date: Tue, 16 Dec 2025 18:06:15 +1030 Subject: [PATCH 10/16] update guides.md and join_conversation.md --- pages/guides.md | 3 +-- pages/join_conversation.md | 20 +++++++++++++------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/pages/guides.md b/pages/guides.md index 9c70bc1..c05c80d 100644 --- a/pages/guides.md +++ b/pages/guides.md @@ -2,11 +2,10 @@ title: How-to Guides description: How-to Guides for the use of deep learning methods in structural biology. page_id: guides -toc: false #type: resources datatable: true toc: false redirect_from: /website/guides --- -{% include section-navigation-tiles.html type="guide"%} +{% include section-navigation-tiles.html type="Guide"%} diff --git a/pages/join_conversation.md b/pages/join_conversation.md index 838c088..b5bb61f 100644 --- a/pages/join_conversation.md +++ b/pages/join_conversation.md @@ -6,22 +6,28 @@ toc: false redirect_from: /website/join_conversation tiles: - - title: "Quarterly community meetings" + - title: "Attend the regular community meetings" url: https://docs.google.com/document/d/1miRyOOOW7HeDsCvzJwVEOhaAzPBve8od9WUvsAsFfcw/edit#heading=h.owmugrvs22hi - - title: "Events" - url: /events + - title: "Attend events" + url: https://australian-structural-biology-computing.github.io/events + - title: "Join the mailing list" + url: https://australian-structural-biology-computing.github.io/join_conversation#mailing-list --- -If you would like to, there are multiple ways to join the conversation: -{% include tiles-simple.html col = "2" target = "tiles" %} +### Ways to join -
+If you would like to, there are multiple ways to join the conversation. + +{% include tiles-simple.html col = "3" target = "tiles" %} -If you join the mailing list (below), you will receive community updates and automatic community meeting invitations. ### Mailing list +If you join the mailing list (subscribe below), you will receive +community updates and notifications, including information +about scheduled community meetings and events. +
\ No newline at end of file From 6291595808688eef6d0921ccdd9934af6cc5ed6d Mon Sep 17 00:00:00 2001 From: Johan Gustafsson Date: Tue, 16 Dec 2025 18:20:02 +1030 Subject: [PATCH 14/16] add workflows.md --- pages/workflows.md | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 pages/workflows.md diff --git a/pages/workflows.md b/pages/workflows.md new file mode 100644 index 0000000..c9ad7b8 --- /dev/null +++ b/pages/workflows.md @@ -0,0 +1,6 @@ +--- +title: Computational workflows for structural biology +page_id: workflows +toc: false +--- + From d8d1399de5d74ccf06ee735b849605d8c0075a2d Mon Sep 17 00:00:00 2001 From: Johan Gustafsson Date: Tue, 16 Dec 2025 18:28:14 +1030 Subject: [PATCH 15/16] add resource-table-category-new.html --- _includes/resource-table-category-new.html | 42 ++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 _includes/resource-table-category-new.html diff --git a/_includes/resource-table-category-new.html b/_includes/resource-table-category-new.html new file mode 100644 index 0000000..0c6adfe --- /dev/null +++ b/_includes/resource-table-category-new.html @@ -0,0 +1,42 @@ +{%- if include.tag %} +{%- assign tools = site.data.tool_and_resource_list | add_related_pages | where:"related_pages", include.tag | sort_natural: "name" %} +{%- else %} +{%- assign tools = site.data.tool_and_resource_list | add_related_pages | sort_natural: "name" %} +{%- endif %} +{%- assign country_pages = site.pages | where_exp: "item", "item.search_exclude != true" | where_exp:"item","item.national_resources != nil" %} +{%- unless tools.size == 0 or tools == nil %} +Skip tool table +
+ + + + + + + + + + {%- for tool in tools %} + + {% if tool.URL %} + + {%- else %} + + {%- endif %} + + + + {%- endfor %} + +
ResourceDescriptionType
{{tool.Title}}{{tool.Title}}{{tool.Description}} + {% if tool.Type %} + {%- for type in tool.Type %} + + {%- endfor %} + {%- endif %} +
+
+{%- endunless %} +
\ No newline at end of file From 3a63916943e8c166f4144cedb31aea361d20e2c9 Mon Sep 17 00:00:00 2001 From: tlitfin Date: Wed, 17 Dec 2025 19:56:59 +1100 Subject: [PATCH 16/16] update resource themes and fix minor bugs --- _data/sidebars/main.yml | 16 +- _data/tool_and_resource_list.yml | 297 +++++++++++++---------- _includes/events.html | 8 - _includes/resource-table-category.html | 22 +- index.md | 2 - pages/join_conversation.md | 4 +- pages/resources/external_communities.md | 10 - pages/resources/external_databases.md | 10 - pages/resources/external_guides.md | 10 - pages/resources/external_servers.md | 10 - pages/resources/external_videos.md | 10 - pages/resources/external_viz.md | 10 - pages/resources/infrastructure.md | 10 + pages/resources/molecular_dynamics.md | 10 + pages/resources/protein_design.md | 10 + pages/resources/protein_search.md | 10 + pages/resources/structure_prediction.md | 10 + pages/workflows.md | 1 + scripts/guides_table_conversion-local.py | 46 ++++ 19 files changed, 294 insertions(+), 212 deletions(-) delete mode 100644 pages/resources/external_communities.md delete mode 100644 pages/resources/external_databases.md delete mode 100644 pages/resources/external_guides.md delete mode 100644 pages/resources/external_servers.md delete mode 100644 pages/resources/external_videos.md delete mode 100644 pages/resources/external_viz.md create mode 100644 pages/resources/infrastructure.md create mode 100644 pages/resources/molecular_dynamics.md create mode 100644 pages/resources/protein_design.md create mode 100644 pages/resources/protein_search.md create mode 100644 pages/resources/structure_prediction.md create mode 100644 scripts/guides_table_conversion-local.py diff --git a/_data/sidebars/main.yml b/_data/sidebars/main.yml index 540a44b..32f377f 100644 --- a/_data/sidebars/main.yml +++ b/_data/sidebars/main.yml @@ -15,11 +15,17 @@ subitems: url: /guides - title: Community workflows url: /workflows - - title: External library + - title: External resources subitems: - - title: Software - url: /software - - title: Resources - url: /library + - title: Structure Prediction + url: /structure_prediction + - title: Protein Design + url: /protein_design + - title: Protein Search + url: /protein_search + - title: Molecular Dynamics + url: /molecular_dynamics + - title: Infrastructure + url: /infrastructure - title: Events url: /events diff --git a/_data/tool_and_resource_list.yml b/_data/tool_and_resource_list.yml index 776894d..e49304c 100644 --- a/_data/tool_and_resource_list.yml +++ b/_data/tool_and_resource_list.yml @@ -1,261 +1,312 @@ -- Description: Access a full version of AlphaFold2 supported by the Australian Biocommons +- Description: Free AlphaFold2 service supported by the Australian Biocommons + Tag: Structure Prediction Title: Australian AlphaFold Service Type: - - Webservers and computing resources + - Service URL: https://www.biocommons.org.au/alphafold -- Description: Free access to a high-performance computing network through a simple - web interface for Australian Researchers - Title: Galaxy Australia - Type: - - Webservers and computing resources - URL: https://usegalaxy.org.au -- Description: Structure prediction notebooks available to run for free on Google - Colab platform +- Description: Free structure prediction notebooks available to run on Google Colab + platform + Tag: Structure Prediction Title: ColabFold Notebooks Type: - - Webservers and computing resources + - Service URL: https://github.com/sokrypton/ColabFold?tab=readme-ov-file#making-protein-folding-accessible-to-all-via-google-colab -- Description: Multiple Structure Alignment in a browser +- Description: Structure Alignment in a browser + Tag: Search Title: FoldSeek web server Type: - - Webservers and computing resources + - Service URL: https://search.foldseek.com/ - Description: Freemium service for deep learning structural biology software + Tag: Structure Prediction Title: Tamarind Bio Type: - - Webservers and computing resources + - Service URL: https://www.tamarind.bio/ - Description: Freemium service for deep learning structural biology software + Tag: Protein Design + Title: Tamarind Bio + Type: + - Service + URL: https://www.tamarind.bio/ +- Description: Freemium service for deep learning structural biology software + Tag: Structure Prediction Title: NeuroSnap Type: - - Webservers and computing resources + - Service URL: https://neurosnap.ai/ -- Description: AlphaFold3 provided by Google's webserver to their compute infrastructure. - NON-COMMERICAL USE! +- Description: Freemium service for deep learning structural biology software + Tag: Protein Design + Title: NeuroSnap + Type: + - Service + URL: https://neurosnap.ai/ +- Description: Free Google service to run AlphaFold3. NON-COMMERICAL USE! + Tag: Structure Prediction Title: AlphaFold3 Server Type: - - Webservers and computing resources + - Service URL: https://alphafoldserver.com/about - Description: Peak academic Australian Research Computing Facility + Tag: Infrastructure Title: National Computing Infrastructure Type: - - Webservers and computing resources + - Infrastructure URL: https://nci.org.au/users/how-access-nci - Description: Peak academic Australian Research Computing Facility + Tag: Infrastructure Title: Pawsey Supercomputing Centre Type: - - Webservers and computing resources + - Infrastructure URL: https://pawsey.org.au/support/ -- Description: 'Curated search list of computational biology tools around the world ' - Title: BioTools - Type: - - Webservers and computing resources - URL: https://bio.tools/ -- Description: NVIDIA web server and API for running protein design and structure - prediction software (e.g. RFDiffusion, ESMFold, etc.) - Title: NVIDIA Biology - Type: - - Webservers and computing resources - URL: https://build.nvidia.com/explore/biology?ncid=em-prod-179751 -- Description: The best way to get up to competency with using an interpreting AlphaFold. - Should be done by all grad students using AF +- Description: Australian BioCommons Leadership Share (ABLeS) + Tag: Infrastructure + Title: ABLeS + Type: + - Infrastructure + URL: https://www.biocommons.org.au/ables +- Description: Free access to a high-performance computing network through a simple + web interface for Australian Researchers + Tag: Infrastructure + Title: Galaxy Australia + Type: + - Infrastructure + URL: https://usegalaxy.org.au +- Description: EBI Guide to using AlphaFold and interpreting model outputs + Tag: Structure Prediction Title: EMBL-EBI AlphaFold Guide Type: - - Computational structural bio guides and tutorials + - Technical Guide URL: https://www.ebi.ac.uk/training/online/courses/alphafold/ -- Description: A visual walkthrough of the AlphaFold3 architecture, with more details - and diagrams than you were probably looking for. +- Description: A visual walkthrough of the AlphaFold3 architecture + Tag: Structure Prediction Title: AlphaFold3 explainer Type: - - Computational structural bio guides and tutorials + - Technical Guide URL: https://elanapearl.github.io/blog/2024/the-illustrated-alphafold/ - Description: Lists state-of-the-art and emerging tools for Biomolecular Structure Prediction. + Tag: Structure Prediction Title: Biomolecular Structure Prediction Tools Type: - - Computational structural bio guides and tutorials + - Tool Registry URL: https://abeebyekeen.com/biomodes-biomolecular-structure-prediction/ -- Description: User guide for running MMseqs from the command line - Title: MMseqs2 tutorial - Type: - - Computational structural bio guides and tutorials - URL: https://github.com/soedinglab/MMseqs2/wiki/Tutorials -- Description: User guide for running Hiden Markov Models of protein sequences on - the command line - Title: HH-suite tutorial - Type: - - Computational structural bio guides and tutorials - URL: https://github.com/soedinglab/hh-suite/wiki -- Description: User guide for running HMMER on the command line - Title: HMMER tutorial - Type: - - Computational structural bio guides and tutorials - URL: http://hmmer.org/documentation.html -- Description: Walkthrough guide on running RFDiffusion - Title: RFDiffusion - Type: - - Computational structural bio guides and tutorials - URL: https://github.com/RosettaCommons/RFdiffusion -- Description: User guide on protein design with Rosetta - Title: Rosetta tutorial - Type: - - Computational structural bio guides and tutorials - URL: https://docs.rosettacommons.org/docs/latest/Home -- Description: Collection of how-to guides for protein design - Title: Pyrosetta tutorials - Type: - - Computational structural bio guides and tutorials - URL: https://github.com/ProteinDesignLab/protein-design-tutorials -- Description: Google Colab notebooks for running protein design - Title: ColabDesign notebooks - Type: - - Computational structural bio guides and tutorials - URL: https://github.com/sokrypton/ColabDesign +- Description: Lists state-of-the-art and emerging tools for Biomolecular Structure + Prediction. + Tag: Protein Design + Title: Biomolecular Structure Prediction Tools + Type: + - Tool Registry + URL: https://abeebyekeen.com/biomodes-biomolecular-structure-prediction/ +- Description: A collection of software for protein structure prediction and design, + with a focus on new deep learning and transformer based tools. + Tag: Structure Prediction + Title: Awesome Protein Structure Prediction and Design Software List + Type: + - Tool Registry + URL: https://github.com/pansapiens/awesome-protein-design-software +- Description: A collection of software for protein structure prediction and design, + with a focus on new deep learning and transformer based tools. + Tag: Protein Design + Title: Awesome Protein Structure Prediction and Design Software List + Type: + - Tool Registry + URL: https://github.com/pansapiens/awesome-protein-design-software - Description: Molecular Dynamics simulation tutorials + Tag: Molecular Dynamics Title: GROMACS tutorials Type: - - Computational structural bio guides and tutorials + - Tutorial URL: http://www.mdtutorials.com/gmx/ - Description: Molecular Dynamics simulation tutorials + Tag: Molecular Dynamics Title: GROMACS tutorials Type: - - Computational structural bio guides and tutorials + - Tutorial URL: https://gromacstutorials.github.io/ - Description: Molecular Dynamics simulation tutorials + Tag: Molecular Dynamics Title: LAMMPS tutorials Type: - - Computational structural bio guides and tutorials + - Tutorial URL: https://lammpstutorials.github.io/ - Description: Molecular Dynamics simulation tutorials + Tag: Molecular Dynamics Title: Amber tutorial Type: - - Computational structural bio guides and tutorials + - Tutorial URL: https://ambermd.org/tutorials/ -- Description: Short how-to guide on using BLAST from the command line - Title: BLAST tutorial - Type: - - Computational structural bio guides and tutorials - URL: https://docs.tinybio.cloud/docs/blast-tutorial -- Description: Three short tutorials for running ColabFold - Title: ColabFold tutorial - Type: - - Computational structural bio guides and tutorials - URL: https://protocolexchange.researchsquare.com/article/pex-2490/v1 - Description: Covers basics of ssh and jupyter notebooks on a HPC + Tag: Structure Prediction Title: Running ColabFold notebook on a HPC Type: - - Computational structural bio guides and tutorials + - Tutorial URL: https://www.jameslingford.com/blog/colabfold-hpc-ssh-howto/ - Description: Protein visualisation guides for UCSF ChimeraX + Tag: Visualization Title: ChimeraX recipes Type: - - Protein viz guides and tutorials + - Tutorial URL: https://rbvi.github.io/chimerax-recipes/ - Description: ChimeraX how-to + Tag: Visualization Title: ChimeraX cavity visualisation Type: - - Protein viz guides and tutorials + - Tutorial URL: https://www.jameslingford.com/blog/chimerax-cavity-surfaces/ - Description: ChimeraX how-to + Tag: Visualization Title: ChimeraX outline selected area Type: - - Protein viz guides and tutorials + - Tutorial URL: https://www.jameslingford.com/blog/chimerax-outlines/ - Description: ~1hr talks by method developers on recent breakthroughs in protein modelling + Tag: Structure Prediction Title: Boston Protein Design and Modeling Club Type: - - YouTube talks and tutorials + - Presentation URL: https://www.youtube.com/@bpdmc -- Description: 100 second videos on how to use various protein tools. Guides are with - their clean proprietary interface +- Description: ~1hr talks by method developers on recent breakthroughs in protein + modelling + Tag: Protein Design + Title: Boston Protein Design and Modeling Club + Type: + - Presentation + URL: https://www.youtube.com/@bpdmc +- Description: 100 second videos on how to use various protein tools. + Tag: Protein Design Title: NeuroSnap protein design videos Type: - - YouTube talks and tutorials + - Presentation URL: https://www.youtube.com/@NeurosnapInc/videos - Description: Talks focused on CryoEM but also computational structural biology and protein design + Tag: CryoEM Title: Structural Biology Grid Consortium Talk Series Type: - - YouTube talks and tutorials + - Presentation URL: https://www.youtube.com/@SBGridTV/videos - Description: Overview of the AlphaFold pipeline by the New England Journal of Medicine - Title: AlphaFold 5 minute explainer - Medical Journal + Tag: Structure Prediction + Title: AlphaFold 5 minute explainer Type: - - YouTube talks and tutorials + - Presentation URL: https://www.youtube.com/watch?v=7q8Uw3rmXyE -- Description: Detailed and lucid talk on understanding the machine learning concepts - behind AI protein structure prediction methods - Title: ' AlphaFold2, OpenFold, Protein Language Models and Beyond | Nazim Bouatta ' +- Description: Detailed description of the machine learning concepts behind AI protein + structure prediction methods + Tag: Structure Prediction + Title: AlphaFold2, OpenFold, Protein Language Models and Beyond Type: - - YouTube talks and tutorials + - Presentation URL: https://youtu.be/ON1ltprZKPo?si=WkZ3Y8eZfVusWUvo - Description: Blender tutorials for protein animations + Tag: Visualization Title: Brady Johnston Blender tutorials Type: - - YouTube talks and tutorials + - Presentation URL: https://www.youtube.com/@BradyJohnston - Description: Blender tutorials for protein animations + Tag: Visualization Title: Luminous Lab Blender tutorials Type: - - YouTube talks and tutorials + - Presentation URL: https://www.youtube.com/@LuminousLab - Description: Playlist of tutorials on how to use ChimeraX with command lines + Tag: Visualization Title: ChimeraX tutorials Type: - - YouTube talks and tutorials + - Presentation URL: https://youtube.com/playlist?list=PL4eF1KHNgDfIYSKCS3_S0PTRYtYTV9Myi&si=gBWxBbzifFmF32ln - Description: Talks focused on molecular dynamics simulations and computational chemistry + Tag: Molecular Dynamics Title: European Centre of Excellence for Computational Biomolecular Research Type: - - YouTube talks and tutorials + - Presentation URL: https://youtube.com/@bioexcelcoe?si=5jSzsDzpBKwGQThr - Description: European community for structural bioinformatics research + Tag: Structure Prediction + Title: ELIXIR 3D-BioInfo + Type: + - Community + URL: https://elixir-europe.org/communities/3d-bioinfo +- Description: European community for structural bioinformatics research + Tag: Protein Design Title: ELIXIR 3D-BioInfo Type: - - Online communities + - Community URL: https://elixir-europe.org/communities/3d-bioinfo - Description: A discord channel for asking questions related to the various Colab documents that are available + Tag: Structure Prediction Title: ColabBio Discord Type: - - Online communities + - Community + URL: https://discord.gg/M8BCm5WV +- Description: A discord channel for asking questions related to the various Colab + documents that are available + Tag: Protein Design + Title: ColabBio Discord + Type: + - Community URL: https://discord.gg/M8BCm5WV - Description: A slack channel to discuss developments of Boltz + Tag: Structure Prediction Title: Boltz Slack Type: - - Online communities + - Community URL: https://join.slack.com/t/boltz-community/shared_invite/zt-34qg8uink-V1LGdRRUf3avAUVaRvv93w -- Description: 'Social media posting platform ' - Title: Bluesky - Type: - - Online communities - URL: https://bsky.app/ -- Description: 'Social media posting platform ' - Title: Mastodon +- Description: '200 million AF2 predicted protein structures, with AlphaMissense etc + included ' + Tag: Structure Prediction + Title: AlphaFold Protein Structure database Type: - - Online communities - URL: https://joinmastodon.org/ + - Reference database + URL: https://alphafold.ebi.ac.uk/ - Description: '200 million AF2 predicted protein structures, with AlphaMissense etc included ' + Tag: Search Title: AlphaFold Protein Structure database Type: - - Reference databases + - Reference database URL: https://alphafold.ebi.ac.uk/ - Description: 770 million ESMFold predicted structures -- much faster calculations as the don't relying on explicity co-evolutionary multiple sequence alignments + Tag: Structure Prediction Title: Evolutionary Scale Modelling Atlas of structures Type: - - Reference databases + - Reference database URL: https://esmatlas.com/ +- Description: 770 million ESMFold predicted structures -- much faster calculations + as the don't relying on explicity co-evolutionary multiple sequence alignments + Tag: Search + Title: Evolutionary Scale Modelling Atlas of structures + Type: + - Reference database + URL: https://esmatlas.com/ +- Description: Database of UniProt and Metagenome predicted structures clustered with + foldseek + Tag: Structure Prediction + Title: AFESM Clusters Database + Type: + - Reference database + URL: https://afesm.foldseek.com/ - Description: Database of UniProt and Metagenome predicted structures clustered with foldseek + Tag: Search Title: AFESM Clusters Database Type: - - Reference databases + - Reference database URL: https://afesm.foldseek.com/ - Description: Database of UniProt predicted structures clustered with foldseek + Tag: Structure Prediction + Title: AFDB Clusters Database + Type: + - Reference database + URL: https://cluster.foldseek.com/ +- Description: Database of UniProt predicted structures clustered with foldseek + Tag: Search Title: AFDB Clusters Database Type: - - Reference databases + - Reference database URL: https://cluster.foldseek.com/ diff --git a/_includes/events.html b/_includes/events.html index afff52b..d557ff0 100644 --- a/_includes/events.html +++ b/_includes/events.html @@ -53,14 +53,6 @@

{{ event.name | escape }}

box-sizing: border-box; } - body { - font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; - background: #ffffff; - color: #1a1a1a; - line-height: 1.4; - min-height: 100vh; - } - .events{ display: block; }; diff --git a/_includes/resource-table-category.html b/_includes/resource-table-category.html index f9484b1..68e22a1 100644 --- a/_includes/resource-table-category.html +++ b/_includes/resource-table-category.html @@ -16,12 +16,13 @@ {%- endif %} Description + Type {%- for tool in tools %} {% assign found = false %} - {% for desc in tool.Type %} + {% for desc in tool.Tag %} {% if desc == include.category %} {% assign found = true %} {% endif %} @@ -33,17 +34,14 @@ {%- else %} {{tool.Title}} {%- endif %} - {{tool.Description}} - {%- if tool.instance_of or tool.how_to_access or instances_tool != 0 and total_county_tools != 0 and include.tag != nil %} - {%- assign linked_tool = site.data.tool_and_resource_list | where:"id", tool.instance_of | first %} -
- {%- if linked_tool %} - {{linked_tool.name}} - {%- endif %} - {%- if tool.how_to_access %} - - {%- endif %} -
+ {{tool.Description}} + + {% if tool.Type %} + {%- for type in tool.Type %} + + {%- endfor %} {%- endif %} diff --git a/index.md b/index.md index f02d452..ee18fa3 100644 --- a/index.md +++ b/index.md @@ -17,8 +17,6 @@ tiles: This website is a virtual meeting place and hub for all users of **computing for structural biology research in Australia**. This is a collective community effort. It can be what we make it! -{% include tiles-simple.html target = "tiles" col = "2" %} - ## Getting involved {% include tiles-simple.html target = "tiles" col = "3" %} diff --git a/pages/join_conversation.md b/pages/join_conversation.md index b5bb61f..bfbaf79 100644 --- a/pages/join_conversation.md +++ b/pages/join_conversation.md @@ -9,9 +9,9 @@ tiles: - title: "Attend the regular community meetings" url: https://docs.google.com/document/d/1miRyOOOW7HeDsCvzJwVEOhaAzPBve8od9WUvsAsFfcw/edit#heading=h.owmugrvs22hi - title: "Attend events" - url: https://australian-structural-biology-computing.github.io/events + url: /events - title: "Join the mailing list" - url: https://australian-structural-biology-computing.github.io/join_conversation#mailing-list + url: /join_conversation#mailing-list --- diff --git a/pages/resources/external_communities.md b/pages/resources/external_communities.md deleted file mode 100644 index 59d9a5f..0000000 --- a/pages/resources/external_communities.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: External Communities -page_id: external_resources_communities -datatable: true -toc: false -redirect_from: /website/external_communities -#type: resources ---- - -{% include resource-table-category.html category="Online communities" %} diff --git a/pages/resources/external_databases.md b/pages/resources/external_databases.md deleted file mode 100644 index 8574f3f..0000000 --- a/pages/resources/external_databases.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: External Databases -page_id: external_resources_dbs -datatable: true -toc: false -redirect_from: /website/external_databases -#type: resources ---- - -{% include resource-table-category.html category="Reference databases" %} diff --git a/pages/resources/external_guides.md b/pages/resources/external_guides.md deleted file mode 100644 index 96d468d..0000000 --- a/pages/resources/external_guides.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: External Guides -page_id: external_resources_guides -datatable: true -toc: false -redirect_from: /website/external_guides -#type: resources ---- - -{% include resource-table-category.html category="Computational structural bio guides and tutorials" %} diff --git a/pages/resources/external_servers.md b/pages/resources/external_servers.md deleted file mode 100644 index a2ff70f..0000000 --- a/pages/resources/external_servers.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: External Resources & Servers -page_id: external_resources_servers -datatable: true -toc: false -redirect_from: /website/external_servers -#type: resources ---- - -{% include resource-table-category.html category="Webservers and computing resources" %} diff --git a/pages/resources/external_videos.md b/pages/resources/external_videos.md deleted file mode 100644 index 55b34be..0000000 --- a/pages/resources/external_videos.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: External Videos -page_id: external_resources_videos -datatable: true -toc: false -redirect_from: /website/external_videos -#type: resources ---- - -{% include resource-table-category.html category="YouTube talks and tutorials" %} diff --git a/pages/resources/external_viz.md b/pages/resources/external_viz.md deleted file mode 100644 index 91dd319..0000000 --- a/pages/resources/external_viz.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: External Visualization -page_id: external_resources_viz -datatable: true -toc: false -redirect_from: /website/external_viz -#type: resources ---- - -{% include resource-table-category.html category="Protein viz guides and tutorials" %} diff --git a/pages/resources/infrastructure.md b/pages/resources/infrastructure.md new file mode 100644 index 0000000..54ded4e --- /dev/null +++ b/pages/resources/infrastructure.md @@ -0,0 +1,10 @@ +--- +title: Infrastructure +page_id: external_resources_infrastructure +datatable: true +toc: false +redirect_from: /website/infrastructure +#type: resources +--- + +{% include resource-table-category.html category="Infrastructure" %} diff --git a/pages/resources/molecular_dynamics.md b/pages/resources/molecular_dynamics.md new file mode 100644 index 0000000..e81933c --- /dev/null +++ b/pages/resources/molecular_dynamics.md @@ -0,0 +1,10 @@ +--- +title: Molecular Dynamics +page_id: external_resources_md +datatable: true +toc: false +redirect_from: /website/molecular_dynamics +#type: resources +--- + +{% include resource-table-category.html category="Molecular Dynamics" %} diff --git a/pages/resources/protein_design.md b/pages/resources/protein_design.md new file mode 100644 index 0000000..b474f10 --- /dev/null +++ b/pages/resources/protein_design.md @@ -0,0 +1,10 @@ +--- +title: Protein Design +page_id: external_resources_protein_design +datatable: true +toc: false +redirect_from: /website/protein_design +#type: resources +--- + +{% include resource-table-category.html category="Protein Design" %} diff --git a/pages/resources/protein_search.md b/pages/resources/protein_search.md new file mode 100644 index 0000000..4234fb8 --- /dev/null +++ b/pages/resources/protein_search.md @@ -0,0 +1,10 @@ +--- +title: Protein Search +page_id: external_resources_search +datatable: true +toc: false +redirect_from: /website/protein_search +#type: resources +--- + +{% include resource-table-category.html category="Search" %} diff --git a/pages/resources/structure_prediction.md b/pages/resources/structure_prediction.md new file mode 100644 index 0000000..583bb2c --- /dev/null +++ b/pages/resources/structure_prediction.md @@ -0,0 +1,10 @@ +--- +title: Structure Prediction +page_id: external_structure_prediction +datatable: true +toc: false +redirect_from: /website/structure_prediction +#type: resources +--- + +{% include resource-table-category.html category="Structure Prediction" %} diff --git a/pages/workflows.md b/pages/workflows.md index c9ad7b8..d4c6f58 100644 --- a/pages/workflows.md +++ b/pages/workflows.md @@ -4,3 +4,4 @@ page_id: workflows toc: false --- +{% include callout.html type="important" content="Community contributions will be available soon." %} diff --git a/scripts/guides_table_conversion-local.py b/scripts/guides_table_conversion-local.py new file mode 100644 index 0000000..bc5146f --- /dev/null +++ b/scripts/guides_table_conversion-local.py @@ -0,0 +1,46 @@ +""" +Adapted from https://github.com/elixir-europe/rdmkit/blob/master/var/conversions.py +Adapted from https://github.com/AustralianBioCommons/human-omics-data-sharing-field-guide/blob/328e84634d10b0df51e798dbf1cc114c7cb26357/var/tools_table_conversion.py +""" + +import pandas as pd +import yaml +import os +from sys import argv + +# --------- Variables --------- + +#google_id = "1OYx8cp4kQ7g3_Z39NDSH5325WvpZKSsjwKBiiRS9Xs8" +#gid = "0" +#url = f"https://docs.google.com/spreadsheets/d/{google_id}/export?format=csv&gid={gid}" +output_path = "_data/tool_and_resource_list.yml" +rootdir = '../pages' +#allowed_registries = ['biotools', 'fairsharing', 'tess', 'wfh-collection', 'wfh', 'doi', 'template'] + +# --------- Converting the table --------- + +print(f"----> Converting GoogleSheets table to {output_path} started.") +resource_table = pd.read_csv(argv[1], dtype={'Title': str, 'Description': str, 'Type': str, 'URL': str, 'Tag': str}) +resource_list = resource_table.to_dict("records") +clean_resource_list = [] +for resource in resource_list: + if not pd.isna(resource['Type']): + category_list = resource['Type'].rsplit(sep=",") + else: + category_list = "" +# registry_dict = {} +# for registry in allowed_registries: +# if not pd.isna(resource[registry]): +# registry_dict[registry] = resource[registry] +# del(resource[registry]) + clean_resource = {k: resource[k] for k in resource if not pd.isna(resource[k])} + clean_resource_list.append(clean_resource) +# clean_resource['registry'] = registry_dict + if category_list != "": + clean_resource['Type'] = category_list + +print(os.getcwd()) +with open(output_path, 'w+') as yaml_file: + documents = yaml.dump(clean_resource_list, yaml_file) + +print("----> YAML is dumped successfully") \ No newline at end of file