boltz-vsynthes 1.0.1__py3-none-any.whl → 1.0.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
boltz/main.py CHANGED
@@ -665,6 +665,14 @@ def process_inputs(
665
665
  """
666
666
  all_records = []
667
667
 
668
+ # Create processed directory
669
+ processed_dir = out_dir / "processed"
670
+ processed_dir.mkdir(parents=True, exist_ok=True)
671
+
672
+ # Create structure directory
673
+ structure_dir = processed_dir / "structures"
674
+ structure_dir.mkdir(parents=True, exist_ok=True)
675
+
668
676
  # Process each input file in its own directory
669
677
  for input_file in data:
670
678
  # Create a subdirectory for this input file
@@ -687,7 +695,6 @@ def process_inputs(
687
695
  # Create output directories for this file
688
696
  msa_dir = file_out_dir / "msa"
689
697
  records_dir = file_out_dir / "processed" / "records"
690
- structure_dir = file_out_dir / "processed" / "structures"
691
698
  processed_msa_dir = file_out_dir / "processed" / "msa"
692
699
  processed_constraints_dir = file_out_dir / "processed" / "constraints"
693
700
  processed_templates_dir = file_out_dir / "processed" / "templates"
@@ -697,7 +704,6 @@ def process_inputs(
697
704
  file_out_dir.mkdir(parents=True, exist_ok=True)
698
705
  msa_dir.mkdir(parents=True, exist_ok=True)
699
706
  records_dir.mkdir(parents=True, exist_ok=True)
700
- structure_dir.mkdir(parents=True, exist_ok=True)
701
707
  processed_msa_dir.mkdir(parents=True, exist_ok=True)
702
708
  processed_constraints_dir.mkdir(parents=True, exist_ok=True)
703
709
  processed_templates_dir.mkdir(parents=True, exist_ok=True)
@@ -726,7 +732,7 @@ def process_inputs(
726
732
  processed_constraints_dir=processed_constraints_dir,
727
733
  processed_templates_dir=processed_templates_dir,
728
734
  processed_mols_dir=processed_mols_dir,
729
- structure_dir=structure_dir,
735
+ structure_dir=structure_dir, # Use the central structure directory
730
736
  records_dir=records_dir,
731
737
  )
732
738
 
@@ -740,7 +746,7 @@ def process_inputs(
740
746
 
741
747
  # Create combined manifest
742
748
  manifest = Manifest(all_records)
743
- manifest.dump(out_dir / "processed" / "manifest.json")
749
+ manifest.dump(processed_dir / "manifest.json")
744
750
  return manifest
745
751
 
746
752
 
@@ -1234,6 +1240,14 @@ def predict( # noqa: C901, PLR0915, PLR0912
1234
1240
  msg += "s." if len(manifest_filtered.records) > 1 else "."
1235
1241
  click.echo(msg)
1236
1242
 
1243
+ # When skipping structure prediction, we need to ensure structure files exist
1244
+ if skip_structure:
1245
+ for record in manifest_filtered.records:
1246
+ structure_path = out_dir / "predictions" / record.id / f"pre_affinity_{record.id}.npz"
1247
+ if not structure_path.exists():
1248
+ msg = f"Structure file not found for {record.id}. Cannot run affinity prediction without structure."
1249
+ raise FileNotFoundError(msg)
1250
+
1237
1251
  pred_writer = BoltzAffinityWriter(
1238
1252
  data_dir=processed.targets_dir,
1239
1253
  output_dir=out_dir / "predictions",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: boltz-vsynthes
3
- Version: 1.0.1
3
+ Version: 1.0.3
4
4
  Summary: Boltz for V-Synthes
5
5
  Requires-Python: <3.13,>=3.10
6
6
  Description-Content-Type: text/markdown
@@ -1,5 +1,5 @@
1
1
  boltz/__init__.py,sha256=F_-so3S40iZrSZ89Ge4TS6aZqwWyZXq_H4AXGDlbA_g,187
2
- boltz/main.py,sha256=nzakDxdvkrdR3sgvi88wyeRkYHX9Ojhbgt0shGPH23I,40708
2
+ boltz/main.py,sha256=p-iXEzVh_CAkKZs2MJ7EojQQdIZnC9cYXr9Bax_PrU4,41377
3
3
  boltz/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  boltz/data/const.py,sha256=1M-88Z6HkfKY6MkNtqcj3b9P-oX9xEXluh3qM_u8dNU,26779
5
5
  boltz/data/mol.py,sha256=maOpPHEGX1VVXCIFY6pQNGF7gUBZPAfgSvuPf2QO1yc,34268
@@ -104,9 +104,9 @@ boltz/model/optim/scheduler.py,sha256=nB4jz0CZ4pR4n08LQngExL_pNycIdYI8AXVoHPnZWQ
104
104
  boltz/model/potentials/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
105
105
  boltz/model/potentials/potentials.py,sha256=vev8Vjfs-ML1hyrdv_R8DynG4wSFahJ6nzPWp7CYQqw,17507
106
106
  boltz/model/potentials/schedules.py,sha256=m7XJjfuF9uTX3bR9VisXv1rvzJjxiD8PobXRpcBBu1c,968
107
- boltz_vsynthes-1.0.1.dist-info/licenses/LICENSE,sha256=8GZ_1eZsUeG6jdqgJJxtciWzADfgLEV4LY8sKUOsJhc,1102
108
- boltz_vsynthes-1.0.1.dist-info/METADATA,sha256=c0VEm3L1a5r4NIo1PIWMre-2AFN4AkqCnTmZxPLCri4,7171
109
- boltz_vsynthes-1.0.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
110
- boltz_vsynthes-1.0.1.dist-info/entry_points.txt,sha256=n5a5I35ntu9lmyr16oZgHPFY0b0YxjiixY7m7nbMTLc,41
111
- boltz_vsynthes-1.0.1.dist-info/top_level.txt,sha256=MgU3Jfb-ctWm07YGMts68PMjSh9v26D0gfG3dFRmVFA,6
112
- boltz_vsynthes-1.0.1.dist-info/RECORD,,
107
+ boltz_vsynthes-1.0.3.dist-info/licenses/LICENSE,sha256=8GZ_1eZsUeG6jdqgJJxtciWzADfgLEV4LY8sKUOsJhc,1102
108
+ boltz_vsynthes-1.0.3.dist-info/METADATA,sha256=KQnSi_PP-_Gkz8yG3ED3-a_R4-IUlX92QZxwG8eQe8w,7171
109
+ boltz_vsynthes-1.0.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
110
+ boltz_vsynthes-1.0.3.dist-info/entry_points.txt,sha256=n5a5I35ntu9lmyr16oZgHPFY0b0YxjiixY7m7nbMTLc,41
111
+ boltz_vsynthes-1.0.3.dist-info/top_level.txt,sha256=MgU3Jfb-ctWm07YGMts68PMjSh9v26D0gfG3dFRmVFA,6
112
+ boltz_vsynthes-1.0.3.dist-info/RECORD,,