生命科學學生的WSL與Python學習之旅 (第一集)

更新 發佈閱讀 5 分鐘

這是一位生命科學學生如何從零開始安裝 WSL,學習 Python 與 Linux 的第一集。

一個誤打誤撞而開始的故事

在勉強利用 ChatGPT,以及自己對程式碼的一點直覺完成了大學生的專題實驗後,我在未來碩士班老師的引薦之下,利用長達八個星期的寒假,撥出六個星期到竹北的新竹生物醫學園區進行實習;就在我一如往常,準備開啟我的 Windows 筆電工作時,卻在公司的徵才網站上看到對正式員工的基本要求:「精熟 Linux 相關系統、Docker 容器、Python 程式碼」,並且「能獨立解決問題,並與開發團隊合作」。

我看到這段的當下,驚覺自己與業界的距離之遠。當時我其他分頁都還是問 ChatGPT 一些 Class 類別設計、讀取 json 檔案的方法等最基礎的問題,更別說是能獨立解決複雜的程式碼效能問題;對於 Windows 的系統環境也只是外行人的程度,更別說是精通其他系統架構;連自己的 Python 程式碼架構都無法完全講好,更別說是與開發團隊進一步合作。意識到這些的我,在實習結束之後,即刻就去書店買了一本跟 Python 有關的書籍,並就碩士班老師的研究領域,回頭查詢我可能會需要哪些 Python 套件。

本來以為還能繼續待在 Windows 舒適圈的我,在意識到 pysam(一個處理DNA序列資料的 Python 套件)根本沒有支援 Windows 的穩定版本,但以後分析實驗室裡的序列資料都必定需要它的當下,整個人慌得像熱鍋上的螞蟻,因為根據我的經濟情況,根本不可能只是為了這個套件,再買一臺 MacBook 或者原生 Linux 相關系統的電腦。於是一如既往,我就去問問 ChatGPT 該怎麼解決;這時它的回答,跳出了一個我從來不認識的詞:Windows 下的 Linux 子系統(Windows subsystem for Linux, WSL)。

「這是類似在 Windows 底下再安裝一個系統嗎?」、「在那個子系統裡面安裝 pysam時,它真的會判讀為 Linux-64,然後繼續安裝嗎?」我充滿好奇,深夜兩三點仍不眠不休,一步步照著指示完成安裝,成功在 Linux 子系統中建構 Python 虛擬環境,下載並執行了 pysam。當時我還不知道,這個操作只是我日後學習之路的序章而已。

學習過程中的挑戰與險境

在安裝好這個子系統,並使用 pysam 成功下載第一個定序檔案之後,我本來以為事情就這麼告一段落了,卻不知道接下來我會遇到的難題,有如唐僧遇到的九九八十一難。

首先是儲存空間爆掉。我的系統硬碟原本就只有 512GB,下載幾個定序資料後竟直接消耗掉數十 GB。只好自掏腰包買了 1TB 外接硬碟,學習將 WSL 移轉到外部空間。

接著,因為 WSL 裡面有我另外安裝的 MySQL 資料庫,以前我並沒有意識到要將其完全關閉,再登出 WSL ,於是每次都是寫好程式碼後,直接從 Windows 端把 WSL 登出並關機。時間一久,不只資料庫裡面的資料,連系統檔案都因為這樣不停毀損,甚至之前匯出的 WSL 備份檔案也包含毀損的系統套件,在冬天的寒冷中奮戰了一整個晚上後,最後那個 WSL 系統還是只能整個刪除重灌,連帶著我之前的虛擬環境、定序資料,全部都刪掉了。為了把那些資料重新弄回來,我又花了三天的時間。

最後這個最讓我印象深刻;當時我為了解決它時不時就自動轉進唯讀模式的問題(那時我還沒意識到其實外接硬碟本身已經怪怪的了),於是試著寫了一個腳本來偵測它是否即將進入唯讀模式;為了模擬它可能進唯讀模式的情境,並確認腳本有無正確運作,我就直接在 WSL 還沒登出時,拔掉外接硬碟,還重複好幾次。最後,當我要繼續工作時, Windows 忽然跟我報告 I / O 讀寫錯誤,怎麼嘗試都沒有辦法讀取外接硬碟的檔案,整顆硬碟因此壽終正寢。

最後,我別無選擇,只能又花了一些費用買新的硬碟;以及幾天的睡眠時間,從頭到尾地完成 Python、 MySQL、 pysam 安裝,把我之前的東西全部恢復成原樣。到這場險境結束時,我已經足足花了半個月的時間,一個人憑著自己的幹勁,默默地在 ChatGPT 的協助下處理這些事;但是透過這次排除萬難的過程,卻也讓我學到很多。

這段學習帶給我的影響

從這些災難中浴火重生的我,因此學會更好的外接硬碟使用習慣、如何備份與還原 WSL、怎麼撰寫簡單的 Linux 腳本、面對系統錯誤時該從哪裡開始排查等知識與技能。除此之外,也讓我更確信,學寫程式與使用 Linux 對一位生物科學學生來說,不只是輔助工具,而是一條全新的視野與解決問題的路。

如果喜歡這個系列,請喜歡這篇文章;每一個喜歡,都是我繼續分享這些故事的動力。

下集預告:當我第一次用 t-SNE 畫出基因圖:一場與記憶體打架的資料之旅 - 學會用 Python 做生物資訊視覺化,我經歷了什麼?

