BMERC : needle tools : Programs : Core programs
The first two programs documented below produce core files from PDB atomic coordinates. The third extracts the secondary structure information implicit in the core structure.
Usage:
make-core.pl [-seg seg-file] [-chain X] [-min-segs n] [-locus locus] [-pdb-file pdb-file-name] or make-core.pl [-seg seg-file] [-chain X] [-min-segs n] locus pdb-file-nameIf the first form is used, the keyword arguments may be in any order, and the locus is optional. If the second form is used, the locus must be present, and must come before the pdb file name and after the keywords arguments. The PDB file name is required in any case, but may be "-" to denote the standard input, in which case the -seg option must be specified.
Arguments:
If either the starting or ending residue of a segment cannot be found, make-core.pl exits abnormally with an error message. This also happens if no segments are found for the desired chain, which can either mean that the chain does not exist, or it exists (has residues) but has no secondary structure. A warning message will be generated if the core has at least one segment, but fewer than the -min-segs value; this can be turned off by setting -min-segs to 0, but this does not disable the error for zero-segment cores.
make-core.pl makes a core from exactly one chain. To treat two or more chains as continuous within the same core model, simply concatenate the core files. For example:
make-core.pl -chain 'A' -seg 1lts.dssp -pdb-file 1lts.ent > 1ltsAC.core make-core.pl -chain 'C' -seg 1lts.dssp -pdb-file 1lts.ent >> 1ltsAC.coreThis makes 1ltsAC.core from chains A and C of the PDB file 1lts.ent based on segment definitions in the 1lts.dssp file.
Note: In Release 1.0 and earlier, the default for the -seg option was "locus.dssp"; this was changed to "-" (the standard input) in Release 1.1.
Note: In Release 1.0 and earlier, make-core.pl passed -hcb to filter-pdb-atoms.pl; it now fills in all missing beta carbons with -hcb-all.
Known bugs:
Usage:
make-domain-core.pl [-seg seg-file] [-chain spec] [-min-segs n] [-locus locus] [-pdb-file pdb-file-name] or make-domain-core.pl [-seg seg-file] [-chain spec] [-min-segs n] locus pdb-file-nameIf the first form is used, the keyword arguments may be in any order, and the locus is optional. If the second form is used, the locus must be present, and must come before the pdb file name and after the keywords arguments. The PDB file name is required in any case, but may be "-" to denote the standard input (but see the multichain caveat below), in which case the -seg option must be explicitly specified as something other than the standard input.
Arguments:
make-domain-core.pl can make cores from more than one chain. For example:
make-domain-core.pl -chains 'A,C' -seg 1lts.dssp -pdb-file 1lts.ent > 1ltsAC.coreThis makes 1ltsAC.core from chains A and C of the PDB file 1lts.ent based on segment definitions in the 1lts.dssp file. This can be done in one pass over the PDB file since the ATOM records for these chains appear in this order. If one had specified "-chains 'C,A'" instead (the single quotes are not strictly necessary), make-domain-core.pl would have required two passes over the PDB file, in which case it would not have worked to supply the PDB file on the standard input by specifying "-pdb-file -"
More precisely, make-domain-core.pl processes each chain or chain subrange in the chain specification one at a time (e.g. "A,B:1-85" specifies all of chain A in the first subrange, followed by residues 1 through 85 of chain B in the second subrange). If make-domain-core.pl cannot find the chain, or finds the chain but cannot find the indicated starting residue, it exits abnormally with a "can't find chain subrange 'subrange' in PDB file" message. If the chain or chain subrange exists but has no secondary structure, make-domain-core.pl generates a "No segs in 'subrange'?" warning, but continues to make the core. However, if no segments are found for the entire core, make-domain-core.pl exits abnormally with a "Found no segments for chain 'chain-spec'" message. A warning message will be generated if the core has at least one segment, but fewer than the -min-segs value; this can be turned off by setting -min-segs to 0, but this does not disable the error for zero-segment cores.
make-domain-core.pl includes only whole segments (as defined by the segment definition file) in the core it constructs. Therefore, in order for a residue to make it into the core file, it must lie within both the inclusive segment limits of a segment and the inclusive chain subrange boundaries. A warning is generated if the segment runs past the end of the subrange, where it is truncated. (Segments that overlap the start of a subrange aren't detected, which asymmetry could be considered a bug. However, subranges that interrupt core segments are probably pathological anyway, so I'm not inclined to fix it. -- rgr, 20-Sep-98.)
On the other hand, if the last residue of a segment can't be found at all, make-domain-core.pl produces a "Ran out of chain" message, which is fatal (though it continues to process any other chain subranges).
Once make-domain-core.pl selects the appropriate ATOM records out of the PDB file, it pipes them through filter-pdb-atoms.pl to clean up the format, hallucinate beta carbons, and report any chain breaks or other potential problems. Any such problems are therefore in the core segments themselves, and not the loops.
After making the core, make-domain-core.pl generates a warning when any sheets are split. A sheet is considered split if some of its segments lie within the core but others do not.
Known bugs:
Usage:
core-ss-states -core-file core-file-name -sequence-file sequence-file-name
Arguments:
[Specifying both arguments keyword-style may be somewhat onerous, but it allows me a choice of alternatives for supplying core/sequence data in the future. -- rgr, 28-Mar-97.] [Like I've needed it. -- rgr, 29-Oct-99.]