<jupyter_start><jupyter_text>Part 1: Read DataFrame<jupyter_code>ml_arr = MolecularInteraction(rootfolder, 'arna+arna')
df_arr = ml_arr.read_df()
ml_bdd = MolecularInteraction(rootfolder, 'bdna+bdna')
df_bdd = ml_bdd.read_df()
df_arr.head()<jupyter_output><empty_output><jupyter_text>Part 2: Process Data for plot<jupyter_code>d_data = plot_util.get_d_data_twiststretch_coupling(ml_arr, ml_bdd)<jupyter_output><empty_output><jupyter_text>Part 3: Plot<jupyter_code>interaction_list_v1 = ['base-stacking', 'backbone', 'ribose\npuckering', 'base-pairing']
yticks = [0, 15, 30, 45, 60]
ylims = (0, 60)

hspace = 0
wspace = 0.25
fig = plt.figure(figsize=(10,4))
d_axes = plot_util.get_daxes_twiststretch_coupling(fig, hspace, wspace)
xlist = range(4)
w = 0.5
lbfz = 14
tick_lbfz = 12
ttfz = 16

key1 = 'left'
ax = d_axes[key1]
yarray = plot_util.d_data_to_yarray_twiststretch(d_data, key1)
ax.bar(xlist, yarray, w, color='black')
ax.set_xticks(xlist)
ax.set_xticklabels(interaction_list_v1)
ax.set_yticks(yticks)
ax.set_ylim(ylims)
ylabel = plot_util.get_ylabel_twiststretch(4, 3)
ax.set_ylabel(ylabel, fontsize=lbfz)
ax.set_title('dsRNA', fontsize=ttfz)
ax.tick_params(axis='y', labelsize=tick_lbfz)
ax.tick_params(axis='x', labelsize=tick_lbfz, labelrotation=23)

key1 = 'right'
ax = d_axes[key1]
yarray = plot_util.d_data_to_yarray_twiststretch(d_data, key1)
ax.bar(xlist, yarray, w, color='black')
ax.set_xticks(xlist)
ax.set_xticklabels(interaction_list_v1)
ax.set_yticks(yticks)
ax.set_ylim(ylims)
ylabel = plot_util.get_ylabel_twiststretch(5, 3)
ax.set_ylabel(ylabel, fontsize=lbfz)
ax.set_title('dsDNA', fontsize=ttfz)
ax.tick_params(axis='y', labelsize=tick_lbfz)
ax.tick_params(axis='x', labelsize=tick_lbfz, labelrotation=23)

plt.savefig('twist_stretch_ml_decompose.svg')
plt.show()<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.14018691588785046, 'fraction_numerical': 0.026388125343595383, 'mean_word_length': 9.282485875706215, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 13, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '3', 'dir': 'jupyter-structured-clean-dedup', 'id': '209491', 'license': 'MIT', 'n_tokens_mistral': 856, 'n_tokens_neox': 810, 'n_words': 112, 'path': 'notebooks/twiststretch_coupling.ipynb', 'repo_name': 'yizaochen/mldecompose_pnas16mer', 'size': '1819'}