You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: ARCHITECTURE.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -78,7 +78,7 @@ flowchart TD
78
78
-**FetchTemplate** – pulls `TemplateView` for each residue name, failing early if missing.
79
79
-**AlignPairs** – pairs existing heavy atoms with template coordinates for alignment anchors.
80
80
-**SVD** – computes rotation/translation via Kabsch/SVD, handling single/dual point fallbacks.
81
-
-**SynthesizeAtoms** – recreates missing heavy atoms (and terminal OXT when needed) using transformed template positions.
81
+
-**SynthesizeAtoms** – recreates missing heavy atoms (terminal OXT for peptides, OP3 for 5'-phosphorylated nucleic acids) using transformed template positions or tetrahedral geometry.
82
82
-**Cleanup** – removes atoms not present in the template to ensure canonical composition.
83
83
84
84
### 3.3 Hydro Pipeline (`ops::hydro`)
@@ -98,7 +98,7 @@ flowchart TD
98
98
-**Protonation** – applies pH-driven heuristics plus HIS strategy selection to decide residue names.
99
99
-**StripOldH** – removes existing hydrogens if `remove_existing_h` is enabled.
100
100
-**GeometryBuild** – reconstructs hydrogens using template anchors, calling `reconstruct_geometry` and `calculate_transform` internally.
-**TerminalBonds** – adds special-case bonds for terminal atoms (H1/H2/H3, HOXT for peptides; P–OP3, OP3–HOP3, O5'–HO5', O3'–HO3' for nucleic acids).
140
140
-**InterResidue** – detects peptide and nucleic linkages by measuring atom distances against cutoffs.
141
141
-**DisulfideScan** – adds bonds between cystine sulfurs within the disulfide cutoff.
142
142
-**EmitTopology** – produces the final `Topology` pairing the structure with collected bonds.
@@ -179,7 +179,7 @@ flowchart TD
179
179
-**Anchor selection** – each template hydrogen lists one or more anchor atoms; missing anchors trigger `IncompleteResidueForHydro` errors to avoid guesswork.
180
180
-**Rigid transform** – `reconstruct_geometry` retrieves the residue-specific transform (rotation + translation) derived from current heavy atoms and applies it to the template hydrogen coordinate.
181
181
-**Randomization** – none is applied for standard hydrogens, ensuring deterministic placement; terminals use evenly spaced tetrahedral vectors sorted by dot product to preserve orientation.
182
-
-**Terminal logic** – N-termini place up to three hydrogens arranged around the N–CA axis, while C-termini and nucleic terminals enforce the specific HOXT/HO5'/HO3' connectivity.
182
+
-**Terminal logic** – N-termini place up to three hydrogens arranged around the N–CA axis; C-termini add HOXT to OXT; nucleic 5'-terminals either add HO5' (no phosphate) or pH-dependent HOP3 (with phosphate, below pKₐ₂ ≈ 6.5); nucleic 3'-terminals always add HO3'.
Copy file name to clipboardExpand all lines: MANUAL.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -72,7 +72,7 @@ Options:
72
72
bioforge repair -i cleaned.pdb -o repaired.pdb
73
73
```
74
74
75
-
- Aligns each standard residue to its template and fills in missing heavy atoms, including peptide termini.
75
+
- Aligns each standard residue to its template and fills in missing heavy atoms, including peptide termini (OXT) and nucleic acid 5'-terminal phosphate (OP3).
76
76
- Ideal immediately after `clean` to ensure the structure is chemically complete before protonation.
77
77
78
78
### `hydro` – Add hydrogens with titration awareness
Copy file name to clipboardExpand all lines: README.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,7 @@
14
14
15
15
1.**Load** – `io::read_pdb_structure` or `io::read_mmcif_structure` parses coordinates with help from `IoContext` alias resolution.
16
16
2.**Clean** – `ops::clean_structure` removes waters, ions, hetero residues, or arbitrary residue names via `CleanConfig`.
17
-
3.**Repair** – `ops::repair_structure` realigns residues to their templates and rebuilds missing heavy atoms (including OXT on C-termini).
17
+
3.**Repair** – `ops::repair_structure` realigns residues to their templates and rebuilds missing heavy atoms (including OXT on C-termini and OP3 on 5'-phosphorylated nucleic acids).
18
18
4.**Hydrogenate** – `ops::add_hydrogens` infers protonation states (configurable pH and histidine strategy) and reconstructs hydrogens from template anchors.
19
19
5.**Solvate/Ionize** – `ops::solvate_structure` creates a periodic box, packs water on a configurable lattice, and swaps molecules for ions to satisfy a target charge.
20
20
6.**Topology** – `ops::TopologyBuilder` replays template bond definitions, peptide-link detection, nucleic backbone connectivity, and disulfide heuristics to emit a `Topology` object.
@@ -44,7 +44,7 @@ BioForge is also available as a library crate. Add it to your `Cargo.toml` depen
0 commit comments