🎨For 使用者
Bioinformatic
您可以通过这部分了解数据的上传以及并成功运行工作流的方法。 该工作流程是一个文件格式转换,用于将基因组文件从一种格式 (CRAM) 转换为另一种格式 (BAM) 以进行下游分析。

1. 创建Workspace
名称:仅支持中文、数字、字母、“-”、“_”且不能以“-”、“_”开头
存储类型:目前开源版仅支持使用NAS存储,后续将支持S3协议
挂载目录:此处可以输入想要在当前nfs中新建的目录名称,以“/”开头

2. 上传数据
通常上传所需要分析的数据是开启一个工作流的第一步,在这个实践中,我们需要先将所需要用到的数据集传到NAS目录中,并手动生成一个CSV的数据模型表格。你需要将数据模型表格中所需关联的数据文件上传到Bio-OS的存储桶中。您可以根据以下链接先下载样本数据集文件和参考数据集文件至本地,然后上传至NAS存储中(可通过scp命令从本地复制到NAS存储中)。
参考数据 基因组序列的字典文件
https://tutorials-data.tos-cn-guangzhou.volces.com/cram-to-bam/reference-data/Homo_sapiens_assembly38.dict
参考数据 基因组序列文件
https://tutorials-data.tos-cn-guangzhou.volces.com/cram-to-bam/reference-data/Homo_sapiens_assembly38.fasta
参考数据 基因组索引文件
https://tutorials-data.tos-cn-guangzhou.volces.com/cram-to-bam/reference-data/Homo_sapiens_assembly38.fasta.fai
样本数据1
https://tutorials-data.tos-cn-guangzhou.volces.com/cram-to-bam/sample-data/NA12878.cram
样本数据2
https://tutorials-data.tos-cn-guangzhou.volces.com/cram-to-bam/sample-data/my-sample-data.cram
3. 制作数据模型
点击实体数据模型旁的“+”号并下载数据模型csv模版,并修改csv后重新上传。

在本示例中将每个样本所对应的输入或样本文件填写至样本参数列中,第一列的字段"sample_id"不可修改

上传完成后如图所示

4. 导入工作流
Bio-OS使用工作流描述语言 (WDL) 中的工作流来批处理基因组学数据。一般处理样本数据的 GATK 工具普遍依赖 BAM 文件作为主要格式。有些支持CRAM格式,但我们观察到直接从 CRAM 文件工作时会出现性能问题,因此,我们首先将 CRAM 转换为 BAM。
接下来我们需要将Cram-to-Bam 工作流导入到Workspace中,
点击导入工作流
输入对应的输入项
工作流名称:输入自定义的工作流名
Branch/Tag: v0.47
Main path:CramToBam.wdl

这样就完成了我们所需要的Cram to Bam的转换工作流导入。此处附WDL源码 Gitee 源码
version 1.0
#WORKFLOW DEFINITION
workflow CramToBamFlow {
input {
File ref_fasta
File ref_fasta_index
File ref_dict
File input_cram
String sample_name
String gotc_docker = "biocontainers/samtools:v1.7.0_cv4"
}
#converts CRAM to SAM to BAM and makes BAI
call CramToBamTask {
input:
ref_fasta = ref_fasta,
ref_fasta_index = ref_fasta_index,
ref_dict = ref_dict,
input_cram = input_cram,
sample_name = sample_name,
docker_image = gotc_docker
}
#Outputs Bam, Bai, and validation report to the FireCloud data model
output {
File outputBam = CramToBamTask.outputBam
File outputBai = CramToBamTask.outputBai
}
}
#Task Definitions
task CramToBamTask{
input{
#Command parameters
File ref_fasta
File ref_fasta_index
File ref_dict
File input_cram
String sample_name
# Runtime parameters
#Int addtional_disk_size = 20
Int machine_mem_size = 4
Int disk_size = 50
String docker_image
}
# Float output_bam_size = size(input_cram, "GB") / 0.60
# Float ref_size = size(ref_fasta, "GB") + size(ref_fasta_index, "GB") + size(ref_dict, "GB")
# Int disk_size = ceil(size(input_cram, "GB") + output_bam_size + ref_size) + addtional_disk_size
#Calls samtools view to do the conversion
command {
set -eo pipefail
samtools view -h -T ~{ref_fasta} ~{input_cram} |
samtools view -b -o ~{sample_name}.bam -
samtools index -b ~{sample_name}.bam
mv ~{sample_name}.bam.bai ~{sample_name}.bai
}
runtime {
docker: docker_image
memory: machine_mem_size + " GB"
disk: disk_size + " GB"
}
#Outputs a BAM and BAI with the same sample name
output {
File outputBam = "~{sample_name}.bam"
File outputBai = "~{sample_name}.bai"
}
}
5. 运行工作流
刚才我们已经完成了工作流的导入,那么接下来我们将对导入的工作流进行运行。
选择我们刚才导入的Cram-to-Bam工作流
在这里我们需要配置运行选项和运行参数,在运行选项中,选择刚才我们第一步中所上传的数据实体,并指定实体数据。

配置输入参数,选中输入参数选项卡,并按照如下参数进行输入,当然当输入参数较多时,可以使用上传JSON文件的方式进行快速地导入。

配置输出参数,使用this.bai作为bai文件的输出属性,this.bam作为bam文件的属性列

点击右上角【开始分析】,此时工作流会通过Cromwell工作流引擎进行分析,结果可在【分析历史】中进行查看
6. 查看分析结果
点击分析历史,可查看过往的投递的历史,在Bio-OS中,投递意味着可以同时运行多样本的批量分析人物,点击右下角工作流配置,可查看当次投递时的工作流配置,也可从配置中发起再次投递

点击某个样本的运行详情,可以查看输出文件所在目录,此时可进入对应的NAS存储中找到对应的文件

Last updated