AGS Remote API介紹:
阿裡雲基因計算服務(AGS)是一個依托于雲計算平台,使用容器、工作流等雲原生技術,針對生信行業基因資料處理的整體解決方案。您可以不用關心基因資料處理過程中的計算資源、處理邏輯、資料緩存等細節,隻需要将您的源資料(Fastq檔案)位址提供給ags,ags既可高效、快速完成整個資料分析流程,并将結果資料上傳到您期望的存儲空間。
AGS目前支援通用的生信流程包括:
wgs流程:支援GATK标準流程進行全基因組測序,支援GPU加速;
Mapping:支援輸出包含MarkUp和不包含MarkUp的Bam資料;
AGS提供使用者指令行工具,通過指令行可以實作遠端送出任務。根據您的資料處理需求,通過定義具體參數指定Fastq資料源,和處理邏輯。AGS Remote API目前主要基于阿裡雲公共雲服務,推薦的資料提供方式為将源資料放在阿裡雲OSS存儲空間,ags擷取資料後程序處理,并将處理結果上傳到OSS存儲。
使用者如果使用阿裡雲AGS服務,您的資産包括:本地IDC機房(生成資料)、阿裡雲OSS存儲服務(儲存資料);阿裡雲AGS服務為您的資料進行計算、分析,并回傳結果資料;

AGS處理流程:
- 使用者IDC環境内,基因資料下線暫存;
- 使用者通過資料傳輸工具(Ossutil)将待處理的fastq資料上傳到阿裡雲OSS存儲服務(使用者賬号下的OSS);
- 使用者通過AGS指令行工具,向AGS服務送出測序任務,需在參數中定義作業的詳細資訊;
- AGS拉取Fastq資料;
- AGS處理資料;
- AGS上傳結果資料(vcf/bam);
下面為您提供一個使用AGS Remote API實作基因資料處理的示例,您可以參考其中的操作步驟執行資料處理任務。
前置準備:
1. 安裝ossutil:
資料上傳您可以通過阿裡雲提供的Ossutil工具,具體安裝過程可參考:
ossutil安裝2. 資料上傳
阿裡雲AGS服務目前隻開通了深圳、北京2個Region,是以您的OSS Bucket需要選擇這兩個Region之一。
假設您的資料規劃如下:
在深圳申請Bucekt名為:my-gene-shenzhen
fastq的儲存目錄為:fastq/task*/
vcf的儲存目錄為:vcf/task*/
bam的儲存目錄為:bam/task*/
上傳fastq資料上傳指令為:
ossutil cp {fastq}_1.fastq.gz oss://my-gene-shenzhen/fastq/task1/{fastq}_1.fastq.gz
ossutil cp {fastq}_2.fastq.gz oss://my-gene-shenzhen/fastq/task1/{fastq}_2.fastq.gz
3. AGS指令行工具下載下傳:
可以通過下面位址下載下傳AGS指令行工具:
Mac: http://ags-hub.oss-cn-hangzhou.aliyuncs.com/ags-mac Linux: http://ags-hub.oss-cn-hangzhou.aliyuncs.com/ags-linux
下載下傳後修改為可執行權限,并放到節點可執行目錄($PATH目錄下);
$ chmod 755 ags-linux && mv ags-linux /usr/local/bin/ags
4. 指令行配置,OSS授權:
通過ags指令行工具進行任務送出,您需要配置ags的ak權限:
ags config init
注意:配置的AK需要對您的oss bucket具有讀寫權限;
您還需要對OSS Bucket進行授權,以授權AGS服務賬号具備檔案的讀寫、GetBucketInfo權限:
ags config oss <your bucket name>
上述具體配置,可參考使用文檔:
https://help.aliyun.com/document_detail/148762.htmlAGS目前支援兩種資料類型,具體由Fastq資料目錄結構決定:
一種是:一個樣本由兩個fastq檔案組成,送出任務時,分别指定兩個檔案的名字;
另一種:一個樣本由一個目錄下面的多個fastq檔案組成,送出任務時,指定目錄名字;
任務示例-資料類型1:
一個樣本由兩個fastq檔案組成,分别指定兩個檔案的名字;
1. Fastq資料源:
對如下bucket下面的fastq資料進行WGS流程分析:

