From d055e0011c294242f4e981195e37000948d0ab4b Mon Sep 17 00:00:00 2001 From: Samuel Moors Date: Sun, 3 Mar 2024 14:25:19 +0100 Subject: [PATCH 1/5] adding easyconfigs: RFDiffusion-models-1.1.0.eb, RFDiffusion-schedules-1.1.0.eb --- .../RFDiffusion-models-1.1.0.eb | 66 +++++++++++++++++++ .../RFDiffusion-schedules-1.1.0.eb | 34 ++++++++++ 2 files changed, 100 insertions(+) create mode 100644 easybuild/easyconfigs/r/RFDiffusion-models/RFDiffusion-models-1.1.0.eb create mode 100644 easybuild/easyconfigs/r/RFDiffusion-schedules/RFDiffusion-schedules-1.1.0.eb diff --git a/easybuild/easyconfigs/r/RFDiffusion-models/RFDiffusion-models-1.1.0.eb b/easybuild/easyconfigs/r/RFDiffusion-models/RFDiffusion-models-1.1.0.eb new file mode 100644 index 00000000000..7decba1f7b8 --- /dev/null +++ b/easybuild/easyconfigs/r/RFDiffusion-models/RFDiffusion-models-1.1.0.eb @@ -0,0 +1,66 @@ +easyblock = 'Dataset' + +name = 'RFDiffusion-models' +version = '1.1.0' + +homepage = 'https://github.com/RosettaCommons/RFdiffusion' +description = """RFdiffusion is an open source method for structure generation, with or without +conditional information (a motif, target etc). It can perform a whole range of +protein design challenges as we have outlined in the RFdiffusion paper +https://www.biorxiv.org/content/10.1101/2022.12.09.519842v1 +Model files are available in $RFDIFFUSION_MODELS""" + +toolchain = SYSTEM + +_models = [ + ("Base_ckpt.pt", "6f5902ac237024bdd0c176cb93063dc4"), + ("Complex_base_ckpt.pt", "e29311f6f1bf1af907f9ef9f44b8328b"), + ("Complex_Fold_base_ckpt.pt", "60f09a193fb5e5ccdc4980417708dbab"), + ("InpaintSeq_ckpt.pt", "74f51cfb8b440f50d70878e05361d8f0"), + ("InpaintSeq_Fold_ckpt.pt", "76d00716416567174cdb7ca96e208296"), + ("ActiveSite_ckpt.pt", "5532d2e1f3a4738decd58b19d633b3c3"), + ("Base_epoch8_ckpt.pt", "12fc204edeae5b57713c5ad7dcb97d39"), + ("Complex_beta_ckpt.pt", "f572d396fae9206628714fb2ce00f72e"), + ("RF_structure_prediction_weights.pt", "1befcb9b28e2f778f53d47f18b7597fa"), +] + +sources = [ + { + 'source_urls': ['http://files.ipd.uw.edu/pub/RFdiffusion/%s/' % _lver], + 'filename': '%s_v%s' % (_lname, _lver), + 'download_filename': _lname, + 'extract_cmd': 'cp %s ' + _lname, + } for _lname, _lver in _models +] + +checksums = [ + # Base_ckpt.pt + '0fcf7d7c32b4848030aca3a051e6768de194616f96ba6c38186351a33bfc6eca', + # Complex_base_ckpt.pt + '76e4e260aefee3b582bd76b77ab95d2592e64f00c51bf344968ab9239f3250bc', + # Complex_Fold_base_ckpt.pt + '0ac3b4024aea811078cec41482528291d6d7d7084bf8190ec118f54642fb81a1', + # InpaintSeq_ckpt.pt + '3b71b2b954e87d46b75a88ba64e0420fbf27f592604b10b6c3561b8c8ab70ab6', + # InpaintSeq_Fold_ckpt.pt + '51849c9fe64c16a38fe41c75db76abe044e4d3493926f6cfd29a5bde0331b7cc', + # ActiveSite_ckpt.pt + 'beca1f672049161df0bc6a2d2523828f19fd9c8a2b449988e246dde42e7ea986', + # Base_epoch8_ckpt.pt + 'b8e5d57f0b8a8f8cb30779c106b75210b46a914a4d19fb180676ae647f5ae23d', + # Complex_beta_ckpt.pt + '5a0b1cafc23c60b1aabcec1e49391986ac4fd02cc1b6b4cc41714ca9fe882e9e', + # RF_structure_prediction_weights.pt + '6414e9e60b0b01011e5a182def40b4e6de4e137554c887b2916d43566733ed95', +] + +sanity_check_paths = { + 'files': [x for (x, _) in _models], + 'dirs': [], +} + +modextravars = { + 'RFDIFFUSION_MODELS': '%(installdir)s', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RFDiffusion-schedules/RFDiffusion-schedules-1.1.0.eb b/easybuild/easyconfigs/r/RFDiffusion-schedules/RFDiffusion-schedules-1.1.0.eb new file mode 100644 index 00000000000..9f5e4f5b1ce --- /dev/null +++ b/easybuild/easyconfigs/r/RFDiffusion-schedules/RFDiffusion-schedules-1.1.0.eb @@ -0,0 +1,34 @@ +easyblock = 'Dataset' + +name = 'RFDiffusion-schedules' +version = '1.1.0' + +homepage = 'https://github.com/RosettaCommons/RFdiffusion' +description = """RFdiffusion is an open source method for structure generation, with or without +conditional information (a motif, target etc). It can perform a whole range of +protein design challenges as we have outlined in the RFdiffusion paper +https://www.biorxiv.org/content/10.1101/2022.12.09.519842v1 +Schedule files are available in $RFDIFFUSION_SCHEDULES""" + +toolchain = SYSTEM + +sources = [ + { + 'source_urls': ['https://files.ipd.uw.edu/krypton/'], + 'filename': '%(name)s_v%(version)s.zip', + 'download_filename': 'schedules.zip', + 'extract_cmd': 'unzip -j %s', + }, +] + +sanity_check_paths = { + 'files': ['T_%s_omega_1000_min_sigma_0_02_min_b_1_5_max_b_2_5_schedule_linear.pkl' % x + for x in ['25', '50', '100', '150', '200']], + 'dirs': [], +} + +modextravars = { + 'RFDIFFUSION_SCHEDULES': '%(installdir)s', +} + +moduleclass = 'bio' From a7ac0f9b983aabd13fb3579978627cd22dfbd4f8 Mon Sep 17 00:00:00 2001 From: Samuel Moors Date: Mon, 11 Mar 2024 19:33:31 +0100 Subject: [PATCH 2/5] rename to RFdiffusion --- .../RFdiffusion-models-1.1.0.eb} | 2 +- .../RFdiffusion-schedules-1.1.0.eb} | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename easybuild/easyconfigs/r/{RFDiffusion-models/RFDiffusion-models-1.1.0.eb => RFdiffusion-models/RFdiffusion-models-1.1.0.eb} (98%) rename easybuild/easyconfigs/r/{RFDiffusion-schedules/RFDiffusion-schedules-1.1.0.eb => RFdiffusion-schedules/RFdiffusion-schedules-1.1.0.eb} (96%) diff --git a/easybuild/easyconfigs/r/RFDiffusion-models/RFDiffusion-models-1.1.0.eb b/easybuild/easyconfigs/r/RFdiffusion-models/RFdiffusion-models-1.1.0.eb similarity index 98% rename from easybuild/easyconfigs/r/RFDiffusion-models/RFDiffusion-models-1.1.0.eb rename to easybuild/easyconfigs/r/RFdiffusion-models/RFdiffusion-models-1.1.0.eb index 7decba1f7b8..457a3cbaba9 100644 --- a/easybuild/easyconfigs/r/RFDiffusion-models/RFDiffusion-models-1.1.0.eb +++ b/easybuild/easyconfigs/r/RFdiffusion-models/RFdiffusion-models-1.1.0.eb @@ -1,6 +1,6 @@ easyblock = 'Dataset' -name = 'RFDiffusion-models' +name = 'RFdiffusion-models' version = '1.1.0' homepage = 'https://github.com/RosettaCommons/RFdiffusion' diff --git a/easybuild/easyconfigs/r/RFDiffusion-schedules/RFDiffusion-schedules-1.1.0.eb b/easybuild/easyconfigs/r/RFdiffusion-schedules/RFdiffusion-schedules-1.1.0.eb similarity index 96% rename from easybuild/easyconfigs/r/RFDiffusion-schedules/RFDiffusion-schedules-1.1.0.eb rename to easybuild/easyconfigs/r/RFdiffusion-schedules/RFdiffusion-schedules-1.1.0.eb index 9f5e4f5b1ce..408a20b1b69 100644 --- a/easybuild/easyconfigs/r/RFDiffusion-schedules/RFDiffusion-schedules-1.1.0.eb +++ b/easybuild/easyconfigs/r/RFdiffusion-schedules/RFdiffusion-schedules-1.1.0.eb @@ -1,6 +1,6 @@ easyblock = 'Dataset' -name = 'RFDiffusion-schedules' +name = 'RFdiffusion-schedules' version = '1.1.0' homepage = 'https://github.com/RosettaCommons/RFdiffusion' From 6be71d9acdc5561118b2a10fdf9f1e956f5d5f4c Mon Sep 17 00:00:00 2001 From: Samuel Moors Date: Sun, 17 Mar 2024 17:16:47 +0100 Subject: [PATCH 3/5] use data_sources instead of sources --- .../r/RFdiffusion-models/RFdiffusion-models-1.1.0.eb | 6 +++--- .../r/RFdiffusion-schedules/RFdiffusion-schedules-1.1.0.eb | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/r/RFdiffusion-models/RFdiffusion-models-1.1.0.eb b/easybuild/easyconfigs/r/RFdiffusion-models/RFdiffusion-models-1.1.0.eb index 457a3cbaba9..0e91a8e36d6 100644 --- a/easybuild/easyconfigs/r/RFdiffusion-models/RFdiffusion-models-1.1.0.eb +++ b/easybuild/easyconfigs/r/RFdiffusion-models/RFdiffusion-models-1.1.0.eb @@ -24,13 +24,13 @@ _models = [ ("RF_structure_prediction_weights.pt", "1befcb9b28e2f778f53d47f18b7597fa"), ] -sources = [ - { +data_sources = [ + { 'source_urls': ['http://files.ipd.uw.edu/pub/RFdiffusion/%s/' % _lver], 'filename': '%s_v%s' % (_lname, _lver), 'download_filename': _lname, 'extract_cmd': 'cp %s ' + _lname, - } for _lname, _lver in _models + } for _lname, _lver in _models ] checksums = [ diff --git a/easybuild/easyconfigs/r/RFdiffusion-schedules/RFdiffusion-schedules-1.1.0.eb b/easybuild/easyconfigs/r/RFdiffusion-schedules/RFdiffusion-schedules-1.1.0.eb index 408a20b1b69..c6cc94ce376 100644 --- a/easybuild/easyconfigs/r/RFdiffusion-schedules/RFdiffusion-schedules-1.1.0.eb +++ b/easybuild/easyconfigs/r/RFdiffusion-schedules/RFdiffusion-schedules-1.1.0.eb @@ -12,7 +12,7 @@ Schedule files are available in $RFDIFFUSION_SCHEDULES""" toolchain = SYSTEM -sources = [ +data_sources = [ { 'source_urls': ['https://files.ipd.uw.edu/krypton/'], 'filename': '%(name)s_v%(version)s.zip', From 6abd16d7062b639bb1fff3a0f22516cff044d0e4 Mon Sep 17 00:00:00 2001 From: Samuel Moors Date: Sun, 21 Apr 2024 20:19:23 +0200 Subject: [PATCH 4/5] add missing checksum for schedules --- .../r/RFdiffusion-schedules/RFdiffusion-schedules-1.1.0.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/r/RFdiffusion-schedules/RFdiffusion-schedules-1.1.0.eb b/easybuild/easyconfigs/r/RFdiffusion-schedules/RFdiffusion-schedules-1.1.0.eb index c6cc94ce376..1fd4a8f1d9f 100644 --- a/easybuild/easyconfigs/r/RFdiffusion-schedules/RFdiffusion-schedules-1.1.0.eb +++ b/easybuild/easyconfigs/r/RFdiffusion-schedules/RFdiffusion-schedules-1.1.0.eb @@ -20,6 +20,7 @@ data_sources = [ 'extract_cmd': 'unzip -j %s', }, ] +checksums = ['9fbb47ddb92f1c0cf234bec39ba6ba64d179501fbff53a4d10b4e55afd75e44a'] sanity_check_paths = { 'files': ['T_%s_omega_1000_min_sigma_0_02_min_b_1_5_max_b_2_5_schedule_linear.pkl' % x From 70a0031f863537cccd071d287d719e45c0390191 Mon Sep 17 00:00:00 2001 From: Samuel Moors Date: Fri, 9 May 2025 14:58:49 +0200 Subject: [PATCH 5/5] use f-strings; fix test/easyconfigs/easyconfigs.py --- .../r/RFdiffusion-models/RFdiffusion-models-1.1.0.eb | 6 +++--- test/easyconfigs/easyconfigs.py | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/r/RFdiffusion-models/RFdiffusion-models-1.1.0.eb b/easybuild/easyconfigs/r/RFdiffusion-models/RFdiffusion-models-1.1.0.eb index 0e91a8e36d6..911daffad78 100644 --- a/easybuild/easyconfigs/r/RFdiffusion-models/RFdiffusion-models-1.1.0.eb +++ b/easybuild/easyconfigs/r/RFdiffusion-models/RFdiffusion-models-1.1.0.eb @@ -26,10 +26,10 @@ _models = [ data_sources = [ { - 'source_urls': ['http://files.ipd.uw.edu/pub/RFdiffusion/%s/' % _lver], - 'filename': '%s_v%s' % (_lname, _lver), + 'source_urls': [f'https://files.ipd.uw.edu/pub/RFdiffusion/{_lver}/'], + 'filename': f'{_lname}_v{_lver}', 'download_filename': _lname, - 'extract_cmd': 'cp %s ' + _lname, + 'extract_cmd': f'cp %s {_lname}', } for _lname, _lver in _models ] diff --git a/test/easyconfigs/easyconfigs.py b/test/easyconfigs/easyconfigs.py index e735406d783..8aad445b9c1 100644 --- a/test/easyconfigs/easyconfigs.py +++ b/test/easyconfigs/easyconfigs.py @@ -1018,7 +1018,7 @@ def test_downloadable_or_instructions(self): continue ok = False - for source in ec['sources']: + for source in ec['sources'] + ec['data_sources']: if isinstance(source, dict): if 'git_config' in source or 'source_urls' in source: ok = True