Skip to content

Conversation

@hlasimpk
Copy link

Changes to include OpenFold3 into ABCFold
The main changes include:

  • af3_to_openfold: converting AF3 JSON into the OpenFold format
  • run_openfold: Code to run OpenFold3
  • checkinstall: Code to check if OpenFold3 is installed and make micromamba env if it's missing. This has also required the addition of code to install kalign2 and to download the default checkpoint (weights).
  • output/openfold: code to convert the OpenFold output into the right format, there is one bit of code here to convert the mmcif output as the formatting is weird and not recognised by Biopython.
  • There there is just lots of general changes to include it into the output pages.

I've added tests and updated the documentation.

@hlasimpk hlasimpk requested a review from hllelli2 January 16, 2026 14:12
logger = logging.getLogger("logger")


def fix_mmcif(infile, outfile):
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm going to preemptively comment to say I don't think this is the best solution, but it does work. If you can think of a different way to fix it though, let me know!


with open(infile) as fin, open(outfile, "w") as fout:

fout.write("data_structure\n")
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Try writing as one big block i.e. """"
text
"""

fout.write("_atom_site.id\n")
fout.write("_atom_site.occupancy\n")

for line in fin:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Make a comment explaining what this does

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Make a class method fro cif file handler called from_openfold which handles this logic

@hllelli2
Copy link
Collaborator

The check to see if singularity is found on the system sometimes returns true even if singularity is not none.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants