# Nucleic acids Score DNA or RNA and repack selected bases. Canonical DNA and RNA use the same `PoseStack` and score-function interfaces as proteins. Load a Biotite structure with the default parameter database, then build the score function from that same database: ```python from tmol.database import ParameterDatabase from tmol.io import pose_stack_from_atom_array from tmol.score import beta2016_score_function param_db = ParameterDatabase.get_default() pose_stack = pose_stack_from_atom_array(structure, device, param_db=param_db) sfxn = beta2016_score_function(device, param_db=param_db) scores = sfxn.render_whole_pose_scoring_module(pose_stack)(pose_stack.coords) ``` The beta2016-style preset includes the combined nucleic-acid torsion model, ordinary all-atom nonbonded terms, and nucleic-acid cartbonded parameters. ## Repack selected bases Use `NaChiRotamerSampler` with an explicit block mask: ```python from tmol.pack import pack_rotamers from tmol.pack import PackerPalette, PackerTask from tmol.pack.rotamer import IncludeCurrentSampler from tmol.pack.rotamer import NaChiRotamerSampler task = PackerTask(pose_stack, PackerPalette()) task.restrict_to_repacking() task.disable_packing_by_block_mask(~selected_na_blocks) task.add_conformer_sampler( NaChiRotamerSampler.from_database( param_db, device, chi_sample_level=1, sample_syn=True ) ) task.add_conformer_sampler(IncludeCurrentSampler()) packed = pack_rotamers(pose_stack, sfxn, task) ``` This sampler changes glycosidic chi and configured hydroxyl proton chis. It reads sugar pucker from the input but does not sample pucker. Because this task is restricted to repacking, it also does not change base identity. For protein–DNA or RNA–ligand systems, keep block masks explicit. If ligand preparation extends the parameter database, build both the pose and score function from the returned context. Generic Cartesian or kinematic minimization can follow packing; select its movable atoms separately. ## Examples and reference {doc}`DNA/RNA tutorial ` · {doc}`Packing ` · {doc}`Scoring API `