云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

域名解析_百度云下载的文件在哪里_免费领

小七 141 0

Glow 0.3.0引入了新的大规模基因组分析功能

去年10月,Databricks和Regeneron Genetics Center®合作推出了Project Glow,这是一种开源分析工具,旨在授权遗传学研究人员从事数百万样本规模的基因组学项目。自从推出Glow以来,我们一直忙于添加新的高质量算法,提高性能,并使Glow的api更易于使用。Glow 0.3.0于2020年2月21日发布,提高了Glow在执行大规模、高通量基因组分析方面的能力和易用性。在这个博客中,我们将重点介绍0.3.0版本中引入的特性和改进。Glow SQL函数的Python和Scala api在这个版本中,所有Glow SQL函数都引入了本机Python和scalaapi,类似于Spark SQL函数的功能。除了改进的简单性之外,这还提供了增强的编译时安全性。SQL函数及其Python和Scala客户端都是从同一个源代码生成的,因此将来的任何新功能都将以这三种语言出现。有关这些函数的Python api的更多信息,请参考Glow PySpark函数。下一节的末尾将给出一个代码示例,其中展示了normalize_变量的Python和scalaapi。改进的变量规范化在这个版本中,variant normalizer得到了很大的性能改进。它的行为仍然类似于bcftools normal和vt normalize,但速度大约快2.5倍,并且具有更灵活的API。此外,新的规范化器实现为除了一个转换器之外的一个函数。normalize_variants transformer:改进的transformer保留输入数据帧的列,将规范化状态添加到dataframe,并可以选择将规范化结果(包括规范化坐标和等位基因)作为新列添加到dataframe中。首先,我们使用以下命令读取原始的_variants_df dataframe。图1显示了这个数据帧中的变量。原始变量_df=火花。阅读\.格式("vcf")\.option("includeSampleId",False)\.load("/databricks datasets/genomics/call sets")图1:变体数据帧原始的_variants_df可以使用以下命令将改进的normalizer transformer应用于此数据帧。这将使用规范化器的早期版本所使用的转换器语法:导入发光规范化的变量_df=发光.变换("规范化_变量"\原始的_变体_df\reference_genome_path="/mnt/dbnucleus/dbgenomics/grch38/data/grch38_full_analysis_set_plus_诱饵_人类白细胞抗原" \)图2:规范化的数据帧规范化的变量图2显示了由改进的规范化器生成的数据帧。start、end、referenceAllele和alternativeAlleles字段将使用规范化值进行更新,并将normalizationStatus列添加到dataframe中。此列包含一个changed子字段,指示规范化是否更改了变量,如果发生错误,则包含错误消息的errorMessage子字段。新引入的replace_columns选项可用于将规范化结果作为新列添加到dataframe中,而不是替换原来的start、end、referenceAllee和alternateAlleles字段:导入发光规范化的变量_df=发光.变换("规范化_变量"\原始的_变体_df\replace_columns="假"\reference_genome_path="/mnt/dbnucleus/dbgenomics/grch38/data/grch38_full_analysis_set_plus_诱饵_人类白细胞抗原" \)图3:规范化的数据帧规范化的_noreplace_variants_df,标准化结果作为新列添加图3显示了结果数据帧。一个normalizationResults列被添加到dataframe中。此列包含规范化状态,以及规范化的start、end、referenceAllele和alternateAlleles子字段。由于在这个版本中,多等位变量拆分器被实现为一个单独的转换器,normalize_variants transformer的mode选项被弃用。有关normalize_variants transformer的更多详细信息,请参阅variance Normalization文档。normalize_variant函数:如上所述,本版本引入normalize_variant SQL表达式:从pyspark.sql.functions进口出口function_normalized_variants_df=原始_变体_df.WITH列( \"规范化结果"\expr("normalize_variant(contigName,start,end,referenceAllele,alternateAlleles,"/mnt/dbnucleus/dbgenomics/grch38/data/grch38_full_analysis_set_plus_诱饵_人类白细胞抗原')") \)如前一节中所讨论的,这个SQL表达式函数还有Python和scalaapi。因此,我们可以重写前面的代码示例,如下所示:从发光功能导入规格化变量function_normalized_variants_df=原始_变体_df.WITH列( \"规范化结果"\规范化变型(\"contigName"\"开始"\"结束"\"引用集合"\"备选名单"\"/mnt/dbnucleus/dbgenomics/grch38/data/grch38_完整分析_set_plus_诱饵_人类白细胞抗原" \) \)这个例子也可以很容易地移植到Scala:进口io.projectglow.functions.normalize_变量进口org.apache.spark网站.sql.functions.colval函数?标准化?变量?df=原始变量_df.WITH列("规范化结果",规范化_变量(列("contigName"),列("开始"),列("结束"),col("referenceAllele"),col("备选方案"),"/mnt/dbnucleus/dbgenomics/grch38/data/grch38_完整分析_set_plus_诱饵_人类白细胞抗原"))以上任何命令的结果都将与图3相同。一种新的分裂多等位基因变体的变换器这个版本还引入了一个新的数据帧转换器,称为split廑multiallics。此转换器将多等位基因变体拆分为双等位基因变体,其行为类似于使用-s选项进行vt分解。这种行为比之前的splitter行为更强大,它的行为类似于GATK的leftalignandtrimpvariants with–split multi allelics。特别是,数组类型信息和基因型字段与参考和替代等位基因相对应的元素被分割成双等位基因行(参见vt decompose的-s选项)。数组类型的基因型字段也是如此,元素按基因型调用的colex顺序排序,例如VCF格式的GL、PL和GP字段。此外,在dataframe中添加了一个旧的多等位基因信息字段,以存储分割变量的原始多等位基因形式。以下是在原始的_变体_df上使用分裂的多等位变压器的示例。图4包含此转换的结果。导入发光拆分变量_df=发光.变换("拆分多单元",原始变体)图4:拆分数据帧split_variants_df请注意,新的拆分器是作为一个独立的变压器实现的,而不是normalize_variants transformer。以前,拆分只能作为normalize_variants转换器的操作模式之一使用现在不推荐使用的模式选项。有关这种新型变压器性能的完整详细信息,请参阅分离式多联变压器的文档。注释字段的解析VCF阅读器和管道转换器现在解析SnpEff和VEP等工具的变体注释。这使ANN和CSQ信息字段变平,从而简化和加速了对注释的查询。图5显示了下面代码的输出,它查询使用LOFTEE VEP插件注释的VCF中的注释结果。从pyspark.sql.functions进口出口变量_df=火花。阅读\.格式("vcf")\.load("dbfs:/databricks datasets/genomics/vcfs/阁楼.vcf")带注释的_variants_df=原始的_variants_df.WITH列( \"爆炸信息"\expr("爆炸(信息)"\) \.selectExpr("连续名称"\"开始"\"结束"\"引用集合"\"备选名单"\"展开结构(展开的结构)"\"基因型"\)图5:带注释的数据框带注释的变型_df,扩展了分解信息的子字段其他数据分析改进Glow 0.3.0还包括线性回归和逻辑回归函数的优化实现,从而使性能提高了约50%。参见线性回归和逻辑回归的文档。此外,除了scala2.11之外,新版本还支持scala2.12。两个Scala版本的Maven构件都可以在mavencentral上找到。试试Glow 3.0!Glow 0.3安装在Databricks Genomics运行时(Azure | AWS)中,并针对使用云计算分析大型基因组数据集时的性能进行了优化。了解更多关于我们的基因组学解决方案,以及我们如何帮助人类和农业基因组研究,以及如何在Databricks基因组学统一分析平台中实现人口规模下一代测序等进步,请立即尝试预览。免费试用Databricks。今天就开始吧