留言
avatar-img
留言分享你的想法!
avatar-img
生資知識的道場
6會員
15內容數
歡迎來到【生資道場】! 這裡是一個結合生物資訊與生活思維的小宇宙。 我們聊癌症、談程式碼,也偶爾思考世界的複雜與美感。 不一定要懂程式、不一定要是科研人, 只要你對知識、生活與實驗感興趣,就能自在入座。 歡迎留言交流,理性討論,偶爾隨著道場主一起激盪新想法。
你可能也想看
Thumbnail
在本篇文章點會以我的觀點和歷程來描述透過Python轉職過程、轉職後的工作選項和薪資狀況,並分享我知道的進修機構和學習單位,提供讀者參考。
Thumbnail
在本篇文章點會以我的觀點和歷程來描述透過Python轉職過程、轉職後的工作選項和薪資狀況,並分享我知道的進修機構和學習單位,提供讀者參考。
Thumbnail
這篇自介文會簡單分享我在求學路上的自學經驗,以及我創建 YCH EduSpace 的動機。身為學習雜食性動物,我對探索未知充滿熱情;從未補習的我,憑藉自學和筆記整理一路走到今天。創立 YCH EduSpace,是希望能將這些學習技巧和心得,分享給更多學生,幫助大家在學業和升學中脫穎而出🌟
Thumbnail
這篇自介文會簡單分享我在求學路上的自學經驗,以及我創建 YCH EduSpace 的動機。身為學習雜食性動物,我對探索未知充滿熱情;從未補習的我,憑藉自學和筆記整理一路走到今天。創立 YCH EduSpace,是希望能將這些學習技巧和心得,分享給更多學生,幫助大家在學業和升學中脫穎而出🌟
Thumbnail
Python擁有便攜性和通用性,適用於多種場景,同時具有全球通用性。Python在科技製造業、資料分析、人工智慧等領域有廣泛應用,對於理工科背景者而言有獨特的優勢。透過在線課程、自學書籍、實作專案,以及參與社群和開源專案,理工背景者可以達成從轉職進入Python程式領域的目標。
Thumbnail
Python擁有便攜性和通用性,適用於多種場景,同時具有全球通用性。Python在科技製造業、資料分析、人工智慧等領域有廣泛應用,對於理工科背景者而言有獨特的優勢。透過在線課程、自學書籍、實作專案,以及參與社群和開源專案,理工背景者可以達成從轉職進入Python程式領域的目標。
Thumbnail
暨上篇文章與大家簡單介紹資訊種子的培訓內容後,這篇文章將與大家分享我自己在是如何加入資訊種子的,以及在這一年中的所見所聞與心得。不管是對資訊種子有興趣,或是仍在猶豫要不要加入資訊種子的人,千萬不要錯過了!
Thumbnail
暨上篇文章與大家簡單介紹資訊種子的培訓內容後,這篇文章將與大家分享我自己在是如何加入資訊種子的,以及在這一年中的所見所聞與心得。不管是對資訊種子有興趣,或是仍在猶豫要不要加入資訊種子的人,千萬不要錯過了!
Thumbnail
不論你是對未來的職涯、學業感到迷惘無助,或是雖然有了明確方向但還是想要獲得更多、看得更遠,我相信點進這篇文章的你,就是資訊種子的有緣人。我將分享自身經驗,告訴你為何資訊種子是大學生一定要好好把握的大好機會,以及我是如何加入資訊種子、在裡頭學習成長、到現在發芽茁壯。
Thumbnail
不論你是對未來的職涯、學業感到迷惘無助,或是雖然有了明確方向但還是想要獲得更多、看得更遠,我相信點進這篇文章的你,就是資訊種子的有緣人。我將分享自身經驗,告訴你為何資訊種子是大學生一定要好好把握的大好機會,以及我是如何加入資訊種子、在裡頭學習成長、到現在發芽茁壯。
Thumbnail
3 年前,我剛大學畢業並幸運考上研究所,其實我不知道自己要什麼?只知道因為大學四年過得跌跌撞撞、混一天是一天,自己必須在研究所做點什麼而投遞一堆實習履歷及團隊、社團招募,但幾乎都沒得到回應,直到開學前,我正覺得是自己什麼都不會而失落時,這個學生專案團隊聯絡上我,讓我在後來兩年取得極大的個人成長與探索
Thumbnail
3 年前,我剛大學畢業並幸運考上研究所,其實我不知道自己要什麼?只知道因為大學四年過得跌跌撞撞、混一天是一天,自己必須在研究所做點什麼而投遞一堆實習履歷及團隊、社團招募,但幾乎都沒得到回應,直到開學前,我正覺得是自己什麼都不會而失落時,這個學生專案團隊聯絡上我,讓我在後來兩年取得極大的個人成長與探索
Thumbnail
一位大學生分享大學課程體驗,包括必修課程、服務學習和轉系考等,以及對各個科系的看法和感受。文章篇幅較長,回顧了大學四年的教學環境和科系情況。
Thumbnail
一位大學生分享大學課程體驗,包括必修課程、服務學習和轉系考等,以及對各個科系的看法和感受。文章篇幅較長,回顧了大學四年的教學環境和科系情況。
Thumbnail
這是一篇從為甚麼會加入志工,到第一次擔任志工,並領取任務"直播證書任務"給大家看的小紀錄,同時也是閱歷自己的曾經,從反思自己、質疑自己、到面對自己,各階段的成長經歷。剛從新手村出發的曾經,你是否也跟我一樣,還依稀記得那時受人幫助、啟迪、鼓勵的悸動。
Thumbnail
這是一篇從為甚麼會加入志工,到第一次擔任志工,並領取任務"直播證書任務"給大家看的小紀錄,同時也是閱歷自己的曾經,從反思自己、質疑自己、到面對自己,各階段的成長經歷。剛從新手村出發的曾經,你是否也跟我一樣,還依稀記得那時受人幫助、啟迪、鼓勵的悸動。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News