在病原體評鑑過程中,通過對比待測樣本與已知病原體基因組資料庫,可以高效準確的對待測樣本進行評鑑分析。AGS服務提供了針對宏基因組測序資料的快速比對能力。本文介紹如何通過AGS排查待測病原體。
前提條件
已提交阿里雲基因服務公測申請,加入公測白名單。
如果您使用的是RAM使用者,公測申請時請提供RAM使用者的UID。請登入帳號管理主控台查詢UID。
背景資訊
新冠肺炎發病後數周內都可以在上呼吸道或下呼吸道中檢測到新型冠狀病毒SARS-CoV-2 RNA(以下簡稱“新冠病毒”)。目前,已經有眾多新冠病毒RT-PCR試劑盒可供選擇,雖然PCR操作成本低、實效性高。但由於受病毒濃度和試劑盒品質等因素的影響,容易出現假陰性,需要多次檢測確認,而且一次檢測只能對一種特定病毒進行排查。
泛病原體檢測的基因組下一代測序(Metagenomics Next-generation Sequencing, mNGS)技術直接從臨床樣本中隨機抽取一定比例的核酸片段(包括大量人源核酸和少量微生物核酸)進行測序、資料庫比對和生物資訊分析,進而對病原微生物進行無偏性評鑑。該技術為新冠病毒SARS-CoV-2 RNA的早期發現和準確測序做出很大貢獻。
相較於RT-PCR試劑盒檢測,雖然mNGS方式檢測分析周期相對較長,但準確率高,檢測全面,可以一次排查多種病毒,同時也可監測病毒在傳播過程中可能發生的變異,增強對病毒的防控。臨床上,針對熒光定量PCR無法確診的疑似患者進行二次檢測可進一步提升檢測結果的準確性,有效防止病毒變異產生的漏檢。基於核酸序列比對的分析方式,一旦病原體的基因組已知,通過更新資料庫,就可以實現高效準確地檢測病原體。
阿里雲基因計算服務AGS提供了針對mNGS宏基因組測序資料的快速比對能力,對一組肺泡採樣測序的宏基因組資料3.2Gbase(22M reads),60秒內可以完成和已知的病原體基因組包括新型冠狀病毒SARS-CoV-2,39種BetaCov RNA,以及9334種已知病毒的參考序列的比對,並且支援自訂的病毒庫的上傳和比對。對於疾控中心,醫院,實驗室只需要一個阿里雲的Object Storage ServiceBucket, 以及命令列ags就可以完成整個的比對過程,並拿到高品質的匹配reads的資料和初步品質報告,為多種病原體檢測,進一步的新冠病毒的蛋白質研究和變異研究提供了快捷準確的資料支撐。
歡迎基因測序廠商,疾控中心,醫院,學校,製藥企業申請使用。
準備工作
配置AGS。AGS的下載和安裝,請參見AGS命令列協助。
命令樣本:
ags config init下載安裝ossutil命令列,詳情請參見安裝ossutil。
註冊阿里雲帳號,開通Object Storage Service服務並建立儲存空間(Bucket)用於存放mNGS測序資料(例如:oss://my-test-shenzhen)。開通OSS請參見開通OSS服務。
說明如果您使用的是RAM使用者,建議您重新建立OSS Bucket,以確保該帳號是所使用Bucket的Owner。執行以下命令確認Bucket的Owner。
ossutil stat oss://<your new bucket name>為服務AGS服務授予Bucket的GetBucketInfo許可權。
說明請確保指定Bucket的Owner是您當前的帳號,否則建議您建立一個Bucket後再進行GetBucketInfo的授權。
如果您使用的是RAM使用者,需要為RAM使用者授予AliyunOSSFullAccess許可權,請參見為RAM使用者授權。
命令樣本:
ags config oss <bucket_name>
rna-mapping使用樣本
以下操作將為您示範如何通過命令檢測AGS rna-mapping病毒。
與新冠病毒的比對
運行ossutil命令,將mNGS測序資料上傳至儲存空間(Bucket)。
命令樣本:
ossutil cp ICU6G_S2_L001_R1_001.fastq.gz oss://my-test-shenzhen/cov2-samples/ ossutil cp ICU6G_S2_L001_R2_001.fastq.gz oss://my-test-shenzhen/cov2-samples/運行比對任務,對比mNGS資料和已知RNA序列資料。
本文以比對ICU6G_S2_L001測序樣本和新冠病毒的相似性為例,運行任務如下。
命令格式:
Usage: ags remote run rna-mapping \ # <rna-mapping>: RNA 序列的比對任務 --region <region_id> \ # <cn-shenzhen|cn-beijing|...>: 地區ID,目前支援深圳和北京。 --bucket <bucket_name> \ # <bucket_name> Object Storage Servicebucket的名稱 --fastq1 <path_fq1> \ # 雙端測序資料fq1相對路徑 --fastq2 <path_fq2>\ # 雙端測序資料fq2的相對路徑 --output-bam <path_of_output_bam> \ #產出比對結果bam的輸出路徑,報告也在同樣位置,以.txt結尾 --reference [sars-cov-2 | betacov-ncbi-39 | viral-9334 | <path of RNA library reference in specified bucket >] # 參考序列預置了新型冠狀病毒sars-cov-2和目前已經知道的39種betacov的冠狀病毒,可以指定自訂的病毒序列庫命令樣本:
ags remote run rna-mapping \ --region cn-shenzhen \ --fastq1 cov2-samples/ICU6G_S2_L001_R1_001.fastq.gz \ --fastq2 cov2-samples/ICU6G_S2_L001_R2_001.fastq.gz \ --bucket my-test-shenzhen \ --output-bam bam/ICU6G_S2.bam \ --reference sars-cov-2 INFO[0002] {"JobName":"rna-mapping-gpu-2ms6w"} INFO[0002] Job submit succeed檢查比對任務和比對結果。
在這個比對任務樣本中,10M reads和新冠病毒序列MN908947.3比對產生了3629個高品質重合的reads,並在新冠病毒碼區間排列分(AS)超過120分的序列(reads)條數有404個。說明可以精確的從此樣本的測序資料中檢測出SARS-CoV-2 RNA的序列。
比對結果樣本:
ags remote get rna-mapping-gpu-2ms6w --show +-----------------------+------------------+-----------+-------------------------------+----------+-------------------------------+-------------+-------------+ | JOB NAME | JOB NAMESPACE | STATUS | CREATE TIME | DURATION | FINISH TIME | TOTAL READS | TOTAL BASES | +-----------------------+------------------+-----------+-------------------------------+----------+-------------------------------+-------------+-------------+ | rna-mapping-gpu-2ms6w | XXXXXXXXXXXX | Succeeded | 2020-03-04 16:40:30 +0800 CST | 43s | 2020-03-04 16:41:13 +0800 CST | 10369818 | 1456539874 | +-----------------------+------------------+-----------+-------------------------------+----------+-------------------------------+-------------+-------------+ +---------------------------------+--------------------------------------------+ | JOB DETAIL | | +---------------------------------+--------------------------------------------+ | rna_matached_reads | 480 | | rna_is_sars_cov2 | True | | rna_mapping_oss_region | cn-shenzhen | | rna_mapping_fastq_second_name | cov2-samples/ICU6G_S2_L001_R2_001.fastq.gz | | rna_mapping_no_unmapped | | | rna_mapping_service | s | | rna_matached_reads_alignment | 404 | | rna_high_quality_mapped | 3629 | | rna_mapping_fastq_first_name | cov2-samples/ICU6G_S2_L001_R1_001.fastq.gz | | rna_mapping_mark_dup | | | rna_mapping_reference_file_name | sars-cov-2 | | rna_cov_detail_file | bam/ICU6G_S2.bam.cov.txt | | rna_mapping_bam_file_name | bam/ICU6G_S2.bam | | rna_mapping_bucket_name | my-test-shenzhen | +---------------------------------+--------------------------------------------+執行ossutil命令,下載對比資料和簡單報告。
命令樣本:
ossutil ls oss://my-test-shenzhen/bam/ICU6G_S2.bam LastModifiedTime Size(B) StorageClass ETAG ObjectName 2020-03-04 16:41:11 +0800 CST 356320 Standard 9596D012A30438A0073A2A0B38F5D578 oss://my-test-shenzhen/bam/ICU6G_S2.bam 2020-03-04 16:41:11 +0800 CST 2889 Standard 63175E7180D110BA9D3BAB34F4313C59 oss://my-test-shenzhen/bam/ICU6G_S2.bam.cov.txt 2020-03-04 16:41:11 +0800 CST 396 Standard 940D51FF7ECFF60B5E5A41D1F635180D oss://my-test-shenzhen/bam/ICU6G_S2.bam.summary.json ossutil cp oss://my-test-shenzhen/bam/HKU2_160660.summary.json . ossutil cp -r oss://my-test-shenzhen/bam/ICU6G_S2.bam.cov.txt . ossutil cp oss://my-test-shenzhen/bam/HKU2_160660.bam .報告樣本:
cat bam/ICU6G_S2.bam.cov.txt Summary: High Quality Mapped Reads is: 3629 Matched reads in orf1ab range is: 480 Matched reads in orf1ab range with alignment score (AS) is greater than 120: 404 /data/cov2-samples_ICU6G_S2_L001_R1_001.fastq.gz-output/ICU6G_S2.bam is similar to SARS-CoV-2 with very high mappQ and AS reads: True 21571 21581 21591 21601 21611 21621 21631 NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN ATGTTTGTTTTTCTTGTTTTATTGCCACTAGTCTCTAGTCAGTGTGTTAATCTTACAACCAGAACTCAATTACCCCCTGC ATGTT GTTTTTCTTGTTTTATTGCCACTAGTCTCTAGTCAGTGTGTTAATCTTACAACCAGAACTCAATTACCCCCTGC ATGTTTGTTTTTCTTGTTTTATTGCCACTAGTCTCTAGT CAATTACCCCCTGC ATGTTTGTTTTTCTTGTTTTATTGCCACTAGTCTCTAGTCAGTGTGTTAATCTTACAACCAGA CCCCCTGC ATGTTTGTTTTTCTTGTTTTATTGCCACTAGTCTCTAGTCAGTGTGTTAATCTTACAACCAGAACTCAATTACCCCCTGC ATGTTTGTTTTTCTTGTTTTATTGCCA agtctctagtcagtgtgttaatcttacaaccagaactcaattaccccctgc atgtttgtttttcttgttttattgcca AGTCAGTGTGTTAATCTTACAACCAGAACTCAATTACCCCCTGC ATGTTTGTTTTTCTTGTTTTATTGCCACTAGTCTCTAGTCAGTGTGTTAATCTTACAACCAGAACTCAATTACCCCCTGC atgtttgtttttcttgttttattgccactagtctctagtcagtgtgttaatcttacaaccagaactcaattaccccctgc atgtttgtttttcttgttttattgccactagtctctagtcagtgtgttaatcttacaaccagaactcaattaccccctgc atgtttgtttttcttgttttattgccactagtctctagtcagtgtgttaatcttacaaccagaactcaattaccccctgc atgtttgtttttcttgttttattgccactagtctctagtcagtgtgttaatcttacaaccagaactcaattaccccctgc ATGTTTGTTTTTCTTGTTTTATTGCCACTAGTCTCTAGTCAGTGTGTTAATCTTACAACCAGAACTCAATTACCCCCTGC ATGTTTGTTTTTCTTGTTTTATTGCCACTAGTCTCTAGTCAGTGTGTTAATCTTACAACCAGAACTCAATTACCCCCTGC atgtttgtttttcttgttttattgccactagtctctagtcagtgtgttaatcttacaaccagaactcaattaccccctgc atgtttgtttttcttgttttattgccactagtctctagtcagtgtgttaatcttacaaccagaactcaattaccccctgc atgtttgtttttcttgttttattgccactagtctctagtcagtgtgttaatcttacaaccagaactcaattaccccctgc atgtttgtttttcttgttttattgccactagtctctagtcagtgtgttaatcttacaaccagaactcaattaccccctgc atgtttgtttttcttgttttattgccactagtctctagtcagtgtgttaatcttacaaccagaactcaattaccccctgc atgtttgtttttcttgttttattgccactagtctctagtcagtgtgttaatcttacaaccagaactcaattaccccctgc atgtttgtttttcttgttttattgccactagtctctagtcagtgtgttaatcttacaaccagaactcaattaccccctgc ATGTTTGTTTTTCTTGTTTTATTGCCACTAGTCTCTAGTCAGTGTGTTAATCTTACAACCAGAACTCAATTACCCCCTGC atgtttgtttttcttgttttattgccactagtctctagtcagtgtgttaatcttacaaccagaactcaattaccccctgc ATGTTTGTTTTTCTTGTTTTATTGCCACTAGTCTCTAGTCAGTGTGTTAATCTTACAACCAGAACTCAATTACCCCCTGC ATGTTTGTTTTTCTTGTTTTATTGCCACTAGTCTCTAGTCAGTGTGTTAATCTTACAACCAGAACTCAATTACCCCCTGC atgtttgtttttcttgttttattgccactagtctctagtcagtgtgttaatcttacaaccagaactcaattaccccctgc TGTTTGTTTTTCTTGTTTT CACTAGTCTCTAGTCAGTGTGTTAATCTTACAACCAGAACTCAATTACCCCCTGC tgtttgtttttcttgtttt TTTGTTTTTCTTGTTTTATTGCCACTAGTCTCTAGTCAGTGTGTTAATCTTACAACCAGAACTCAATTACCCCCTGC gtttttcttgttttattgccactagtctctagtcagtgtgttaatcttacaaccagaactcaattaccccctgc進一步分析比對資料。
您可以通過samtools stats, plot-bamstat 等工具將比對資料進一步分析coverage, depth等的相似性,還可以進一步實現蛋白質組成分析,以及變異分析。


重複上述步驟可實現不同樣本之間的比對。
與已知的39個betaCov病毒的比對
運行ossutil命令,將mNGS測序資料上傳至儲存空間(Bucket)。
命令樣本:
ossutil cp ICU6G_S2_L001_R1_001.fastq.gz oss://my-test-shenzhen/cov2-samples/ ossutil cp ICU6G_S2_L001_R2_001.fastq.gz oss://my-test-shenzhen/cov2-samples/運行對比任務。
命令樣本:
ags remote run rna-mapping \ --region cn-shenzhen \ --fastq1 cov2-samples/ICU6G_S2_L001_R1_001.fastq.gz \ --fastq2 cov2-samples/ICU6G_S2_L001_R2_001.fastq.gz \ --bucket my-test-shenzhen \ --output-bam bam/ICU6G_S2_virus.bam \ --reference betacov-ncbi-39 INFO[0011] {"JobName":"rna-mapping-gpu-6mpcc"} INFO[0011] Job submit succeed檢查比對任務和比對結果。
比對結果樣本:
ags remote get rna-mapping-gpu-6mpcc --show +-----------------------+------------------+-----------+-------------------------------+----------+-------------------------------+-------------+-------------+ | JOB NAME | JOB NAMESPACE | STATUS | CREATE TIME | DURATION | FINISH TIME | TOTAL READS | TOTAL BASES | +-----------------------+------------------+-----------+-------------------------------+----------+-------------------------------+-------------+-------------+ | rna-mapping-gpu-6mpcc | XXXXXXXXX | Succeeded | 2020-03-04 17:36:21 +0800 CST | 40s | 2020-03-04 17:37:01 +0800 CST | 10369818 | 1456539874 | +-----------------------+------------------+-----------+-------------------------------+----------+-------------------------------+-------------+-------------+ # 2014 mapped reads detected, but no mapped reads found in range +---------------------------------+--------------------------------------------+ | JOB DETAIL | | +---------------------------------+--------------------------------------------+ | rna_mapping_reference_file_name | betacov-ncbi-39 | | rna_matached_reads_alignment | 0 | | rna_mapping_bam_file_name | bam/ICU6G_S2_virus.bam | | rna_mapping_fastq_first_name | cov2-samples/ICU6G_S2_L001_R1_001.fastq.gz | | rna_mapping_oss_region | cn-shenzhen | | rna_cov_detail_file | bam/ICU6G_S2_virus.bam.cov.txt | | rna_mapping_no_unmapped | | | rna_matached_reads | 0 | | rna_mapping_mark_dup | | | rna_mapping_service | s | | rna_high_quality_mapped | 2014 | | rna_mapping_bucket_name | my-test-shenzhen | | rna_mapping_fastq_second_name | cov2-samples/ICU6G_S2_L001_R2_001.fastq.gz | | rna_is_sars_cov2 | False | +---------------------------------+--------------------------------------------+
與自訂病毒庫的比對
從NCBI GeneBank下載reference序列合并成為一個多contig的參考序列。
樣本:
搜尋核酸包含“betacov”的所有參考系列, 並下載參考系列。

把下載的序列檔案
sequence.fa改名為betacov-ncbi-test.fa。上傳reference到儲存空間。
命令樣本:
ossutil cp betacov-ncbi-test.fa oss://my-test-shenzhen/ref/提交比對任務,指定reference的路徑。
命令樣本:
ags remote run rna-mapping \ --region cn-shenzhen \ --fastq1 cov2-samples/ICU6G_S2_L001_R1_001.fastq.gz \ --fastq2 cov2-samples/ICU6G_S2_L001_R2_001.fastq.gz \ --bucket my-test-shenzhen \ --output-bam bam/ICU6G_S2_virus.bam \ --reference ref/betacov-ncbi-test.fa INFO[0002] {"JobName":"rna-mapping-gpu-69mwb"} INFO[0002] Job submit succeed查看比對報告和擷取匹配的比對資料。
對比結果樣本:
ags remote get rna-mapping-gpu-69mwb --show +-----------------------+------------------+-----------+-------------------------------+----------+-------------------------------+-------------+-------------+ | JOB NAME | JOB NAMESPACE | STATUS | CREATE TIME | DURATION | FINISH TIME | TOTAL READS | TOTAL BASES | +-----------------------+------------------+-----------+-------------------------------+----------+-------------------------------+-------------+-------------+ | rna-mapping-gpu-69mwb | 1365606736606053 | Succeeded | 2020-03-04 17:47:00 +0800 CST | 40s | 2020-03-04 17:47:40 +0800 CST | 10369818 | 1456539874 | +-----------------------+------------------+-----------+-------------------------------+----------+-------------------------------+-------------+-------------+ +---------------------------------+--------------------------------------------+ | JOB DETAIL | | +---------------------------------+--------------------------------------------+ | rna_mapping_fastq_first_name | cov2-samples/ICU6G_S2_L001_R1_001.fastq.gz | | rna_mapping_fastq_second_name | cov2-samples/ICU6G_S2_L001_R2_001.fastq.gz | | rna_mapping_mark_dup | | | rna_mapping_oss_region | cn-shenzhen | | rna_cov_detail_file | bam/ICU6G_S2_virus.bam.cov.txt | | rna_is_sars_cov2 | False | | rna_mapping_bam_file_name | bam/ICU6G_S2_virus.bam | | rna_mapping_service | s | | rna_matached_reads_alignment | 0 | | rna_high_quality_mapped | 2014 | | rna_mapping_bucket_name | my-test-shenzhen | | rna_mapping_no_unmapped | | | rna_mapping_reference_file_name | ref/betacov-ncbi-test.fa | | rna_matached_reads | 0 | +---------------------------------+--------------------------------------------+ +---------------------------------+------------------------------------------+下載比對資料做進一步分析。
命令樣本:
ossutil ls oss://my-test-shenzhen/bam/ICU6G_S2_virus.bam LastModifiedTime Size(B) StorageClass ETAG ObjectName 2020-03-04 17:47:38 +0800 CST 753458 Standard DF7B1A6CA5AF5DE6BF4FFDBB6DEF71C3 oss://my-test-shenzhen/bam/ICU6G_S2_virus.bam 2020-03-04 17:47:38 +0800 CST 1474 Standard 9D7968A779A0DE7C1993CC2A8D0E5A56 oss://my-test-shenzhen/bam/ICU6G_S2_virus.bam.cov.txt 2020-03-04 17:47:38 +0800 CST 397 Standard 81170E30BAAFEB947A2238E015171A51 oss://my-test-shenzhen/bam/ICU6G_S2_virus.bam.summary.json Object Number is: 3 ossutil cp oss://my-test-shenzhen/bam/ICU6G_S2_virus.bam.summary.json . cat bam/ICU6G_S2_virus.bam.summary.json { "total_reads":10369818, "total_bases":1456539874, "pass_vendor_filter_reads":10369818, "mapped_reads":6736, "pair_reads":6680, "properly_paired_reads":6520, "mapq_40_to_inf_reads":2030, "mapq_30_to_40_reads":0, "mapq_20_to_30_reads":1, "mapq_10_to_20_reads":3, "mapq_0_to_10_reads":23, "mapq_0_reads":10367761, "GC":"46.499%", "total_alignment":2057, "supplementary_alignment":0 }% ossutil cp oss://my-test-shenzhen/bam/ICU6G_S2_virus.bam . samtools view bam/ICU6G_S2_virus.bam