Known issues

Everything known to be wrong, surprising or missing, in one place: what it affects, where it comes from, and where it is explained.

Most of these are ADFR's behaviour, which ADapt shares because it runs ADFR's own code; they affect agfr and AGFRgui as well. The Origin column says which. Defects of ADFR that ADapt corrects are listed on ADapt and AGFRgui instead.

What is written into the files

IssueEffectOriginDetails
Symmetry copies do not follow every choiceA copy made by crystal symmetry follows its original chain for mutations and side-chain completion, but not for receptor/ligand checkboxes or alternate locations: it keeps the defaults. Measured on 1HHP: with A:ASP25 unchecked, the copy's ASP25 is still written.ADFRBiological assembly
Tied alternate locationsWhen two locations have the same occupancy, the default one varies from run to run (Python's set order), so the same PDB file can give different receptors. Common: all 7 altloc residues of 1FV1. Choose such residues explicitly; the altlocs REMARK records what was used.ADFRAlternate locations
Unsupported atom types are droppedAtoms outside the AutoDock 4.1 types (copper, sodium, potassium, …) are left out of the receptor, with no substitution offered.ADFRUnsupported atoms
An FE2 ion stops the file from openingA one-atom residue named FE2 (iron(II), as many entries name it) makes loading fail with no ion charge found for residue …. The ion is recognised by its element, but its default charge is looked up by residue name, and ADFR's table has only FE. Reproduced on 6GGD with an FE2 added; MN3 probably fails the same way (not checked).ADFRMetals
A chloride ion is written with charge 0A chloride ion lands in other, not manual charges: chloride (−1) is commented out of ADFR's table of manual charges. Checked into the receptor, it is written with charge 0.00. Reproduced on 6GGD with a Cl⁻ added.ADFRMetals
Suspected: bonded Cl and Br may get no partial chargeFound by reading the code, not yet reproduced on a molecule. Open Babel's Gasteiger charges are applied only to atoms whose element is in a list written Cl, Br, while the receptor's elements are CL, BR. A chlorine or bromine bonded in a residue kept in the receptor (a cofactor, a modified residue) would then get no partial charge.ADFR (MolKit2)
Suspected: ions in symmetry copies may lose their chargeFound by reading the code, not yet tested. The manual charges are set again after reduce by selecting each ion by chain identifier, but a copy's chain has been renamed (0, 1, …), so the copy's ion would not be found and would keep charge 0.ADFRBiological assembly
Bromine's default charge is +1ADFR's table of manual charges gives Br +1; a bromide ion would be −1. Check, and edit the charge if a Br is in your receptor.ADFRMetals
The rotamer drop-down is a previewThe side chain written is always the best-scoring rotamer, whatever the drop-down shows.ADFR (as in AGFRgui)Missing side chains

What the files record about themselves

IssueEffectOriginDetails
No custom-charge REMARK from a Biomol tabThe custom charge line is read from the asymmetric unit, so it is written only for receptors from an ASU or ASU and Biomol N tab. From a Biomol N tab the ion's charge is in its atom record only.ADFRProvenance
--ionCharges is misreported by ADFR's command lineThe atom gets the requested charge, but the command line's own custom charge REMARK gives the default (= 2.0000 for a zinc set to 1.5). ADapt's REMARK reports the charge written.ADFR (command line only)Provenance
side chain completed lists other chainsThe REMARK lists every completion queued in the file, including those in chains the tab does not contain.ADFRWriting the files
Symmetry copies get new chain identifiersIn the receptor files a copy's chain is renamed (0, 1, …), because reduce needs unique chain names and ADFR does not rename them back. This holds for the PDBQT, and for the atoms and the USER MOD lines of _rec_H.pdb. ADapt records each rename in session.json (chain_renames).ADFRBiological assembly, the protonated receptor
A ligand's atom records say chain AThe atom records of a ligand file label the chain A whatever chain the ligand came from, and its source line has no file name (REMARK 850 source .pdb). The coordinates are right, and ADapt records the true origin in REMARK 850 AGFR ligand from B:EYB:402:_.ADFRProvenance
Some choices are recorded only in the sessionWhich hetero groups and waters were kept, and ADapt's version, are not in the PDBQT header; session.json has them.ADaptProvenance

What is shown

IssueEffectOriginDetails
A gap whose ends meet is not shownA stretch listed as missing (REMARK 465) whose neighbouring residues are within 3.5 Å (C to N) is not reported, as for 1JFF A 35-60 (2.68 Å).ADFR (by design)Missing residues
Symmetry copies are not in the treeOnly the chains of the asymmetric unit can be selected or edited; copies are drawn translucent.ADFR (as in AGFRgui)Biological assembly

Input and tools

IssueEffectOriginDetails
PDB format onlyEntries the RCSB distributes only as mmCIF (the largest assemblies) cannot be opened; Fetch from RCSB says so.ADFR reads PDB filesGetting started
The PDB id comes from the file nameADFR looks up an entry's known ligands by its id, taken from the file name. Name files by their id (6ggd.pdb), or ligands land in other.ADFRLigands
The agfr launcher splits quoted optionsThe agfr / agfrgui scripts pass their arguments unquoted, so an option value containing spaces (--heteroToKeep "chid B resnum 402") is split and rejected. Use python -m ADFR.bin.runAGFR.ADFR launcherWriting the files
Needs the ADCP environmentADapt runs ADFR from the ADCP distribution's Python 3.7 environment (adcpsuite); it does not work without it.ADaptGetting started