RosettaCommons / RosettaCommons/foundry

Atomworks warnings while running RFD3

Open
#139 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

documentation enhancement question RFdiffusion3
Dominant language
Python
Stars
966
Forks
181
Avg merge
4d 4h
Merged PRs (30d)
2

Description

Hi, this is not a critical issue, since everything technically is running fine. However, just want to make sure that I cannot improve my setup further. I keep getting various atomworks-related warnings while running RFD3. I am curious to learn how they might contribute to the results and how to solve them.

1. Can't fix formal charges

WARNING atomworks.io: We can't fix formal charges without building from templates, as we need to know the true number of hydrogens bonded to a given atom, not the inferred number. This may lead to occasional inaccuracies after adding inter-residue bonds. To avoid this and fix formal charges, set add_missing_atoms = True.

I get it for any input I try, both cif and pdb, both from the PDB database and just using AF3 model as input.
Question 1.1. Is there a way to make this warning more specific, as to which atom(s) exactly causes this issue?
Question 1.2. Where should I add add_missing_atoms = True? I tried both CLI and json config, seems like this setting does not belong there.

2. Scaffolding with multiple instances of the same ligand

17:51:10 WARNING foundry.utils.components: [rank: 0] Component 'ZN' maps to multiple residues. If you are using Symmetry this is OK.
17:51:11 WARNING atomworks.io.utils.ccd: No suitable coordinates found for 'ZN' among preferences ('ideal_pdbx', 'model', 'ideal_rdkit'). Coordinates will be 'nan'.

I am not using Symmetry, my active site just happens to use two Zn cations. This input still results in some output though. However, If I manually rename their residue names to ZN1, ZN2, I get instead these warnings:

18:00:24 WARNING atomworks.ml.transforms.rdkit_utils: Initial conformer generation based on distance geometry failed. Successful: 0. Falling back to generating a conformer starting from random coordinates.
18:00:25 WARNING atomworks.io.utils.ccd: No suitable coordinates found for 'ZN2' among preferences ('ideal_pdbx', 'model', 'ideal_rdkit'). Coordinates will be 'nan'.
18:00:25 WARNING atomworks.ml: Atom ZN not found in conformer for residue ZN1 with atom_names=array(['ZN'], dtype='<U6')

And the task fails with

ValueError: Transforms failed at stage CreateDesignReferenceFeatures: could not broadcast input array from shape (0,3) into shape (1,3)

I suppose it makes using the same "standard" name for a ligand the only option? Or is the problem somewhere else?

3. Coordinates will be 'nan'

Seemingly these 'nan' warnings from above don't actually fail the run. Still, they are weird, and other ligands don't trigger them, only one-atom ligands (also tested with MG). The amount of such ligands (one or two or more) does not matter, I still get the same message. Should I be worried?


For reference, I am testing scaffolding of the active site of a phosphotriesterase (PTE), PDB code 1HZY. Here are my initial files:

PTE.pdb
test.json

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the RFD3 run using the attached PTE.pdb and test.json, then trace the reported warnings through the atomworks and CreateDesignReferenceFeatures stages. Check how add_missing_atoms is configured and how repeated one-atom ligands are represented. Done means the configuration path and the cause or expected handling of the warnings and failure are documented or corrected.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
machine-learning
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.