{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"},"kaggle":{"accelerator":"none","dataSources":[{"sourceId":51294,"databundleVersionId":7331882,"sourceType":"competition"}],"dockerImageVersionId":30558,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"The first step for reproducing my solution: turning the prone-to-OOM errors CSV into friendly NP arrays. Check [my github](https://github.com/shlomoron/Stanford-Ribonanza-RNA-Folding-10th-place-solution) for more details.","metadata":{}},{"cell_type":"code","source":"import numpy as np\nimport pandas as pd\nimport matplotlib.pyplot as plt\nimport pickle","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","execution":{"iopub.status.busy":"2023-10-28T09:20:52.713904Z","iopub.execute_input":"2023-10-28T09:20:52.714865Z","iopub.status.idle":"2023-10-28T09:20:53.164162Z","shell.execute_reply.started":"2023-10-28T09:20:52.714826Z","shell.execute_reply":"2023-10-28T09:20:53.16308Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_data = pd.read_csv('/kaggle/input/stanford-ribonanza-rna-folding/train_data.csv')\ntrain_data.head()","metadata":{"execution":{"iopub.status.busy":"2023-10-28T09:22:47.832111Z","iopub.status.idle":"2023-10-28T09:22:47.83251Z","shell.execute_reply.started":"2023-10-28T09:22:47.832319Z","shell.execute_reply":"2023-10-28T09:22:47.832337Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"len(train_data)","metadata":{"execution":{"iopub.status.busy":"2023-10-28T09:22:47.834041Z","iopub.status.idle":"2023-10-28T09:22:47.834576Z","shell.execute_reply.started":"2023-10-28T09:22:47.834309Z","shell.execute_reply":"2023-10-28T09:22:47.834334Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"cols = train_data.columns.to_numpy()\nreactivity_cols = [x for x in cols if 'reactivity' in x and 'error' not in x]\nerror_cols = [x for x in cols if 'error' in x]","metadata":{"execution":{"iopub.status.busy":"2023-10-28T09:22:47.838165Z","iopub.status.idle":"2023-10-28T09:22:47.838721Z","shell.execute_reply.started":"2023-10-28T09:22:47.838421Z","shell.execute_reply":"2023-10-28T09:22:47.838447Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"sequence_id = train_data.sequence_id.to_numpy()\nsequence = train_data.sequence.to_numpy()\nexperiment_type = train_data.experiment_type.to_numpy()\ndataset_name = train_data.dataset_name.to_numpy()\nreads = train_data.reads.to_numpy()\nsignal_to_noise = train_data.signal_to_noise.to_numpy()\nSN_filter = train_data.SN_filter.to_numpy()\nreactivity = train_data[reactivity_cols].to_numpy()\nreactivity_error = train_data[error_cols].to_numpy()","metadata":{"execution":{"iopub.status.busy":"2023-10-28T09:22:47.840114Z","iopub.status.idle":"2023-10-28T09:22:47.840641Z","shell.execute_reply.started":"2023-10-28T09:22:47.840366Z","shell.execute_reply":"2023-10-28T09:22:47.840392Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"pickle.dump(sequence_id, open('sequence_id.p', 'bw'))\npickle.dump(sequence, open('sequence.p', 'bw'))\npickle.dump(experiment_type, open('experiment_type.p', 'bw'))\npickle.dump(dataset_name, open('dataset_name.p', 'bw'))\npickle.dump(reads, open('reads.p', 'bw'))\npickle.dump(signal_to_noise, open('signal_to_noise.p', 'bw'))\npickle.dump(SN_filter, open('SN_filter.p', 'bw'))\npickle.dump(reactivity, open('reactivity.p', 'bw'))\npickle.dump(reactivity_error, open('reactivity_error.p', 'bw'))","metadata":{"execution":{"iopub.status.busy":"2023-10-28T09:22:47.841801Z","iopub.status.idle":"2023-10-28T09:22:47.842305Z","shell.execute_reply.started":"2023-10-28T09:22:47.842043Z","shell.execute_reply":"2023-10-28T09:22:47.842067Z"},"trusted":true},"execution_count":null,"outputs":[]}]}