{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.10.12","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kaggle":{"accelerator":"none","dataSources":[{"sourceId":87793,"databundleVersionId":11228175,"sourceType":"competition"},{"sourceId":227203561,"sourceType":"kernelVersion"}],"dockerImageVersionId":30918,"isInternetEnabled":false,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"# **Introduction**","metadata":{"_kg_hide-input":false,"_kg_hide-output":true}},{"cell_type":"markdown","source":"In this notebook, local structures were examined for 606 of the 844 RNAs in the training data that did not contain missing values in the labels.","metadata":{}},{"cell_type":"code","source":"import numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\nimport matplotlib.pyplot as plt\nimport seaborn as sns\nimport warnings\nwarnings.filterwarnings('ignore')","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true,"execution":{"iopub.status.busy":"2025-03-12T13:44:59.377416Z","iopub.execute_input":"2025-03-12T13:44:59.377819Z","iopub.status.idle":"2025-03-12T13:44:59.382756Z","shell.execute_reply.started":"2025-03-12T13:44:59.377791Z","shell.execute_reply":"2025-03-12T13:44:59.381571Z"},"_kg_hide-input":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"train_labels = pd.read_csv('/kaggle/input/matrix-lmn/train_labels_perfect.csv')\ntrain_labels.head(3)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-03-12T13:25:43.361984Z","iopub.execute_input":"2025-03-12T13:25:43.362293Z","iopub.status.idle":"2025-03-12T13:25:43.659406Z","shell.execute_reply.started":"2025-03-12T13:25:43.362268Z","shell.execute_reply":"2025-03-12T13:25:43.658598Z"},"_kg_hide-input":true,"_kg_hide-output":true},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"# Bond distances","metadata":{}},{"cell_type":"code","source":"residue_pair = ['GG', 'GC', 'GA', 'CG', 'CC', 'AG', 'AA', 'GU', 'UG', 'UC', 'CU', 'AC', 'CA', 'UU', 'AU', 'UA']\n\nfor i in range(len(residue_pair)):\n    df = train_labels[train_labels.res2==residue_pair[i]]\n    plt.figure(figsize=(10, 5))\n    sns.histplot(df['l_1'], bins=50, kde=True)\n    plt.xlabel(\"Bond distance\")\n    plt.ylabel(\"Count\")\n    plt.title(f\"Bond Distance Distribution for Bound {residue_pair[i]} Pair\")\n    plt.show()\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-03-12T14:07:19.772089Z","iopub.execute_input":"2025-03-12T14:07:19.772417Z","iopub.status.idle":"2025-03-12T14:07:25.112998Z","shell.execute_reply.started":"2025-03-12T14:07:19.772391Z","shell.execute_reply":"2025-03-12T14:07:25.111987Z"},"_kg_hide-input":true},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"# Bond angles","metadata":{}},{"cell_type":"code","source":"residue_triplet = ['GGG', 'GGU', 'GUG', 'UGC', 'GCU', 'CUC', 'UCA', 'CAG', 'AGU', 'GUA', 'UAC', 'ACG', 'CGA', 'GAG', 'AGA', 'AGG', 'GGA', 'GAA', 'AAC', 'ACC', 'CCG', 'CGC', 'GCA', 'CAC', 'CCC', 'GGC', 'GCG', 'UGG', 'CUA', 'UAG', 'AGC', 'GCC', 'CCA', 'ACU', 'CAA', 'AAA', 'AAG', 'CAU', 'GAC', 'CUG', 'UGA', 'GAU', 'AUC', 'GUC', 'UCU', 'UAU', 'AUA', 'UAA', 'CUU', 'UUC', 'UCG', 'CGG', 'GUU', 'UUG', 'UGU', 'UCC', 'CCU', 'AUG', 'CGU', 'UUA', 'UUU', 'AUU', 'ACA', 'AAU']\n\nfor i in range(len(residue_triplet)):\n    df = train_labels[train_labels.res3==residue_triplet[i]]\n    plt.figure(figsize=(10, 5))\n    sns.histplot(df['m_1'], bins=50, kde=True)\n    plt.xlabel(\"Bond angle [degree]\")\n    plt.ylabel(\"Count\")\n    plt.title(f\"Bond Angle Distribution for {residue_triplet[i]}\")\n    plt.show()\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-03-12T14:11:43.343179Z","iopub.execute_input":"2025-03-12T14:11:43.343597Z","iopub.status.idle":"2025-03-12T14:12:03.811076Z","shell.execute_reply.started":"2025-03-12T14:11:43.343565Z","shell.execute_reply":"2025-03-12T14:12:03.810007Z"},"_kg_hide-input":true},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"# Torsion angle","metadata":{}},{"cell_type":"code","source":"residue_quartet = ['GGGU', 'GGUG', 'GUGC', 'UGCU', 'GCUC', 'CUCA', 'UCAG', 'CAGU', 'AGUA', 'GUAC', 'UACG', 'ACGA', 'CGAG', 'GAGA', 'AGAG', 'GAGG', 'AGGA', 'GGAA', 'GAAC', 'AACC', 'ACCG', 'CCGC', 'CGCA', 'GCAC', 'CACC', 'ACCC', 'GGCG', 'GCGC', 'GCAG', 'AGUG', 'GUGG', 'UGGG', 'GGGC', 'GGCU', 'GCUA', 'CUAG', 'UAGC', 'AGCG', 'CGCC', 'GCCA', 'CCAC', 'CACU', 'ACUC', 'UCAA', 'CAAA', 'AAAA', 'AAAG', 'AAGG', 'AGGC', 'GGCC', 'GCCC', 'CCCA', 'CCAU', 'GGGA', 'GGAC', 'GACU', 'ACUG', 'CUGA', 'UGAC', 'GACG', 'CGAU', 'GAUC', 'AUCA', 'UCAC', 'CACG', 'ACGC', 'AGUC', 'GUCU', 'UCUA', 'CUAU', 'GGAU', 'GAUA', 'AUAA', 'UAAC', 'AACU', 'ACUU', 'CUUC', 'UUCG', 'UCGG', 'CGGU', 'GGUU', 'GUUG', 'UUGU', 'UGUC', 'GUCC', 'UCCC', 'GCGA', 'CGAC', 'GACC', 'CCCU', 'CCUG', 'UGAU', 'GAUG', 'AUGA', 'UGAG', 'GCCG', 'CCGA', 'CGAA', 'GAAA', 'AAAC', 'CCGU', 'CGCU', 'GCUU', 'CUUG', 'UUGC', 'UGCG', 'GCGU', 'CGUC', 'CUCG', 'UCGU', 'CGUA', 'GUAA', 'UAAG', 'AAGA', 'GAGU', 'GUCA', 'ACCA', 'AAGC', 'AGCC', 'CCCG', 'UUAC', 'UACC', 'CCAA', 'CAAG', 'AAGU', 'AGUU', 'GUUU', 'UUUG', 'UUGA', 'AGGU', 'GGUA', 'CGUG', 'GUGU', 'UGUA', 'GUAG', 'AGCU', 'UCAU', 'CAUU', 'AUUA', 'UUAG', 'CUCC', 'UCCG', 'GAGC', 'GGCA', 'CAGA', 'AGAU', 'AUCU', 'UCUG', 'GCCU', 'CUGG', 'GGAG', 'CUCU', 'UCUC', 'CUGC', 'UGCC', 'GCAA', 'GGUC', 'CAGC', 'GCUG', 'ACGG', 'UACA', 'ACAG', 'CAGG', 'GGGG', 'UCUU', 'CGGA', 'UCCA', 'UGUG', 'GUGA', 'UGAA', 'AACA', 'ACAC', 'CGGC', 'GCGG', 'UGGA', 'UACU', 'AGAA', 'CUGU', 'UGUU', 'GUUC', 'UUCC', 'CCAG', 'AGAC', 'GACA', 'ACCU', 'CCUC', 'UCCU', 'UCGC', 'CGCG', 'CCUA', 'CUAA', 'GUUA', 'UUAU', 'UAUG', 'AUGG', 'UGGC', 'UUCA', 'CAAC', 'UUGG', 'GAAG', 'ACGU', 'CGUU', 'UUUC', 'CCUU', 'CGGG', 'ACAU', 'AUUG', 'UGCA', 'ACAA', 'CCCC', 'CUUU', 'UUUU', 'AGGG', 'CAUC', 'AUCG', 'UGGU', 'UAGU', 'CAUG', 'AUGC', 'UAGG', 'GUCG', 'UCGA', 'CCGG', 'AUAU', 'UAUC', 'ACUA', 'GUAU', 'UAUU', 'CAUA', 'AUAC', 'AUAG', 'AGCA', 'AUGU', 'UAAA', 'AAAU', 'AAUC', 'UAUA', 'GAUU', 'AUUC', 'AUCC', 'AACG', 'CAAU', 'AAUG', 'UUUA', 'UUAA', 'UAAU', 'CACA', 'UAGA', 'GCAU', 'UUCU', 'GAAU', 'CUUA', 'AAUA', 'CUAC', 'AAUU', 'AUUU']\n\nfor i in range(len(residue_quartet)):\n    df = train_labels[train_labels.res4==residue_quartet[i]]\n    plt.figure(figsize=(10, 5))\n    sns.histplot(df['n_1'], bins=50, kde=True)\n    plt.xlabel(\"Torsion angle [degree]\")\n    plt.ylabel(\"Count\")\n    plt.title(f\"Torsion Angle Distribution for {residue_quartet[i]}\")\n    plt.show()\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-03-12T14:12:57.271724Z","iopub.execute_input":"2025-03-12T14:12:57.272046Z","iopub.status.idle":"2025-03-12T14:14:16.509431Z","shell.execute_reply.started":"2025-03-12T14:12:57.272021Z","shell.execute_reply":"2025-03-12T14:14:16.508384Z"},"_kg_hide-input":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"","metadata":{"trusted":true},"outputs":[],"execution_count":null}]}