利用 Streamlit 來部署TFinder到 Google Cloud Run
TFinder 是一個開源的生物資訊工具,主要是用於識別和分析基因的調控區域,例如啟動子,其肚子裡整合了 NCBI 和 JASPAR 等生物資料庫的數據,研究人員可以利用 TFinder 探索轉錄因子結合位點,並理解基因表達的調控機制,而產出的結果對於基因功能研究、疾病機制探索以及藥物靶點識別等領域,都可以提供許多重要的資訊。
有興趣的可以閱讀 TFinder: A Python Web Tool for Predicting Transcription Factor Binding Sites
在上一篇,我們已經討論過利用 Streamlit與Cloud Run來部署AI助手,因此會省略一些同樣的技術細節,本篇將著重在TFinder的設定與部署。
跟上一篇一樣,需要一些部署環境的前置作業:
Google Cloud Platform (GCP) 帳戶。
開發環境已安裝
gcloudCLI 並配置您的 GCP 專案。已安裝 Docker (儘管 Cloud Build 處理大部分 Docker 操作,但為了本地測試,最好還是安裝)。
TFinder Repo (需要先Clone到你的開發環境上)
1. 設定 secrets.toml
跟其他Streamlit App一樣,需要做基本的設定
message_from_god = ""
ncbi_error = "False"
unique_users = "0"
max_attempts = 3
其他requirements.txt等相關的套件可以參考 TFinder 中,而Dockerfile則是可參考上一篇的範本。
2. 建置 Docker 映像
目前我都是懶惰的使用Cloud Build ,在Build之前要確認一下專案的設定,並修改替代掉下面指令中的
gcloud config get-value project
gcloud builds submit --tag gcr.io/<project>/tfinder-streamlit:latest .
3. 部署到 Cloud Run
映像建置並推送到GCR後,就可以將其部署到 Cloud Run。
gcloud run deploy tfinder-streamlit --image gcr.io/<project>/tfinder-streamlit:latest --platform managed --region us-central1 --allow-unauthenticated
成功部署後,您將在輸出中收到一個 Service URL,這是您的 Streamlit 應用程式的端點,像是這樣
Service URL: https://tfinder-streamlit-999999999.us-central1.run.app
就可以使用此 URL 訪問您部署的 TFinder Streamlit 應用程式。
Deploy完成後便可以看到像是下面的畫面,左側有提供可以輸入NCBI gene name 與 NCBI gene ID,右邊的參數可以選擇要分析的序列類型,Promoter/Terminator/RNA/mRNA 等,這邊我們選擇來看exon 跟intron。
完成後便可以得到這個Gene的相關序列,如果你有相關的FastA檔案也可以直接在第二步上傳。
左側的選單我們可以選修改的類型,Motif/PWM (Position Weight Matrix)/JASPAR_ID ,搭配輸入的序列就可以瀏覽結果。
















