user_custom¶
Use this attribute to bring your own CHARMM-format topology, parameter, or stream files
(e.g. a CGenFF stream for a small-molecule ligand) into a pestifer build, so that
psfgen and NAMD pick them up without any further wiring.
How it works¶
Put your file(s) in one or more directories on disk.
List each directory under
searchpath. Every CHARMM-format file (.rtf,.top,.str,.prm) in those directories is registered with pestifer and indexed by theRESI/PRESrecords it contains.When
psfgenbuilds the system, any residue name in your input PDB whose definition lives in one of these files is automatically resolved: the file is copied into the run directory, atopology <file>line is emitted, and the file is registered in the pipeline so NAMD’s parameter file list includes it as well.searchpathentries may contain~/(the user’s home directory) or shell environment-variable references such as$HOME/fooor${SCRATCH}/charmm; both are expanded before pestifer probes the directory.
Per-user toppar cache¶
~/.pestifer/toppar/ is a well-known per-user cache directory for custom CHARMM
stream files. When it exists, pestifer automatically prepends it to
searchpath so any .str / .rtf / .prm files dropped there are picked
up without requiring a user_custom block in the YAML. This is the recommended
destination for the .str files generated by make-ligand-mol2
(after running them through the CGenFF binary or web tool): once a parameter file
for, e.g., AP5 lives in ~/.pestifer/toppar/, every subsequent build that
references that residue resolves it transparently.
Any directory the user lists in searchpath is loaded after the cache, so a
project-local entry overrides anything in ~/.pestifer/toppar/ (last-loaded
wins). When this happens pestifer emits a warning naming both files.
Segtype classification¶
Every RESI / PRES found in a user_custom file is also registered with pestifer’s
segtype machinery so the molecule parser can place those residues into segments.
By default each new residue is classified as ligand. Use the segtypes knob
below to override (e.g. mark a residue as cofactor instead). An explicit
psfgen.segtypes entry for the same resname always wins.
Caveats¶
searchpathentries are directories; the per-extension lists below (rtf,str,prm) take basenames only – any directory separator in those entries is rejected.A single
.strfile that contains bothread rtf … ENDandread para … ENDblocks is sufficient – you do not need to list it under more than one ofrtf/prm.customis for files that ship with pestifer itself; user-supplied files belong here underuser_custom.Atom names in your input PDB must match the atom names declared in the
RESIblock of the stream file. If they don’t (e.g. RCSB PDBs typically use a different naming convention than CGenFF-generated streams), psfgen will build the residue topology but leave each unmatched atom at(0, 0, 0). Add psfgen.aliases.atom entries to bridge the two naming schemes.
Example:¶
charmmff:
user_custom:
searchpath:
- /path/to/my/custom/search/path/
rtf:
- a_file.rtf
str:
- a_file.str
prm:
- a_file.prm
Container-like attributes: