DNASeq管道

重要的

这个文档已经退休了,可能不会被更新。产品、服务或技术中提到的这些内容不再支持。

砖基因组学的运行时已被弃用。开源的等bob下载地址价物,看到回购genomics-pipelines发光。生物信息学库是运行时的一部分被释放集装箱码头工人,可从ProjectGlow Dockerhub页面。

关于砖运行时弃用策略的更多信息和时间表,看看砖运行时版本和支持计划的支持

请注意

以下库版本打包在砖7.0运行时的基因组学。砖库包括在低版本的运行时对基因组学、看发布说明

砖DNASeq管道GATK最佳实践兼容管道短读对齐,变异召唤,注释和变体。它使用以下软件包,并行使用火花。

  • BWA v0.7.17

  • 亚当v0.32.0

  • GATK HaplotypeCaller v4.1.4.1

  • SnpEff v4.3

关于管道实现和预期运行时的更多信息和成本为各种选项的组合,看看在Scala建设最快的DNASeq管道

设置

管道运行作为一个砖的工作。你可以设置一个集群政策保存配置:

{“num_workers”:{“类型”:“无限”,“defaultValue”:13},“node_type_id”:{“类型”:“无限”,“defaultValue”:“c5.9xlarge”},“spark_env_vars.refGenomeId”:{“类型”:“无限”,“defaultValue”:“grch38”},“spark_version”:{“类型”:“正则表达式”,“模式”:”。* hls。*”,“defaultValue”:“7.4.x-hls-scala2.12”},“aws_attributes.ebs_volume_count”:{“类型”:“无限”,“defaultValue”:3},“aws_attributes.ebs_volume_size”:{“类型”:“无限”,“defaultValue”:200年}}
  • 基因组学的集群配置应该使用砖运行时。

  • 这个任务应该是DNASeq笔记本发现这一页的底部。

  • 最佳性能,使用优化计算实例与至少60 gb的内存。我们建议c5.9xlarge

  • 如果你跑步基础质量分数调整,使用通用(m5.4xlarge)实例,而不是因为这个操作需要更多的内存。

  • 为了降低成本,使用所有现场工人的现货跌回随需应变选项选中。

  • 附上3 200 gb的SSD EBS卷

参考基因组

你必须使用一个配置参考基因组环境变量。使用GRCh37,设置环境变量:

refGenomeId=grch37

使用GRCh38相反,替换grch37grch38

自定义参考基因组

使用参考构建除了GRCh37或GRCh38,遵循这些步骤:

  1. 准备与BWA GATK参考使用。

    参考基因组目录内容应该包括这些文件:

    <引用名称>。dict <引用名称>。fa <引用名称> .fa。amb <引用名称> .fa。安<引用名称> .fa。bwt <引用名称> .fa。fai <引用名称> .fa。pac <引用名称> .fa.sa
  2. 参考基因组的文件上传到云存储或DBFS目录。如果你将文件上传到云存储,你必须的挂载的目录在DBFS位置

  3. 在集群配置中,设置一个环境变量REF_GENOME_PATH指在DBFS fasta文件的路径。例如,

    REF_GENOME_PATH=/ mnt /参考基因组/ reference.fa

    路径必须不包括dbfs:前缀。

    当你使用一个自定义的参考基因组,SnpEff注释阶段是跳过。

提示

在集群的初始化,数据砖DNASeq管道使用BWA提供索引文件生成一个索引图像文件。如果您计划使用相同的参考基因组很多次,你可以加速集群启动提前通过构建索引图像文件。这个过程将会减少集群启动时间约30秒。

  1. 参考基因组目录复制到砖的司机节点集群运行时对基因组学。

    % sh cp - r / dbfs / < reference-dir-path > / local_disk0 /参考基因组
  2. 从BWA生成索引图像文件索引文件。

    进口orgbroadinstitute鲁莽的人跑龙套bwa_BwaMemIndexcreateIndexImageFromIndexFiles(“/ local_disk0 /参考基因组/ <引用名称> .fa”,“/ local_disk0 /参考基因组/ <引用名称> .fa.img”)
  3. 到索引图像文件复制到参考fasta文件相同的目录中。

    % sh cp / local_disk0 /参考基因组/ <引用名称> .fa。img / dbfs / < reference-dir-path >
  4. 删除不需要的文件(BWA指数.amb,.ann,.bwt,.pac,.sa从DBFS)。

    % fs rm <文件>

参数

管道接受参数,控制其行为。最重要和常见的改变参数记录;其余的可以找到DNASeq笔记本。导入笔记本之后,它作为一个工作任务,您可以设置这些参数所有运行orgydF4y2Ba每次运行

参数

默认的

描述

清单

n /一个

描述输入清单。

输出

n /一个

管道输出应该写的路径。

replayMode

跳过

之一:

  • 跳过:如果输出阶段跳过已经存在。

  • 覆盖:现有的输出被删除。

exportVCF

