In the DSSR v1.2.7-2015jun09 release, I documented two additional command-line options (--prefix
and --cleanup
) that are related to the various auxiliary files. As a matter of fact, these two options (among quite a few others) have been there for a long time, but without being explicitly described. The point is not to hide but to simplify — one of the design goals of DSSR is simplicity. DSSR has already possessed numerous key functionality to be appreciated. Before DSSR is firmly established in the RNA bioinformatics field, I beleive too many nonessential “features” could be distracting. While writing and refining the DSSR code, I do feel that some ‘auxiliary’ features could be handy for experienced users (including myself). So along the way, I’ve added many ‘hidden’ options that are either experimental or potentially useful.
On one side, I sense it is acceptable for a scientific software to actually does more than it claims. On the other hand, I have always been quick in addressing users’ requests — as one example, check for the --select
option recently introduced into DSSR in response to a user request, and the ‘hidden’ --dbn-break
option for specifying the symbol to separate multiple chains or chain breaks in DSSR-derived dot-bracket notation.
Back to --prefix
and --cleanup
, the purposes of these two closely related options can be best illustrated using the yeast phenylalanine tRNA structure (1ehz) as an example. By default, running x3dna-dssr -i=1ehz.pdb
will produce a total of 11 auxiliary files, with names prefixed with dssr-
, as shown below:
List of 11 additional files 1 dssr-stems.pdb -- an ensemble of stems 2 dssr-helices.pdb -- an ensemble of helices (coaxial stacking) 3 dssr-pairs.pdb -- an ensemble of base pairs 4 dssr-multiplets.pdb -- an ensemble of multiplets 5 dssr-hairpins.pdb -- an ensemble of hairpin loops 6 dssr-junctions.pdb -- an ensemble of junctions (multi-branch) 7 dssr-2ndstrs.bpseq -- secondary structure in bpseq format 8 dssr-2ndstrs.ct -- secondary structure in connect table format 9 dssr-2ndstrs.dbn -- secondary structure in dot-bracket notation 10 dssr-torsions.txt -- backbone torsion angles and suite names 11 dssr-stacks.pdb -- an ensemble of stacks
With ‘fixed’ generic names by default, users can run DSSR in a directory repeatedly without creating too many files. This practice follows that used in the 3DNA suite of programs. However, my experience in supporting 3DNA over the years has shown that users (myself included) may want to explore further some of the files, e.g. ‘dssr-multiplets.pdb’ for displaying the base multiplets (four triplets here). One could easily use command-line (script) to change a generic name to a more appropriate one: e.g., mv dssr-multiplets.pdb 1ehz-multiplets.pdb
for 1ehz. A better solution, however, is by introducing a customized prefix to the additional files, and that’s exactly where the --prefix
option comes in. The option is specified like this: --prefix=text
where text can be any string as appropriate. So running x3dna-dssr -i=1ehz.pdb --prefix=1ehz
, for example, will lead to the following output:
List of 11 additional files 1 1ehz-stems.pdb -- an ensemble of stems 2 1ehz-helices.pdb -- an ensemble of helices (coaxial stacking) 3 1ehz-pairs.pdb -- an ensemble of base pairs 4 1ehz-multiplets.pdb -- an ensemble of multiplets 5 1ehz-hairpins.pdb -- an ensemble of hairpin loops 6 1ehz-junctions.pdb -- an ensemble of junctions (multi-branch) 7 1ehz-2ndstrs.bpseq -- secondary structure in bpseq format 8 1ehz-2ndstrs.ct -- secondary structure in connect table format 9 1ehz-2ndstrs.dbn -- secondary structure in dot-bracket notation 10 1ehz-torsions.txt -- backbone torsion angles and suite names 11 1ehz-stacks.pdb -- an ensemble of stacks
The --cleanup
option, as its name implies, is to tidy up a directory by removing the auxiliary files generated by DSSR. The usage is very simple:
x3dna-dssr --cleanup x3dna-dssr --cleanup --prefix=1ehz
The former gets rid of the default ‘fixed’ generic auxiliary files (dssr-pairs.pdb
etc), whilst the latter deletes prefixed supporting files (1ehz-pairs.pdb
etc).