2. 送出任務:
任務送出指令分析:
ags remote run wgs \ # 指定為wgs流程;
--region cn-shenzhen \ # 指定為深圳區域;
--fastq1 fastq/NA12878/NA12878_1.fastq.gz \ # 指定fastq1檔案位址;
--fastq2 fastq/NA12878/NA12878_2.fastq.gz \ # 指定fastq2檔案位址;
--bucket gene-shenzhen \ # 指定bucket名字;
--output-vcf output/wgs/NA12878.vcf \ # 指定vcf檔案輸出位址(在gene-shenzhen bucket下面);
--output-bam output/wgs/NA12878.bam \ # 指定bam檔案輸出位址(在gene-shenzhen bucket下面);
--service "g" \ # 指定service類型,支援s/g/p等服務類型;
--reference hs37d5 # 指定reference類型,支援hs37d5和hg19兩個可選類型;
任務送出:
# ags remote run wgs --region cn-shenzhen --fastq1 fastq/NA12878/NA12878_1.fastq.gz --fastq2 fastq/NA12878/NA12878_2.fastq.gz --bucket gene-shenzhen --output-vcf output/wgs/NA12878.vcf --output-bam output/wgs/NA12878.bam --service "g" --reference hs37d5
INFO[0001] {"JobName":"wgs-gpu-vfbqw"}
INFO[0001] Job submit succeed
3. 檢視任務資訊:
檢視目前任務資訊:
# ags remote get wgs-gpu-vfbqw
+---------------+------------------+---------+-------------------------------+-----------------+-------------+-------------+
| JOB NAME | JOB NAMESPACE | STATUS | CREATE TIME | DURATION | TOTAL READS | TOTAL BASES |
+---------------+------------------+---------+-------------------------------+-----------------+-------------+-------------+
| wgs-gpu-vfbqw | **************** | Running | 2020-01-19 11:19:00 +0800 CST | 8m31.309941114s | 0 | 0 |
+---------------+------------------+---------+-------------------------------+-----------------+-------------+-------------+
Job Name: 這次任務的名字(唯一代号);
JOB NAMESPACE:任務的名詞空間(您的UID);
STATUS:任務的狀态;
CREATE TIME:任務建立時間;
DURATION:任務的持續時間;
TOTAL READS:這次送出一共成功處理了多少 Reads;
TOTAL BASES:這次送出一共成功處理了多少Bases;
4. 檢視輸出結果:
指令行檢視任務最終狀态:
# ags remote get wgs-gpu-vfbqw
+---------------+------------------+-----------+-------------------------------+----------+-------------------------------+-------------+--------------+
| JOB NAME | JOB NAMESPACE | STATUS | CREATE TIME | DURATION | FINISH TIME | TOTAL READS | TOTAL BASES |
+---------------+------------------+-----------+-------------------------------+----------+-------------------------------+-------------+--------------+
| wgs-gpu-vfbqw | **************** | Succeeded | 2020-01-19 11:19:00 +0800 CST | 34m16s | 2020-01-19 11:53:16 +0800 CST | 1574530218 | 159027552018 |
+---------------+------------------+-----------+-------------------------------+----------+-------------------------------+-------------+--------------+
控制台檢視結果檔案(bam/vcf):

任務示例-資料類型2:
一個樣本包含在同一個目錄(fastq/MultiFiles/2020011901)下面;
目錄下面包含多個子目錄:2020011901-73、2020011901-74;
每個子目錄下面包含一對Fastq檔案:檔案以1/2.fq.gz結尾;



任務解析:
ags remote run mapping \ # 指定為mapping流程;
--region cn-shenzhen \ # 指定Region為深圳;
--fastq1 fastq/MultiFiles/2020011901 \ # 指定fastq目錄;
--fastq2 fastq/MultiFiles/2020011901 \ # 指定fastq目錄,和fastq1一樣;
--bucket gene-shenzhen \ # 指定bucket名字;
--output-bam output/mapping/2020011901.bam \ # 指定bam輸出目錄;
--service "g" \ # 指定服務等級;
--markdup "true" \ # 指定是否進行mark duplicate處理;
--reference hg19 # 指定reference類型;
送出任務:
# ags remote run mapping --region cn-shenzhen --fastq1 fastq/MultiFiles/2020011901 --fastq2 fastq/MultiFiles/2020011901 --bucket gene-shenzhen --output-bam output/mapping/2020011901.bam --service "g" --markdup "true" --reference hg19
INFO[0002] {"JobName":"mapping-gpu-bv8br"}
INFO[0002] Job submit succeed
檢視任務狀态指令:ags remote get *
# ags remote get mapping-gpu-bv8br
+-------------------+------------------+---------+-------------------------------+------------------+-------------+-------------+
| JOB NAME | JOB NAMESPACE | STATUS | CREATE TIME | DURATION | TOTAL READS | TOTAL BASES |
+-------------------+------------------+---------+-------------------------------+------------------+-------------+-------------+
| mapping-gpu-bv8br | **************** | Running | 2020-01-19 11:43:51 +0800 CST | 11m19.728373147s | 261733836 | 26173383600 |
+-------------------+------------------+---------+-------------------------------+------------------+-------------+-------------+
~# ags remote get mapping-gpu-bv8br
+-------------------+------------------+-----------+-------------------------------+----------+-------------------------------+-------------+-------------+
| JOB NAME | JOB NAMESPACE | STATUS | CREATE TIME | DURATION | FINISH TIME | TOTAL READS | TOTAL BASES |
+-------------------+------------------+-----------+-------------------------------+----------+-------------------------------+-------------+-------------+
| mapping-gpu-bv8br | **************** | Succeeded | 2020-01-19 11:43:51 +0800 CST | 11m45s | 2020-01-19 11:55:36 +0800 CST | 261733836 | 26173383600 |
+-------------------+------------------+-----------+-------------------------------+----------+-------------------------------+-------------+-------------+
到控制台檢視任務輸出檔案(bam):

結果驗證:
任務執行完成,您可以到oss控制台檢視任務輸出目錄,是否擷取到期望的結果檔案。
如果沒有擷取結果檔案,請及時與我們聯系。