or
Leontis-Westhof nomenclature for RNA base pairs would be the one I'd look to. They have a program called RNAVIEW that'll create an RNAML file specifying the base pair geometries if you give it a PDB.
However, completely specifying base pair restraints for every kind of non-canonical WC base pair is a lot of work (could be worked on eventually though).
A starting point for phenix.refine it would be nice to restrain the sugar puckers, the planarity of the bases (themselves), and the planarity of WC base pairs and the distances between them (the implementation in CNS). A useful machine readable format that the user can use for this is the dot-bracket notation (
http://rna.tbi.univie.ac.at/help.html#A6) and the inclusion of the brackets ( [ ] ) for pseudoknots. The user specifies the dot bracket notation and the sequence and its easy to write the secondary structure (essentially establishing all the base pairs).
Offtopic:
Including base pair information into phenix.refine would definitely help with refinements when the phases/resolution are poor. However including this kind of information into autosol would greatly help with RNA/DNA building. I cross-ref autosol in this conversation because the language for specifying this information is established (mostly, see RNA Ontology Consotrium for efforts on more complete descriptions of RNA motifs).
Extremely off topic:
Francois Major (
http://www.major.iric.ca/MajorLabEn/Home.html) has developed a pipeline for a user inputting a sequence and folding in 3D (which I believe is based on pattern matching your sequence with what's seen in the PDB). You and I talked about experimental phaseless structure solving (say via molecular replacement) at RapiData. MC-Sym/MC-Fold I think is a step in the right direction. I can only dream of a stage where in AutoSol, you have an RNA brute-force molecular replacement module that takes the models from MC-SYM/MC-Fold pipeline and perform a distributed molecular replacement across cores or clusters.
F