Thanks for your request for adding new options to
mutate_bases "to mutate all residues of the same type to another". I see your point, but I feel such functionality is better served by purpose-specific scripts instead of by
mutate_bases itself. As a general design principle, I aim to make the core part of 3DNA focused, robust and efficient, and use Ruby scripts to build up features of
general interest. Overall, 3DNA is intended as a
toolset to be used as users see fit.
With regard to
mutate_bases, I am considering to add an option to list all bases (nucleotides) in a PDB structure in a format that can be easily modified (either manually or pragmatically) and then fed back to the program. This option allows for easy adaptation of
mutate_bases to various common situations (including yours),
without adding too many bells and whistles that would blur the program's primary function.
An excerpt example for the first 12 bases of
6tna is as below:
chain=A snum=1 name=G
chain=A snum=2 name=C
chain=A snum=3 name=G
chain=A snum=4 name=G
chain=A snum=5 name=A
chain=A snum=6 name=U
chain=A snum=7 name=U
chain=A snum=8 name=U
chain=A snum=9 name=A
chain=A snum=10 name=2MG
chain=A snum=11 name=C
chain=A snum=12 name=U
Does this sound useful?
Xiang-Jun