FragMapper
Maintained by Seth Veenbaas
[ ]:
import rnavigate as rnav
Import data to RNAvigate and run Fragmapper analysis
[ ]:
from rnavigate.examples import quinaxoline, linezolid, methyl
The above import statement is equivalent to running the following code from inside /path/to/RNAvigate/rnavigate/examples/rrna_fragmap/.
# Reference structure data is shared between samples
common_data = rnav.Sample(
sample='6HA1 - LSU',
sequence='6HA1_LSU.fasta',
pdb={'pdb': '6HA1_LSU.pdb',
'sequence': 'sequence',
'chain': 'A'},
ss='6HA1_LSU.json'
)
# Flip structure diagram along x and y axes
common_data.data['ss'].data["X_coordinate"] *= -1
common_data.data['ss'].data["Y_coordinate"] *= -1
# Quinaxoline test sample
quinoxiline = rnav.Sample(
'B. sub rRNA FragMaP: quinoxiline',
inherit=common_data,
shapemap='2_QN_DMSO_subtracted_LSU_profile.txt'
)
# Linezolid test sample
lnz = rnav.Sample(
'B. sub rRNA FragMaP: linezolid',
inherit=common_data,
shapemap='2_ZLD_DMSO_subtracted_LSU_profile.txt'
)
# Methyl control sample
met = rnav.Sample(
'B. sub rRNA FragMaP: methyl',
inherit=common_data,
shapemap='2_Methyl_DMSO_subtracted_LSU_profile.txt'
)
[ ]:
# Run Fragmapper analysis and saving a FragMaP profile object
# NOTE: Fragmapper requires 1 test sample and 1 control sample
qn_fm = rnav.analysis.Fragmapper(quinaxoline, methyl)
lnz_fm = rnav.analysis.Fragmapper(linezolid, methyl)
FragMaP scatter plots
Scatter plot with FragMaP profiles
[ ]:
# FragMapper.plot_scatter()
print(lnz_fm.get_data("fragmap").data.columns)
fig, ax = lnz_fm.plot_scatter()
fig, ax = qn_fm.plot_scatter()
Scatter plot with raw mutation rates
[ ]:
# FragMaP_profile_object.plot_scatter()
fig1, ax1 = lnz_fm.plot_scatter()
fig2, ax2 = qn_fm.plot_scatter()
View FragMaP profile
[ ]:
plot = rnav.plot_profile(
samples=[lnz_fm],
profile="fragmap",
region=[2000, 2700],
sequence='shapemap',
plot_error=False
)
ax = plot.axes[0, 0]
ax.set(ylim=[-2, 10])
ax.legend(['ZLD FragMaP Profile']);
View raw sample data
[ ]:
plot = rnav.plot_skyline(
samples=[lnz_fm],
profile="fragmap",
columns=["Modified_rate_1", "Modified_rate_2", "Delta_rate"],
sequence="shapemap",
region=[2000, 2700],
annotations=["fragmap_sites"],
annotations_mode='bar',
plot_kwargs={"subplot_kw": {"ylim": (-0.01, 0.2)}},
)
plot.axes[0, 0].legend(
["ZLD mutation rate", "methyl mutation rate", "delta rate"]
);
View FragMaP site annotation in secondary structure
[ ]:
with rnav.styles.Settings({'ss': {'structure': {'linewidth': 2}}}):
plot = rnav.plot_ss(
[lnz_fm],
profile='fragmap',
structure='ss',
colors={'structure': 'sequence',
'nucleotides': 'none',},
bp_style='conventional',
annotations=['fragmap_sites'],
nt_ticks=100
)