更专业的用户担心的是,从同伴生物信息专家和研究所所长那里听到的这样的情况。 「半夜睡眼惺忪地起床,查看NGS数据分析管道的结果,将文件转换成另一个文件,确认格式,准备下游分析的下一步,然后昏倒回到床上……」同样辛苦的我们 了解强大API的有用性,它可以自动执行人工任务。
我们总结了Python和命令行用的强大API,使其尽可能容易阅读、简单、直观。 虽然Basepair的GUI已被简化为一键快速分析,但如果是几十个、几百个甚至数千个示例,则没有比添加强大的API更好的了。
本文将以几个示例说明Python API如何帮助自动化大型NGS数据分析。 单击功能区上的 我创建了一个对这里有用的帖子 。
即使您不是生物信息设计师,或者没有开发经验,也建议您粗略地看一下以下示例,了解Basepair的API可以做些什么。 Basepair还可以帮助您设置API和所有集成。 有关详细信息,请参见 请从这里咨询。
开始使用基本面API
安装Basepair Python库并设置配置文件 单击功能区上 basepair 库和 json 确保已导入库并已将基础文件连接到配置文件。
import basepair import json bp = basepair.connect(json.load(open(‘/path/to/basepair.config.json’)))
现在,您已经准备好启动NGS数据分析的自动化。
搜索数据
在动态输入提示中单击 bp.print_data() 的双曲正切值。
bp.print_data(‘genomes’) # Will return a list of all genomes # To get more detailed info per genome, add the json=True parameter id name date_created —- ———————– ————————– 1 hg19 2018-04-18T14:58:15.865993 2 mm10 2018-04-18T15:05:39.770488 3 mm9 2018-04-18T15:10:33.438603 4 danRer10 2018-04-18T15:15:11.281866 5 tair10 2018-04-18T15:17:19.582104 bp.print_data(‘workflows’) # Will return a list of all workflows bp.print_data(‘samples’) # Will return a list of all samples bp.print_data(‘analyses’) # Will return a list of all analyses bp.print_data(‘analysis’, uid=[17209]) # Will return a list of data associated with a particular analysis
创建或删除示例
创建和删除示例数据是基本的基本知识库插件API,程序最多可以添加数千个示例。
来定义自定义外观 例如,hg19 人类基因组。 创建一个简单的词典,并将示例添加到Python API中。 可能的键和值对如下:。
Keys Requirement Type Value description name required str Your custom sample name genome required str Your sample’s reference genome (e.g. hg19). Run “bp.get_genome()” to see which are available. datatype required str Data type. Available options: ‘atac-seq’, ‘chip-seq’, ‘dna-seq’, ‘others’, rna-seq’, or ‘scrna-seq’ filepaths1 required str or list One of more files. (e.g. the R1 FASTQ file(s)) filepaths2 optional str or list One of more files. (e.g. the R2 FASTQ file(s)) default-workflow optional str ‘id’ of the default analysis workflow
这在IDE中是如何显示的:。
fwd_file = ‘reads_1.fq’ rev_file = ‘reads_2.fq’ sample_info = { ‘name’: ‘Sample1’, ‘genome’: ‘hg19’, ‘datatype’: ‘rna-seq’, ‘filepaths1’: fwd_file, ‘filepaths2’: rev_file, } sample_id = bp.create_sample(sample_info)
bp.create_sample() 创建并上载示例。 这非常简单。 单击功能区上 upload=False 使用参数。
Sample_id 变量包括 ,分配唯一的整数标识。 如果这个数字丢失了 bp.get_samples() 中所述修改相应参数的值。
要删除示例,只需执行以下命令:。
bp.delete_sample(sample_id)
如果已成功删除示例,则返回“响应[204]”。
执行NGS数据分析
创建并上传示例后,请执行相应的分析。
首先 bp.get_workflows() 来获取工作流ID的列表,并将所选ID设置为bp.create_analysis () 作为命令的参数使用。 以下是使用STAR创建分析以映射和量化读。
bp.create_analysis(workflow_id='4'、sample_id='3206')
然后下载结果。
下载结果
完成的分析 uid 中所述修改相应参数的值 bp.get_samples ()命令。 获取uid后,您可以在下载什么方面变得非常灵活。
例1。
此代码执行以下操作:
从ID28626分析下载文件
排除标记为“bam”的文件( tagkind 中所述修改相应参数的值 “diff” )。
将所有文件下载到“测试”目录。
bp.download_analysis( 28626, tags=[[‘bam’]], tagkind=’diff’, outdir=’./test/’)
例2。
执行此代码:
从ID28626分析下载文件。
仅包含标记为“fastqc”的文件。
将所有文件下载到测试目录。
bp.download_analysis( 28626, tags=[[‘fastqc’]], tagkind=’subset’, outdir=’./test/’)
例3。
执行此代码:
从ID28626分析下载文件。
仅包含标记为“rnaseq_metrics”和“json”的文件,或标记为“fastqc”和“zip”的文件。
将所有文件下载到测试目录。
bp.download_analysis( 28626, tags=[[‘rnaseq_metrics’,’json’],[‘fastqc’,’zip’]], tagkind=’exact’, outdir=’./test/’)
执行此代码:
从ID28626分析下载文件。
仅包含标记为“rnaseq_metrics”和“json”的文件,或标记为“fastqc”和“zip”的文件。
将所有文件下载到测试目录。
结论
我们已尽可能使Basepair的API更易于阅读、更简单、更坚固。 出色的API可以帮助团队在非常短的时间内将其缩放为数千个样本。 由于强大的并行处理,您可以同时执行数千个分析,因此不会为附加样本产生时间负债。
这篇文章 Basepair API features 来定义自定义外观。