{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.11.11","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":12276181,"sourceType":"competition"},{"sourceId":11850441,"sourceType":"datasetVersion","datasetId":7446165}],"dockerImageVersionId":31040,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"## SimRNA is a method for RNA 3D structure modeling with optional restraints\n**SimRNA** is a computational method used for RNA 3D structure modeling and simulations. It employs (1) coarse-grained representation of RNA molecules and (2) relies on the Monte Carlo method to explore conformational space. (3) Additionally, uses a statistical potential to approximate energy and identify biologically relevant structures.\n\nSimRNA can predict RNA folding and interactions using only sequence information, but it also allows users to incorporate restraints—such as secondary structure constraints or experimental data—to refine predictions. It has been applied to various RNA modeling tasks, including RNA folding simulations, conformational dynamics, and complex formation.","metadata":{}},{"cell_type":"code","source":"\"Om Namah Shivaya!! 🙏🙏\"","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true,"execution":{"iopub.status.busy":"2025-05-17T14:46:58.777466Z","iopub.execute_input":"2025-05-17T14:46:58.777829Z","iopub.status.idle":"2025-05-17T14:46:58.790963Z","shell.execute_reply.started":"2025-05-17T14:46:58.777791Z","shell.execute_reply":"2025-05-17T14:46:58.789143Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"## Setup","metadata":{}},{"cell_type":"code","source":"!cp ../input/simrna-v3-2/SimRNA_64bitIntel_Linux.tgz ./SimRNA_64bitIntel_Linux.tgz\n!tar -zxvf SimRNA_64bitIntel_Linux.tgz","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-05-17T17:35:14.968258Z","iopub.execute_input":"2025-05-17T17:35:14.968602Z","iopub.status.idle":"2025-05-17T17:35:15.532329Z","shell.execute_reply.started":"2025-05-17T17:35:14.968571Z","shell.execute_reply":"2025-05-17T17:35:15.531185Z"},"collapsed":true,"jupyter":{"outputs_hidden":true},"_kg_hide-output":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"%cd SimRNA_64bitIntel_Linux\n!sudo ln -s $(pwd)/* /usr/local/bin","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-05-17T17:36:54.215272Z","iopub.execute_input":"2025-05-17T17:36:54.216163Z","iopub.status.idle":"2025-05-17T17:36:54.405903Z","shell.execute_reply.started":"2025-05-17T17:36:54.216125Z","shell.execute_reply":"2025-05-17T17:36:54.404652Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"## Config","metadata":{}},{"cell_type":"code","source":"%%writefile config.dat\nNUMBER_OF_ITERATIONS 1600000\nTRA_WRITE_IN_EVERY_N_ITERATIONS 8000\n\nINIT_TEMP 1.35\nFINAL_TEMP 0.90\n\nBONDS_WEIGHT 1.0\nANGLES_WEIGHT 1.0\nTORS_ANGLES_WEIGHT 0.0\nETA_THETA_WEIGHT 0.40","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-05-17T17:39:31.293433Z","iopub.execute_input":"2025-05-17T17:39:31.293832Z","iopub.status.idle":"2025-05-17T17:39:31.300870Z","shell.execute_reply.started":"2025-05-17T17:39:31.293785Z","shell.execute_reply":"2025-05-17T17:39:31.299877Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"%%writefile 7TAX_M.seq\nCUAAGAAAUUCACGGCGGGCUUGAUGUCCGCGUCUACCUGAUUCACUGCCGUAUAGGCAGC","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-05-17T17:39:36.284541Z","iopub.execute_input":"2025-05-17T17:39:36.285325Z","iopub.status.idle":"2025-05-17T17:39:36.291646Z","shell.execute_reply.started":"2025-05-17T17:39:36.285293Z","shell.execute_reply":"2025-05-17T17:39:36.290594Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"## Run Simulation","metadata":{}},{"cell_type":"code","source":"PDB_NAME = \"7TAX_M\"\n!SimRNA -c config.dat -s {PDB_NAME}.seq -o {PDB_NAME} -E 10","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-05-17T17:44:30.953711Z","iopub.execute_input":"2025-05-17T17:44:30.954913Z","iopub.status.idle":"2025-05-17T19:10:14.860506Z","shell.execute_reply.started":"2025-05-17T17:44:30.954863Z","shell.execute_reply":"2025-05-17T19:10:14.859354Z"},"scrolled":true,"_kg_hide-output":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"!cat {PDB_NAME}_??.trafl > {PDB_NAME}_ALL.trafl\n!clustering {PDB_NAME}_ALL.trafl 0.01 3.63 >& {PDB_NAME}_clustering.log #NOTE: we used 36.3Å rmsd threshold which is 0.1*seq_length","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-05-17T19:19:33.005982Z","iopub.execute_input":"2025-05-17T19:19:33.007168Z","iopub.status.idle":"2025-05-17T19:19:37.559278Z","shell.execute_reply.started":"2025-05-17T19:19:33.007112Z","shell.execute_reply":"2025-05-17T19:19:37.558075Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"!SimRNA_trafl2pdbs {PDB_NAME}_01-000001.pdb {PDB_NAME}_ALL_thrs7.10A_clust01.trafl 1 AA\n!SimRNA_trafl2pdbs {PDB_NAME}_01-000001.pdb {PDB_NAME}_ALL_thrs7.10A_clust02.trafl 1 AA\n!SimRNA_trafl2pdbs {PDB_NAME}_01-000001.pdb {PDB_NAME}_ALL_thrs7.10A_clust03.trafl 1 AA","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-05-17T19:20:13.720666Z","iopub.execute_input":"2025-05-17T19:20:13.721809Z","iopub.status.idle":"2025-05-17T19:20:14.439041Z","shell.execute_reply.started":"2025-05-17T19:20:13.721756Z","shell.execute_reply":"2025-05-17T19:20:14.437830Z"},"scrolled":true,"_kg_hide-output":true},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"## E vs. RMSD plot","metadata":{}},{"cell_type":"code","source":"!SimRNA –c config.dat –n 0 –p {PDB_NAME}_01-000001.pdb –o {PDB_NAME}_native -E 10 >& {PDB_NAME}_native.log","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-05-17T19:29:54.613163Z","iopub.execute_input":"2025-05-17T19:29:54.614191Z","iopub.status.idle":"2025-05-17T19:29:54.738607Z","shell.execute_reply.started":"2025-05-17T19:29:54.614149Z","shell.execute_reply":"2025-05-17T19:29:54.737332Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"!cat {PDB_NAME}_native.trafl {PDB_NAME}_all.trafl > {PDB_NAME}_wNative.trafl","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"!calc_rmsd_to_1st_frame {PDB_NAME}_wNative.trafl {PDB_NAME}_wNative.rmsd_e","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-05-17T19:28:10.819224Z","iopub.execute_input":"2025-05-17T19:28:10.820062Z","iopub.status.idle":"2025-05-17T19:28:10.948572Z","shell.execute_reply.started":"2025-05-17T19:28:10.820026Z","shell.execute_reply":"2025-05-17T19:28:10.947463Z"}},"outputs":[],"execution_count":null}]}