stacker.residue_movement.write_psf_data#
- write_psf_data(pdb='', outcsv='', pers_res=-1, view_res=-1, res1_atoms={'C2', 'C4', 'C6'}, res2_atoms={'C2', 'C4', 'C6'}, index=1)[source]#
Alias for write_bottaro_to_csv().
Write the r, rho, and theta values used to make a Pairwise Stacking Fingerprint (PSF) from a trajectory PDB to a CSV.
Calculates the r, rho, and theta values as described in Bottaro et al. from a perspective nucleotide residue to a viewed nucleotide residue per frame. Writes the results to a CSV file.
- Parameters:
- pdbstr
Filename of PDB containing information for ONLY two residues (perspective and viewed nucleotide) at each frame.
- outcsvstr
Filename of CSV file to write to.
- pers_resint, default = -1
Residue index of the perspective residue whose plane to project onto (0-/1-index changed by index variable, default 1-indexed). If -1, a 2-residue PDB is assumed and perspective id is the first res_id.
- view_resint, default = -1
Residue index of the viewed residue whose midpoint to project to perspective residue plane (0-/1-index changed by index variable, default 1-indexed). If -1, a 2-residue PDB is assumed and viewed id is the second res_id.
- res1_atomsset, default = {“C2”, “C4”, “C6”}
Set of the atom names (e.g., “C2”, “C4”, “C6”) to use from residue 1 to find center of geometry for perspective nucleotide.
- res2_atomsset, default = {“C2”, “C4”, “C6”}
Set of the atom names (e.g., “C2”, “C4”, “C6”) to use from residue 2 to find center of geometry for viewed nucleotide.
- indexint, default = 1
Index of the residues. 1-indexed (default) means residue ids start at 1. cpptraj uses 1-indexed residues. mdtraj PDB outputs will be 0-indexed.
See also
filter_traj_to_pdb
convert a trajectory and topology file into a single filtered PDB file to input here
visualize_two_residue_movement_scatterplot
Visualize Output CSV data as a PSF scatterplot from this data
visualize_two_residue_movement_heatmap
Visualize Output CSV data as a PSF heatmap from this data
References
[1] Sandro Bottaro, Francesco Di Palma, Giovanni Bussi, The role of nucleobase interactions in RNA structure and dynamics, Nucleic Acids Research, Volume 42, Issue 21, 1 December 2014, Pages 13306–13314, https://doi.org/10.1093/nar/gku972
Examples
>>> import stacker as st >>> trajectory_file = 'testing/first10_5JUP_N2_tUAG_aCUA_+1GCU_nowat.mdcrd' >>> topology_file = 'testing/5JUP_N2_tUAG_aCUA_+1GCU_nowat.prmtop' >>> pdb_filename = 'testing/script_tests/residue_movement/5JUP_N2_tUAG_aCUA_+1GCU_nowat_mdcrd.pdb' >>> output_csv_name = "testing/script_tests/residue_movement/tUAG_aCUA_+1GCU_GC_plot.csv" >>> perspective_residue = 426 # 1-indexed >>> viewed_residue = 427 # 1-indexed >>> st.filter_traj_to_pdb(trj_file=trajectory_file, top_file=topology_file, pdb=pdb_filename, ... residues={perspective_residue,viewed_residue}, atoms={"C2", "C4", "C6"}) WARNING: Residue Indices are expected to be 1-indexed Reading trajectory... Reading topology... Filtering trajectory... WARNING: Output filtered traj atom, residue, and chain indices are zero-indexed WARNING: Output file atom, residue, and chain indices are zero-indexed Filtered trajectory written to: testing/script_tests/residue_movement/5JUP_N2_tUAG_aCUA_+1GCU_nowat_mdcrd.pdb >>> st.write_bottaro_to_csv(pdb_filename, output_csv_name, pers_res=perspective_residue, view_res=viewed_residue) Output values written to testing/script_tests/residue_movement/tUAG_aCUA_+1GCU_GC_plot.csv >>> print("".join(open(output_csv_name).readlines()[:10])) frame,r_dist,rho_dist,theta 0,7.5253415,6.5321836,204.02934901525177 1,6.884639,6.0513134,199.40647902703924 2,7.301847,6.151191,205.1906453260924 3,6.5815425,5.461494,199.5421877249345 4,7.0760417,5.3919506,204.0150121540755 5,7.2589145,6.3483577,201.32674968542617 6,7.4929285,6.414151,205.92967194025135 7,7.1484976,6.035165,202.88441276229827 8,7.344863,5.541237,217.30043061558888