如果这是真的,管道导致VCF以及三角洲湖写道。

referenceConfidenceMode

没有一个

之一:

  • 如果没有一个,只有变体网站是包含在输出中

  • 如果GVCF,所有的网站都包括在内,与相邻参考网站带状。

  • 如果BP_RESOLUTION,所有的网站都包括在内。

perSampleTimeout

12小时

一个超时每样例应用。达到这个超时后,管道继续到下一个样品。该参数的值必须包括一个超时单元:“年代”秒,“m”分钟,或“h”数小时。例如,60米的导致超时60分钟。

提示

优化运行时,设置spark.sql.shuffle.partitions火花配置三倍数量的集群的核心。

定制

你可以定制DNASeq管道通过禁用读对齐,变体的召唤,注释和变体。默认情况下,所有三个阶段都是激活的。

瓦尔管道=DNASeqPipeline(对齐=真正的,callVariants=真正的,注释=真正的)

禁用变异注释,管道设置如下:

瓦尔管道=DNASeqPipeline(对齐=真正的,callVariants=真正的,注释=)

允许阶段组合是:

读一致性

变量调用

变异注释

真正的

真正的

真正的

真正的

真正的

真正的

真正的

真正的

真正的

清单格式

清单是一个CSV文件或blob描述在哪里找到输入FASTQ或BAM文件。例如:

file_path、sample_id paired_end, read_group_id * _R1_ * .fastq。bgz HG001 1, read_group * _R2_ * .fastq.bgz, HG001, 2, read_group

如果你的输入包括对齐BAM文件,你应该省略了paired_end字段:

file_path、sample_id paired_end, read_group_id *本,HG001、read_group

提示

如果提供的清单是一个文件,file_path在每一行可以是一个绝对路径或相对路径清单文件。如果提供的清单是一个blob,file_path字段必须是一个绝对路径。可以包含着(*)许多文件相匹配。

支持输入格式

  • 山姆

  • BAM

  • 补习

  • 拼花

  • FASTQ

    • bgzip* .fastq.bgz(推荐)bgzipped文件* .fastq.gz扩展是公认的bgz

    • 未压缩的* .fastq

    • gzip* .fastq.gz

重要的

gzip文件不是可剥离。选择自动定量集群来最小化成本这些文件。

块压缩FASTQ,安装htslib,包括bgzip可执行文件。

在本地

gunzip - c <我的文件> . gz结尾|bgzip - c|aws s3 cp - s3: / / < my-s3-file-path > .bgz

从S3

aws s3 cp s3: / / < my-s3-file-path >。广州- - - - - -|gunzip - c|bgzip - c|aws s3 cp - s3: / / < my-s3-file-path > .bgz

输出

对齐的读取,称为变体,和注释的变异都写入三角洲表内所提供的输出目录是否启用相应的阶段。每个表由样本分区ID。此外,如果你配置了管道出口BAMs或vcf,他们会出现在输出目录。

|——比对|——-sampleId = HG001 |——镶花文件|——对齐。bam |——-HG001。bam |——注释| | - - - -它文件注释。vcf |——-HG001.vcf|---genotypes |---Delta files |---genotypes.vcf |---HG001.vcf

运行管道新样本时,它会显示为一个新的分区。如果你运行的管道样本已经出现在输出目录,该分区将被覆盖。

以来的所有信息可在三角洲湖,你可以很容易地分析它与火花在Python中,R, Scala或SQL。例如:

#加载数据df=火花格式(“δ”)负载(“基因组学/ output_dir /基因型”)#显示所有从12号染色体变异显示(df在哪里(“contigName = = 12”)orderBy(“sampleId”,“开始”))
——目录中注册表创建基因型使用δ位置/基因组学/ output_dir /基因型的

故障排除

工作是缓慢和几个任务正在运行

通常表明输入FASTQ文件压缩gzip而不是bgzip。gzip文件不是可剥离,所以输入不能并行处理。

通过编程的方式运行

除了使用用户界面,您可以开始运行的管道以编程方式使用砖CLI(遗留)

找到工作的id

在UI设置管道工作后,复制工作ID当你通过它工作现在CLI命令。

这里有一个例子bash脚本,您可以调整您的工作流:

#生成清单文件< <这里> manifest.csvfile_path、sample_id paired_end read_group_iddbfs:基因组学/ my_new_sample / * _R1_ * .fastq.bgz my_new_sample, 1, read_groupdbfs:基因组学/ my_new_sample / * _R2_ * .fastq.bgz my_new_sample, 2, read_group在这里# DBFS上传文件DBFS_PATH=基因组学dbfs: / /表现/$ (日期+“% Y - % m - H % dT % - % - % S”)清单。csv数据砖fs cp manifest.csvDBFS_PATH美元#启动一个新的运行工作现在,作业id <作业id >——notebook-params“{\“清单\”:\”DBFS_PATH美元\“}”

除了从命令行运行开始,您可以使用这个模式来调用管道从詹金斯等自动化系统。