owned this note
owned this note
Published
Linked with GitLab
---
tags: tutorial, 生醫, nano4-bio
---
# 國網中心GP1生醫核心設施 - Nano4生醫專用節點使用說明
## 申請加入GP1核心設施服務計畫
* 若您尚未申請GP1核心設施計算服務,請參考[申請服務流程](https://lions.nchc.org.tw/ngsApplyDoc.jsp)。
* 服務項目收費表
| 服務代號 | 服務項目(中文或英文) | 國科會計畫收費 | 學術界收費 | 產業界收費 | 服務用途及獨特性 |
|---|---|---|---|---|---|
| GP1-1 | CPU計算節點 | 0.1/核心小時 | 0.2/核心小時 | 0.37/核心小時 | 基因體註解、蛋白質結構與電腦模擬 |
| GP1-2 | CPU大記憶體節點 | 0.7/核心小時 | 1.4/核心小時 | 2.59/核心小時 | 基因體組裝分析 |
| GP1-3 | GPU計算節點 | 30/GPU小時 | 60/GPU小時 | 150/GPU小時 | 基因體鹼基判定與蛋白質結構計算 |
| GP1-4 | 巨量資料儲存 | 1440/TB/year | 4200/TB/year | 6240/TB/year | 資料備份服務 |
| GP1-7 | IPA資料庫 | 470/時 | 670/時 | 暫不提供 | IPA 生物資訊資料庫及分析工具 |
| GP1-9 | 基因體分析硬體加速服務 | 5.2/1Gbases | 5.2/1Gbases | 7.8/1Gbases | 提供 Dragen 基因體分析硬體加速服務 |
| GP1-10 | 客製化服務 | — | — | — | 客製化分析流程設計與開發 |
| GP1-11 | 生醫功能性增強模型建置服務 | — | — | — | AI 輔助生醫軟體分析服務 |
| GP1-12 | 生醫代理人服務 | — | — | — | MadCowork 代理人服務 |
* 若您已經申請計算服務,但尚未加入核心設施iService服務計畫,請參考[申請加入說明](https://man.twcc.ai/@nchcbio/SJg8LWQEC)。注意!**計劃代號請填:MST109178、計畫建立者請填:林沿妊。**
## 登入Nano4生醫專用節點
* 主機位置:nano4.nchc.org.tw。
* 亦請勿使用登入節點主機的CPU與GPU進行計算,以免影響登入節點運作與排程系統效能,敬請配合。
* 帳號密碼:iservice內 **會員中心->會員資訊->主機帳號資訊** ,可以找到您的帳號或修改密碼
* One Time Password(OTP)請參閱:https://man.twcc.ai/@TWCC-III-manual/SJwbCxzqO#%E5%8F%96%E5%BE%97-OTP-%E8%AA%8D%E8%AD%89%E7%A2%BC
## 資料上傳下載
* 請使用 nano4.nchc.org.tw 傳輸節點上傳下載資料,可以使用sftp、scp、rsync上傳資料。傳輸節點 port 為 2222。
### SFTP
請用下面指令登入sftp
```
sftp -P 2222 youruserid@nano4.nchc.org.tw
```
出現下面訊息後,輸入登入方法、主機密碼、OTP
```
Connecting to nano4.nchc.org.tw...
Please select the 2FA login method.
1. Mobile APP OTP
2. Mobile APP PUSH
3. Email OTP
Login method: 1 # 1 or 2 or 3
Password: # 主機密碼
OTP: XXXXXX # OPT
```
成功後出現
```
sftp>
```
### RSYNC
如果大量傳輸可以建議使用rsync,rsync驗證機制較sftp嚴謹,rysnc -P 參數會開啟續傳模式,指令如下:
```
rsync -avshP -e "ssh -p 2222" <local file or folder> u00cwh00@nano4.nchc.org.tw:/FOLDERonNANO4/
```
2026/10/02備註:目前 2222port 未設置rsync,如果上面指令失敗請改用暫時使用22port傳輸:
```
rsync -avshP <local file or folder> u00cwh00@nano4.nchc.org.tw:/FOLDERonNANO4/
```
出現下面訊息後,輸入登入方法、主機密碼、OTP
```
Connecting to nano4.nchc.org.tw...
Please select the 2FA login method.
1. Mobile APP OTP
2. Mobile APP PUSH
3. Email OTP
Login method: 1 # 1 or 2 or 3
Password: # 主機密碼
OTP: XXXXXX # OPT
```
成功後開始傳輸
*** 如果傳輸不幸中斷,只要再輸入上述一樣的指令即可繼續傳輸。
## 生醫計算環境節點與費率
|節點種類|節點數量|單一節點核心數|記憶體大小|國科會計畫費率|一般學界費率|
|:--:|:--:|:--:|:--:|:--:|:--:|
|CPU節點|18|128|1000G| 0.1/核心小時 | 0.2/核心小時|
|GPU節點|2|8GPU(H200)|1600G|30/GPU小時 | 60/GPU小時|
|大記憶體節點|2|128|6000G|0.7/核心小時 | 1.4/核心小時|
<font color="#f00">※ **請注意:GPU與大記憶體節點費率較高,使用時請謹慎選擇排程。**</font>
## 高速計算儲存空間
目前使用者在以下位置所擁有的空間如下:
| 空間 | 容量 |
|:-------------------------- |:------------------:|
| /home/$USER | 100G |
| /work/$USER | 1.5TB+5TB |
| 巨量資料儲存服務 | 付費空間需另外申請 |
※ 若您已有多個計畫,可能會使用到其他計畫的高速儲存上限,work空間可能不到6.5TB。請您在Nano4上面下 `hfsquota` 指令看看work空間實際額度是否有6.5TB,沒有的話請按照[連結內步驟設定](https://man.twcc.ai/RynNfCHZSiuolgoSmSA-8A) 。
※ 爲鼓勵國科會計畫用戶使用本中心此最新的超級電腦,自2021年9月1日起,調高國科會計畫每個帳號之高速檔案系統(HFS)儲存空間的暫存工作目錄區域(/work)免費額度,由原本的100 GB,提高到1500 GB。而家目錄區域(/home)免費額度則維持不變,仍為100 GB。
※ 國科會計畫之帳號於新建立時,系統將預設免費儲存空間額度為家目錄區域100 GB,暫存工作目錄為100 GB。若有需要提高暫存工作區域之免費額度,須請客戶自行調高。用戶欲調整免費儲存空間之額度,請由申購高速儲存系統(HFS)介面進行調整,相關說明文件可參考下面Nano4可用儲存資源與調整之說明文件連結。
<font color="#f00">※ **請注意:調整額度時,請勿超過1500GB,避免被收取超用額度的費用,超過的額度收費依據國網中心HFS公告收費,並將由使用者負擔,每GB每月定價4元,一個月1TB收費4000元。**</font>
※ 目前生醫核心設施高速計算空間不足,若需要額外高速計算空間,客戶請向中心iservce直接額外購買/project空間,最多10TB,該空間僅適合計算時用。建議將不計算的資料放到GP1-4巨量資料儲存,該儲存目前無空間上限。要計算的資料時再複製到高速計算空間作計算。
## 巨量資料儲存空間
* 巨量資料儲存空間[使用說明請參閱連結](https://man.twcc.ai/@Ldk_QYrOR2yo3m8Cb1549A/HJGkceQyzg)。
## 儲存空間管理政策與使用須知
1. 高速計算磁碟空間(/work/\$USER)為計算工作短期暫存之用,若需長期保留,請將檔案移至核心設施[巨量資料儲存服務](https://man.twcc.ai/xOYzPATVS_aDlbuqMrwhyg?view#%E5%B7%A8%E9%87%8F%E8%B3%87%E6%96%99%E5%84%B2%E5%AD%98%E7%A9%BA%E9%96%93)。
2. 高速計算磁碟空間(/work/\$USER)預設權限為700(rwx------),若需要分享給實驗室夥伴,請參閱[資料權限設定、共享](https://man.twcc.ai/xOYzPATVS_aDlbuqMrwhyg?view#2-%E8%B3%87%E6%96%99%E6%AC%8A%E9%99%90%E8%A8%AD%E5%AE%9A%E3%80%81%E5%85%B1%E4%BA%AB)章節,請使用者妥善管理上述空間的權限,本核心設施無法代為管理,若造成檔案外洩、遺失或刪除,本核心設施不負任何還原或賠償責任。
3. [巨量資料儲存服務](https://man.twcc.ai/xOYzPATVS_aDlbuqMrwhyg?view#%E5%B7%A8%E9%87%8F%E8%B3%87%E6%96%99%E5%84%B2%E5%AD%98%E7%A9%BA%E9%96%93)提供您實驗室產出資料的備份,採用Erasure Code(4+2)保護機制來保護您的資料,可用性及完整性高,不另外進行資料備份。
5. 本核心設施不會對高速計算磁碟空間做任何備份,若系統毀損或檔案刪除皆無法復原。
6. 磁碟空間上的檔案用戶需自行備份保留,若發生檔案毀損、遺失或刪除,本核心設施不負任何還原或賠償責任。
7. 本儲存空間可讓您上傳、儲存、下載內容,您的資料仍屬於您所有。對於您的任何內容 (包括您在儲存空間中上傳、共用或儲存的所有資訊和檔案),我們都不會聲明擁有權。因此,如果您決定與他人共用文件,我們可以提供這項功能。您可以跟他人共同編輯檔案,但內容的「擁有者」為控制內容和其用途的使用者。
8. 儲存服務裡的共用設定可讓您控管其他人如何使用您儲存空間中的檔案。檔案的隱私權設定則是取決於檔案所在的資料夾或儲存空間。只要您還沒指定共用對象,您儲存空間中的檔案就只有您本人能夠存取。您可以與他人共用自己的檔案,也可以將內容的管理權轉移給其他使用者。如果您在他人與您共用的資料夾或儲存空間中建立或放置檔案,這些檔案將可能會沿用所在資料夾或儲存空間的共用設定,也可能會沿用擁有權設定,我們不會與他人共用您的檔案和資料。
9. 網際網路資料的傳輸不能保證百分之百的安全,本核心設施服務將努力保護您的資料安全,使用加密機制進行資料傳輸,高速計算儲存服務可透過ssh連線傳輸資料;巨量資料儲存服務可使用S3通訊協定的ssl加密連線或是IBM Aspera(Aspera CLI指令ascp或是Aspera Desktop Client)進行加密傳輸,來確保您資料傳輸時是受到保護的。
10. 本服務不會要求您提供特殊或具敏感性的個人資料,例如醫療或健康紀錄、政治或宗教信仰、性取向、性生活、犯罪紀錄或基因,也請您不要提供此類訊息予我們。
11. 本服務採用適當之安全措施,防止您的資料被竊取、竄改、洩露或毀損,包括對資料的儲存、處理和安全措施,以及實體上的安全措施進行內部檢查,以防杜我們儲存資料的系統遭受入侵。
12. 當您使用儲存時發現有可能危害本中心營運作業、資訊安全之資通安全事件時,請與本核心設施服務人員聯繫。(生醫小組客服 電話: 03-5776085#370 電子郵件: bio.nchc@niar.org.tw)
## 公用軟體安裝位置與模組使用指令
### 1. 公用軟體安裝位置
軟體絕對路徑在 /work/envstack/apps/application/biology/軟體名稱/軟體版本 內:
`/work/envstack/apps/application/biology`
<font color="#f00">※ *舊版公用軟體會留存供需要的使用者使用,如果因使用舊版軟體所造成的資安漏洞風險,請自行負責。*</font>
### 2. 如何使用模組載入程式?
部分軟體有寫成模組,可自動匯入軟體所需環境,使用方法如下:
* 列出所有biology可用模組:
```
module avail biology
```
* 加載模組:
```
module load <module_name>
```
例如:
a. 如要加載 R/4.3.3、BWA/0.7.19:
```
module load biology/R/4.3.3
module load biology/BWA/0.7.19
```
b. 如要加載 gcc/12.2
```
module load gcc/12.2
```
* 卸載模組:
```
module unload gcc/12.2
```
* 列出已加載的模組:
```
module list
```
* 顯示模組信息:
```
module show biology/R/4.3.3
```
```
----------------------------------------------------------------------------
/work/envstack/apps/modulefiles/x86/application/biology/R/4.3.3.lua:
----------------------------------------------------------------------------
help([[R 4.3.3 "Angel Food Cake" — statistical computing environment
自源碼建置於本站 (gcc/gfortran 11.5.0), 含 base + recommended packages。
提供 R 與 Rscript (兩者版本相同, 皆為 4.3.3)。
]])
whatis("Name: R")
whatis("Version: 4.3.3")
setenv("R_ROOT","/work/envstack/apps/application/biology/R/r_v4.3.3")
setenv("R_HOME_DIR","/work/envstack/apps/application/biology/R/r_v4.3.3/lib/R")
prepend_path("PATH","/work/envstack/apps/application/biology/R/r_v4.3.3/bin")
```
### 3. 如何自行安裝 R package
* 載入 R,並執行 R
```
module load biology/R/4.3.3
R
```
* 使用 .libPaths()指令 來確認載入package的位置。 預設只有Nano4軟體資料夾,如下
```
> .libPaths()
[1] "/work/envstack/apps/application/biology/R/r_v4.3.3/lib/R/site-library"
```
* 此時安裝packages時,會詢問是否使用個人的位置來安裝,均回答yes
```
> install.packages('ggplot2')
Warning in install.packages("ggplot2") :
'lib = "/work/envstack/apps/application/biology/R/r_v4.3.3/lib/R/site-library"' is not writable
Would you like to use a personal library instead? (yes/No/cancel) yes
Would you like to create a personal library
‘/home/u00cwh00/R/x86_64-pc-linux-gnu-library/4.3’
to install packages into? (yes/No/cancel) yes
```
* 安裝成功後會以後優先載入個人位置內的package。 使用.libPaths()指令查詢如下
```
> .libPaths()
[1] "/home/u00cwh00/R/x86_64-pc-linux-gnu-library/4.3"
[2] "/work/envstack/apps/application/biology/R/r_v4.3.3/lib/R/site-library"
```
* 可用以下指令查詢 所有package所在的所有位置,會以載入優先順序列出(以ggplot2為例)
```
> installed_packages <- as.data.frame(installed.packages()[, c("Package", "LibPath")])
> installed_packages[installed_packages$Package == "ggplot2", ]
Package LibPath
ggplot2 ggplot2 /home/u00cwh00/R/x86_64-pc-linux-gnu-library/4.3
ggplot2.1 ggplot2 /work/envstack/apps/application/biology/R/r_v4.3.3/lib/R/site-library
```
* 如果要使用的Library path,不是第一順位的話,請加 lib.loc="libpath" 來載入,如下
```
> library(ggplot2, lib.loc = "/work/envstack/apps/application/biology/R/r_v4.3.3/lib/R/site-library")
```
## Partition(Queue) 資源設定
|Partition|記憶體配置(`--mem`)|核心數搭配(`-c`)|時間限制|個人Job上限|使用節點|
|:--:|:--:|:--:|:--:|:--:|:--:|
|ngstest|8G|1|10 mins|2|CPU節點|
|ngsconsole|8G|1|unlimit|2|CPU節點|
|ngs8g|8G|1|48 hrs|1000|CPU節點|
|ngs16g|16G|2|48 hrs|500|CPU節點|
|ngs32g|32G|4|96 hrs|250|CPU節點|
|ngs62g|62G|8|96 hrs|120|CPU節點|
|ngs125g|125G|16|unlimit|60|CPU節點|
|ngs250g|250G|32|unlimit|30|CPU節點|
|ngs500g|500G|64|unlimit|15|CPU節點|
|ngs1000g|1000G|124|unlimit|8|CPU節點|
|ngs248c|不設限(sbatch 不用指定mem)|124×2 (sbatch 參數使用: -N 2)|unlimit|4|CPU節點|
|ngs496c|不設限(sbatch 不用指定mem)|124×4 (sbatch 參數使用: -N 4)|unlimit|2|CPU節點|
|ngs1500g|1500G|32|unlimit|4|大記憶體節點|
|ngs2t|2000G|42|unlimit|3|大記憶體節點|
|ngs3t|3000G|64|unlimit|2|大記憶體節點|
|ngs6t|6000G|124|unlimit|1|大記憶體節點|
|ngs1gpu|200G|12CPU/1GPU(sbatch 參數使用: -c 12 --gres=gpu:1)|14天|8|GPU節點|
|ngs2gpu|400G|24CPU/2GPU (sbatch 參數使用: -c 24 --gres=gpu:2)|14天|4|GPU節點|
|ngs4gpu|800G|48CPU/4GPU (sbatch 參數使用: -c 48 --gres=gpu:4)|14天|2|GPU節點|
|ngs8gpu|1600G|96CPU/8GPU (sbatch 參數使用: -c 96 --gres=gpu:8)|14天|1|GPU節點|
|Partition|記憶體配置(`--mem`)|核心數搭配(`-c`)|時間限制|個人Job上限|使用節點|
|:--:|:--:|:--:|:--:|:--:|:--:|
|ngscourseconsole|8G|1|unlimit|1|CPU節點|
|ngscourse8g|8G|1|2 hrs|10|CPU節點|
|ngscourse16g|16G|2|3 hrs|5|CPU節點|
|ngscourse32g|32G|4|4 hrs|5|CPU節點|
|ngscourse62g|62G|8|8 hrs|4|CPU節點|
|ngscourse125g|125G|16|24 hrs|2|CPU節點|
|ngscourse250g|250G|32|24 hrs|1|CPU節點|
※ 為確保記憶體與核心數能有效且充分利用,因此參數設定必須符合上述排程與記憶體核心數搭配與限制。
※ 除ngs248c、ngs496c外,其餘queue皆不可跨節點使用。
## 工作指令稿
### 1. 使用SLURM排程系統來送出工作
**請編寫一個檔案內容如下:**
* SLURM Job Script (CPU Queue)範例如下:
```shell
#!/usr/bin/sh
#SBATCH -A MST109178 # Account name/project number
#SBATCH -J Job_name # Job name
#SBATCH -p ngs62g # Partition Name 等同PBS裡面的 -q Queue name
#SBATCH -c 8 # 使用的core數 請參考Queue資源設定
#SBATCH --mem=62g # 使用的記憶體量 請參考Queue資源設定
#SBATCH -o out.log # Path to the standard output file
#SBATCH -e err.log # Path to the standard error ouput file
#SBATCH --mail-user=XXXX@niar.org.tw # email
#SBATCH --mail-type=BEGIN,END # 指定送出email時機 可為NONE, BEGIN, END, FAIL, REQUEUE, ALL
echo 'Hello world!' ##這邊寫入你要執行的指令
##以BWA為例
module load biology/BWA/0.7.19
bwa mem
```
※ 上面的core數與記憶體搭配,請[參考Queue資源設定或排程限制](https://man.twcc.ai/xOYzPATVS_aDlbuqMrwhyg?view#PartitionQueue-%E8%B3%87%E6%BA%90%E8%A8%AD%E5%AE%9A),要設對工作才能正常送出,請注意。
* SLURM Job Script (GPU Queue)範例如下:
```shell
#!/usr/bin/sh
#SBATCH -A MST109178 # Account name/project number
#SBATCH -J Job_name # Job name
#SBATCH -p ngs1gpu # Partition Name 等同PBS裡面的 -q Queue name
#SBATCH -c 12 # 使用的core數 請參考Queue資源設定
#SBATCH --mem=200g # 使用的記憶體量 請參考Queue資源設定
#SBATCH --gres=gpu:1 # 使用的GPU數 請參考Queue資源設定
#SBATCH -o out.log # Path to the standard output file
#SBATCH -e err.log # Path to the standard error ouput file
#SBATCH --mail-user=XXXX@niar.org.tw # email
#SBATCH --mail-type=BEGIN,END # 指定送出email時機 可為NONE, BEGIN, END, FAIL, REQUEUE, ALL
nvidia-smi ##這邊寫入你要執行的指令
```
* **寫完工作指令稿(jobscript.sh)後送出執行**
執行指令:`sbatch jobscript.sh`
執行結果:
```shell=
[USER@25a-lgn04 ~]$ sbatch jobscript.sh
Submitted batch job 377158
```
進行工作遞交後,將會獲得一個 Job ID (上述範例為377158)。
### 2.送工作時指定參數
將上述script改為如下指令,並在最後加入job.sh即可。
```wrap
sbatch -A MST109178 -J Job_name -p ngs62g -c 8 --mem=62g -o out.log -e err.log --mail-user=XXXX@niar.org.tw --mail-type=BEGIN,END job.sh
```
如果要執行的工作只有一行指令,可以利用 --wrap="" 參數傳入指令,無需再寫script
```wrap
sbatch -A MST109178 -J Job_name -p ngs62g -c 8 --mem=62g -o out.log -e err.log --mail-user=XXXX@niar.org.tw --mail-type=BEGIN,END --wrap="ls /work/envstack/apps/application/biology"
```
### 3.引入外部變數
如果有變數要引入Job中使用,可以使用 --export= 來指定參數
```
A=5
b='test'
sbatch --export=A=$A,b=$b job.sh
```
### 4.Array Job
若要使用 Array Job 可在Jobscript內使用 --array 定義 Index 範圍
,在Task內部可使用 SLURM_ARRAY_TASK_ID 這個環境變數讀取該Task的Index。
**範例:**
```shell
#!/usr/bin/sh
#SBATCH -A MST109178 # Account name/project number
#SBATCH -J Job_name # Job name
#SBATCH -p ngs62g # Partition Name 等同PBS裡面的 -q Queue name
#SBATCH -c 8 # 使用的core數 請參考Queue資源設定
#SBATCH --mem=62g # 使用的記憶體量 請參考Queue資源設定
#SBATCH --array=1-10 # 定義index範圍為1~10
echo $SLURM_ARRAY_TASK_ID # SLURM_ARRAY_TASK_ID 為該Task的index
```
其他Array Job詳細用法請見:
https://slurm.schedmd.com/job_array.html
## 查看job狀態/刪除工作
### 1. 列出送出的工作
指令:`squeue -u [username]`
範例:
```
JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)
377166 ngstest wrap u00cwh00 R 0:00 1 25a-cpn01
```
### 2. 個別工作詳細資訊
指令:`scontrol show job [job ID]`
範例:
```
JobId=377166 JobName=wrap
UserId=u00cwh00(10056) GroupId=TRI107012(3049) MCS_label=N/A
Priority=47595 Nice=0 Account=mst109178 QOS=normal
JobState=RUNNING Reason=None Dependency=(null)
RunTime=00:00:00 TimeLimit=00:01:00 TimeMin=N/A
Partition=ngstest AllocNode:Sid=25a-lgn04:4136766
NodeList=25a-cpn01
BatchHost=25a-cpn01
NumNodes=1 NumCPUs=1 NumTasks=1 CPUs/Task=1
ReqTRES=cpu=1,mem=8G,node=1,billing=1
AllocTRES=cpu=1,mem=8G,node=1,billing=1
WorkDir=/home/u00cwh00
StdOut=/home/u00cwh00/slurm-377166.out
```
### 3. 刪除工作
指令:`scancel -i [job ID]`
## 進階
### 1. 查詢使用空間的用量、限制
#### 查詢work、home 空間
指令:`hfsquota`
```
PATH USED HARD LIMIT USAGE % STATUS
home:/$USER 1455820800 B 107374182400 B 1 ACTIVE
PATH USED HARD LIMIT USAGE % STATUS
work:/$USER 8192 B 3221225472000 B 0 ACTIVE
```
### 2. 資料權限設定、共享
#### a. 設定 /work/\$USER/$Fileset 空間權限
Fileset擁有者,可進行目錄空間與檔案分享,設定權限請注意需完成下列兩行指令。
#### b. 分享$Fileset讀取權限給someone帳號
指令:`setfacl -R -m u:someone:r-X,g::---,o::--- /work/$USER/$Fileset`
#### c. 設定讀取繼承權限給someone帳號,未來該目錄內檔案繼承目錄權限,自動設定權限給someone帳號。
指令:`setfacl -d -m u:someone:r-X,g::---,o::--- /work/$USER/$Fileset`
** 若您需要讓someone有權限寫入分享目錄,請將r-X改為rwX即可。
#### d. someone要有分享的資料夾上層所有的資料夾d的x權限才能被使用
如果要一次開啟上層所有資料夾的x權限可以使用下列方式
```=sh
# Replace /path/to/folder with the actual folder path
folder="/path/to/folder"
# Replace username with someone's user name
someone="username"
# Loop through all parent directories and set the execute permission for the user
while [ "$folder" != "/" ]; do
setfacl -m u:${someone}:x "$folder"
folder=$(dirname "$folder")
done
```
設定完成後,可以透過指令getfacl進行確認。
```shell
[USER@25a-lgn04 ~]$ getfacl /work/$USER/$Fileset
# file: Fileset
# owner: yourself
# group: root
user::rwx
user:someone:rwx
group::---
mask::rwx
other::---
default:user::rwx
default:user:someone:rwx
default:group::---
default:mask::rwx
default:other::---
```
移除someone帳號的權限,與設定時一樣需執行兩行指令,移除即時讀取與繼承權限。
指令:`setfacl -x u:someone /work/$USER/$Fileset`
指令:`setfacl -d -x u:someone /work/$USER/$Fileset`
### 3. 查詢工作記憶體使用狀況
指令:`sacct -j $jobid -o JobID,JobName,Partition,User,NCPUS,AllocNodes,maxrss,Start,End,Elapsed,State`
```
JobID JobName Partition User NCPUS AllocNodes MaxRSS Start End Elapsed State
------------ ---------- ---------- --------- ---------- ---------- ---------- ------------------- ------------------- ---------- ----------
377159 wrap ngstest u00cwh00 1 1 620K 2026-09-11T18:48:01 2026-09-11T18:48:02 00:00:01 COMPLETED
377159.batch batch 1 1 620K 2026-09-11T18:48:01 2026-09-11T18:48:02 00:00:01 COMPLETED
377159.exte+ extern 1 1 2026-09-11T18:48:01 2026-09-11T18:48:02 00:00:01 COMPLETED
```
$jobid.batch行 MaxRSS欄位 顯示數字即為記憶體用量最大值。
### 4. 查詢歷史工作
指令:`sacct --starttime YYYY-MM-DD -u $USER -o JobID,JobName,Partition,State,ExitCode`
```
JobID JobName Partition State ExitCode
------------ ---------- ---------- ---------- --------
377183 _norwayte+ ngstest TIMEOUT 0:0
377183.bat+ batch CANCELLED 0:15
377183.ext+ extern COMPLETED 0:0
```
### 5. 查詢可用排程與節點資源
#### a. 查詢排程與節點狀態
指令: `sinfo -s|grep ngs`
```shell
ngstest up 10:00 13/0/0/13 25a-cpn[01-10,16-18]
ngs8g up 2-00:00:00 13/0/0/13 25a-cpn[01-10,16-18]
ngsconsole up infinite 13/0/0/13 25a-cpn[01-10,16-18]
ngs16g up 2-00:00:00 13/0/0/13 25a-cpn[01-10,16-18]
ngs32g up 4-00:00:00 13/0/0/13 25a-cpn[01-10,16-18]
ngs62g up 4-00:00:00 13/0/0/13 25a-cpn[01-10,16-18]
ngs125g up infinite 13/0/0/13 25a-cpn[01-10,16-18]
ngs250g up infinite 13/0/0/13 25a-cpn[01-10,16-18]
ngs500g up infinite 13/0/0/13 25a-cpn[01-10,16-18]
ngs1000g up infinite 13/0/0/13 25a-cpn[01-10,16-18]
ngs248c up infinite 13/0/0/13 25a-cpn[01-10,16-18]
ngs496c up infinite 13/0/0/13 25a-cpn[01-10,16-18]
ngs1500g up infinite 2/0/0/2 25a-mpn[01-02]
ngs2t up infinite 2/0/0/2 25a-mpn[01-02]
ngs3t up infinite 2/0/0/2 25a-mpn[01-02]
ngs6t up infinite 2/0/0/2 25a-mpn[01-02]
ngs1gpu up 14-00:00:00 3/0/0/3 25a-hgpn[175-177]
ngs2gpu up 14-00:00:00 3/0/0/3 25a-hgpn[175-177]
ngs4gpu up 14-00:00:00 3/0/0/3 25a-hgpn[175-177]
ngs8gpu up 14-00:00:00 3/0/0/3 25a-hgpn[175-177]
```
#### b. 查詢排程限制
指令: `sacctmgr show qos -o format=name,MinTRES%28,MaxTRES%28,MaxJobsPU|grep ngs`
```shell
Name MinTRES MaxTRES MaxJobsPU
---------- ---------------------------- ---------------------------- ---------
p_ngstest cpu=1,mem=8G 2
p_ngscons+ cpu=1,mem=8G 2
p_ngs8g cpu=1,mem=8G 1000
p_ngs16g cpu=2,mem=16G 500
p_ngs32g cpu=4,mem=32G 250
p_ngs62g cpu=8,mem=62G 120
p_ngs125g cpu=16,mem=125G 60
p_ngs250g cpu=32,mem=250G 30
p_ngs500g cpu=64,mem=500G 15
p_ngs1000g cpu=124,mem=1000G 8
p_ngs248c cpu=248 4
p_ngs496c cpu=496 2
p_ngscour+ cpu=1,mem=8G 10
p_ngscour+ cpu=4,mem=32G 5
p_ngscour+ cpu=16,mem=125G 2
p_ngs1500g cpu=32,mem=1500G 4
p_ngs2t cpu=42,mem=2000G 3
p_ngs3t cpu=64,mem=3000G 2
p_ngs6t cpu=124,mem=6000G 1
p_ngs1gpu gres/gpu=1 gres/gpu=1 8
p_ngs2gpu gres/gpu=2 gres/gpu=2 4
p_ngs4gpu gres/gpu=4 gres/gpu=4 2
p_ngs8gpu gres/gpu=8 gres/gpu=8 1
```
※ 注意QOS名稱前面實際都有`p_`前綴(例如`p_ngstest`),跟partition名稱本身(`ngstest`)不同;名稱太長時會被截斷加`+`(例如`p_ngscons+`代表`p_ngsconsole`)。
使用指令: `scontrol show partition ngs32g` 來了解ngs32g partition的QoS
```shell
PartitionName=ngs32g
AllowGroups=ALL AllowAccounts=mst109178,ent109430 AllowQos=ALL
AllocNodes=ALL Default=NO QoS=p_ngs32g
DefaultTime=NONE DisableRootJobs=NO ExclusiveUser=NO GraceTime=0 Hidden=NO
MaxNodes=1 MaxTime=4-00:00:00 MinNodes=0 LLN=NO MaxCPUsPerNode=UNLIMITED
Nodes=25a-cpn[01-10,16-18]
PriorityJobFactor=1 PriorityTier=1 RootOnly=NO ReqResv=NO OverSubscribe=NO
OverTimeLimit=NONE PreemptMode=OFF
State=UP TotalCPUs=1664 TotalNodes=13 SelectTypeParameters=NONE
JobDefaults=(null)
DefMemPerNode=UNLIMITED MaxMemPerNode=UNLIMITED
```
** 注意:`squeue`/`scontrol show job` 顯示的 QOS 欄位通常會是 `normal`,這不代表job不受限制——真正的限制是由 partition 的 `QoS=` 欄位(如上面的`p_ngs32g`)在背後同時檢查,`squeue`不會顯示這一層。
#### c. 查詢節點使用狀態
指令: `sinfo -N -l`
```shell
NODELIST NODES PARTITION STATE CPUS S:C:T MEMORY TMP_DISK WEIGHT AVAIL_FE REASON
25a-cpn01 1 ngs16g mixed 128 2:64:1 103110 0 1 CPN none
25a-cpn01 1 ngs8g mixed 128 2:64:1 103110 0 1 CPN none
25a-cpn01 1 ngs32g mixed 128 2:64:1 103110 0 1 CPN none
25a-cpn01 1 ngstest mixed 128 2:64:1 103110 0 1 CPN none
25a-mpn01 1 ngs6t idle 128 2:64:1 622481 0 1 MPN none
25a-mpn01 1 ngs1500g idle 128 2:64:1 622481 0 1 MPN none
25a-hgpn175 1 ngs1gpu mixed 112 2:56:1 190000 0 1 H200 none
25a-hgpn175 1 ngs2gpu mixed 112 2:56:1 190000 0 1 H200 none
```
### 6. 查詢是否已加入生醫核心設施計畫
指令: `wallet`
```shell
[USER@25a-lgn04 ~]$ wallet
INFO: If you belong to many projects, it may take up to 5 seconds or more.
INFO: Specifying a project should be faster. `wallet $PROJECT_ID`
PROJECT_ID: MST109178, PROJECT_NAME: 國家生醫數位資料與分析運算雲端服務平台 , SU_BALANCE: 3158919.0521
```
**您必須要加入MST109178計畫才能使用生醫專用計算環境。
### 7. 檔案加密方式
#### a.高速計算儲存空間檔案加密
##### 壓縮並加密 指令:
```
tar -czvf - your_file_or_your_directory | openssl aes-256-cbc -pbkdf2 -salt -k password -e -out /path/to/file.tar.gz
```
##### 解密並解壓縮 指令:
```
openssl aes-256-cbc -pbkdf2 -salt -k password -d -in /path/to/file.tar.gz | tar xzf -
```
#### b.巨量資料儲存空間檔案加密
可使用IBM Aspera(Aspera CLI指令ascp或是Aspera Desktop Client)來加解密上傳後的檔案,相關使用說明請參考 [Client-Side Encryption-at-Rest (EAR)](https://www.ibm.com/docs/en/ahts/3.9.6?topic=ascp-client-side-encryption-rest-ear)
## 桌面環境、圖形環境
桌面環境/圖形環境,提供使用者視覺化資料的環境,例如使用IGV、Rstudio 等圖形化界面的程式。
*** 注意如果為計算類工作請使用排程系統送到後端節點計算,以免影響其他使用者。
### Mobaxterm(for Windows)
1. 下載 MobaXterm
https://mobaxterm.mobatek.net/download.html
2. 安裝並開啟
3. 開啟session,或編輯已經建立的session

4. 填入主機以及帳號, Advanced SSH setting 裡面 X-11 Fowarding 記得打勾

5. 進入執行有圖形化界面的程式,例如:
* IGV: /work/envstack/apps/application/biology/IGV/igv_v2.10.3/igv.sh
6. 即可跳出程式視窗

### XQuartz(for Mac)
1. 下載 Quartz
https://www.xquartz.org/
2. 安裝並開啟 XQuartz

4. Xquartz terminal內輸入 ssh -Y username@nano4.nchc.org.tw
```
ssh -Y u00cwh00@nano4.nchc.org.tw
(u00cwh00@nano4.nchc.org.tw) Please select the 2FA login method.
1. Mobile APP OTP
2. Mobile APP PUSH
3. Email OTP
Login method: 2
(u00cwh00@nano4.nchc.org.tw) Password:
Warning: No xauth data; using fake authentication data for X11 forwarding.
Please check your push token.
[PASS] The push verification succeeded.
```
5. 進入後執行有圖形化界面的程式,例如:
* IGV: /work/envstack/apps/application/biology/IGV/igv_v2.10.3/igv.sh
6. 即可跳出程式視窗

## 軟體使用說明
### SRAtoolkit
1.第一次使用請先使用以下指令進入界面設定:
```
module load biology/SRA-Toolkit/3.4.1
vdb-config --interactive
```
2.進入界面後,按s 儲存,按x離開。

3.設定完畢後即可使用。
### 如何跑 R code
1. 先編輯一個檔案內容為 R code,假設名字為 myRcode.r,以下為檔案模擬內容:
```r=
#!/usr/bin/env Rscript
library(XXXX)
data=read.table("XXXX")
......
```
2. 使用 Rscript 這個指令去執行R code即可,國網電腦上面有已經裝好不同版本的R,載入模組後即可直接使用Rscript,路徑如下:
```shell=
module load biology/R/4.3.3
which Rscript
# /work/envstack/apps/application/biology/R/r_v4.3.3/bin/Rscript
```
3. 執行rscript 之指令: **請放到[工作指令稿](https://man.twcc.ai/cV1vwW9GRTql6ODnTREPhw?both#%E5%B7%A5%E4%BD%9C%E6%8C%87%E4%BB%A4%E7%A8%BF)裡面執行**:
```shell
module load biology/R/4.3.3
Rscript myRcode.r
```
4. 如果執行時有短少的 R package 請來信 bio.nchc@niar.org.tw,我們會協助您安裝。
### 執行 IGV
使用X11支援Terminal如mobaxterm即可display回用戶端做使用。
* Windows 參見: https://man.twcc.ai/9KN19ydSRn-AqHmXTxypqw?both#Mobaxterm%EF%BC%88for-Windows%EF%BC%89
* Mac 參見:
https://man.twcc.ai/9KN19ydSRn-AqHmXTxypqw?both#XQuartz%EF%BC%88for-Mac%EF%BC%89
**範例:**
```
/work/envstack/apps/application/biology/IGV/2.19.8/igv.sh
```

### 如何使用 RAPIDS
#### Server端
1. Allocate GPU partition
```wrap
salloc -A MST109178 -p ngs1gpu -c 12 --mem=200g --gres=gpu:1 -J Rapids_Job srun --pty bash
```
* 成功後出現下面訊息,記住node名稱與jobid,下面範例中allocate的node是25a-hgpn175,jobid為377164
```
salloc: Granted job allocation 377164
salloc: Nodes 25a-hgpn175 are ready for job
```
2. 載入 RAPIDS 環境,並把它註冊成一個Jupyter kernel(只有第一次使用需要做這步)
```
module load biology/RAPIDS/26.08
python -m ipykernel install --user --name rapids2608 --display-name "RAPIDS 26.08"
```
※ `biology/RAPIDS/26.08` 是conda環境,本身沒有內建Jupyter,所以要另外載入 `jupyter/jupyterlab` 來開Server;下一步load `jupyter/jupyterlab` 前記得先 `module purge`,避免兩個模組的python互相蓋掉。
3. 卸載RAPIDS,改載入Jupyter,啟動Server
```
module purge
module load jupyter/jupyterlab
jupyter lab --no-browser --ip=0.0.0.0 --port=8888
```
4. 出現下面訊息後記住port,在下面範例中port是8888
```
Jupyter Server 2.18.2 is running at:
http://25a-hgpn175:8888/lab
```
進入網頁後,新增notebook時記得選 **kernel「RAPIDS 26.08」**(不要選預設的python3),這樣才吃得到cuDF/cuML/cuGraph。
#### 客戶端
5. 客戶端建立 ssh tunnel,{}中填入對應的資訊,就可以使用jupyter notebook 做訓練了。
`ssh -NfL {localport}:{nodename}:{port} {username}@nano4.nchc.org.tw`
範例:
```
ssh -NfL 10002:25a-hgpn175:8888 u00cwh00@nano4.nchc.org.tw
```
6. 使用瀏覽器打開
網址:localhost:10002

7. 此為conda環境版,未內建範例notebook(`/rapids/notebooks/`是舊版singularity容器才有的路徑,目前不適用),請自行建立notebook使用。
8. 使用完成後,請記得刪除保留的GPU資源,以免資源浪費與產生額外的費用
`scancel -i $jobid`
範例:
```
scancel -i 377164
```
### 如何使用 Parabricks
請參考下列使用說明連結:
[Nano4 生醫節點 Parabricks 使用說明](https://man.twcc.ai/TjGPBuV3To2Yv-9jyVWx1Q?view)
### 如何使用 AlphaFold v2
請參考下列使用說明連結:
[Nano4生醫服務平台AlphaFold2說明](https://man.twcc.ai/@nchcbio/HkHhchdpo "AlphaFold2中文")
[Manual on Using AlphaFold2 on Nano4 Bio](https://man.twcc.ai/@nchcbio/HJOE34NCs "AlphaFold2")
### 如何使用Google Drive、Amazon等雲端資料資料
1. 先載入 Rclone
```
module load biology/Rclone/1.75.1
```
2. 點選下面說明網頁中平台,根據說明進行設定
https://rclone.org/docs/
## 修訂紀錄
| 修訂日期 | 變更說明 |
| -------- | -------- |
|2025/05/13| 變更客服人員email |
|2025/06/10| 舊版軟體風險告知 |
|2025/06/12| 硬碟資料刪除政策 |
|2026/02/02| 修改排程記憶體配置 |
|2026/02/23| 修改排程記憶體配置 |
|2026/09/14| 由台灣杉三號版本改編為Nano4版本,主機名稱、儲存空間、軟體路徑、Partition設定、指令範例皆已對照實際叢集校正 |
##
## Last updated: 2026/09/14