基本API功能

更专业的用户担心的是,从同伴生物信息专家和研究所所长那里听到的这样的情况。「半夜睡眼惺忪地起床,查看NGS数据分析管道的结果,将文件转换成另一个文件,确认格式,准备下游分析的下一步,然后昏倒回到床上……」同样辛苦的我们了解强大API的有用性,它可以自动执行人工任务。

我们总结了Python和命令行用的强大API,使其尽可能容易阅读、简单、直观。虽然Basepair的GUI已被简化为一键快速分析,但如果是几十个、几百个甚至数千个示例,则没有比添加强大的API更好的了。

本文将以几个示例说明Python API如何帮助自动化大型NGS数据分析。单击功能区上的我创建了一个对这里有用的帖子

即使您不是生物信息设计师,或者没有开发经验,也建议您粗略地看一下以下示例,了解Basepair的API可以做些什么。Basepair还可以帮助您设置API和所有集成。有关详细信息,请参见请从这里咨询。

开始使用基本面API

安装Basepair Python库并设置配置文件单击功能区上basepair库和json确保已导入库并已将基础文件连接到配置文件。

import basepairimport jsonbp = 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 parameterid  name                     date_created—-  ———————–  ————————–1     hg19                     2018-04-18T14:58:15.8659932     mm10                  2018-04-18T15:05:39.7704883     mm9                    2018-04-18T15:10:33.4386034     danRer10            2018-04-18T15:15:11.2818665     tair10                   2018-04-18T15:17:19.582104bp.print_data(‘workflows’)# Will return a list of all workflowsbp.print_data(‘samples’)# Will return a list of all samplesbp.print_data(‘analyses’)# Will return a list of all analysesbp.print_data(‘analysis’, uid=[17209])# Will return a list of data associated with a particular analysis

创建或删除示例

创建和删除示例数据是基本的基本知识库插件API,程序最多可以添加数千个示例。

来定义自定义外观例如,hg19人类基因组。创建一个简单的词典,并将示例添加到Python API中。可能的键和值对如下:。

KeysRequirementTypeValue description
namerequiredstrYour custom sample name
genomerequiredstrYour sample’s reference genome (e.g. hg19). Run “bp.get_genome()” to see which are available.
datatyperequiredstrData type. Available options: ‘atac-seq’, ‘chip-seq’, ‘dna-seq’, ‘others’, rna-seq’, or ‘scrna-seq’
filepaths1requiredstr or listOne of more files. (e.g. the R1 FASTQ file(s))
filepaths2optionalstr or listOne of more files. (e.g. the R2 FASTQ file(s))
default-workflowoptionalstr‘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。

此代码执行以下操作:

  1. 从ID28626分析下载文件
  2. 排除标记为“bam”的文件(tagkind中所述修改相应参数的值“diff”)。
  3. 将所有文件下载到“测试”目录。
bp.download_analysis(28626,tags=[[‘bam’]],tagkind=’diff’,outdir=’./test/’)

例2。

执行此代码:

  1. 从ID28626分析下载文件。
  2. 仅包含标记为“fastqc”的文件。
  3. 将所有文件下载到测试目录。
bp.download_analysis(28626,tags=[[‘fastqc’]],tagkind=’subset’,outdir=’./test/’)

例3。

执行此代码:

  1. 从ID28626分析下载文件。
  2. 仅包含标记为“rnaseq_metrics”和“json”的文件,或标记为“fastqc”和“zip”的文件。
  3. 将所有文件下载到测试目录。
bp.download_analysis(28626,tags=[[‘rnaseq_metrics’,’json’],[‘fastqc’,’zip’]],tagkind=’exact’,outdir=’./test/’)

执行此代码:

  1. 从ID28626分析下载文件。
  2. 仅包含标记为“rnaseq_metrics”和“json”的文件,或标记为“fastqc”和“zip”的文件。
  3. 将所有文件下载到测试目录。

结论

我们已尽可能使Basepair的API更易于阅读、更简单、更坚固。出色的API可以帮助团队在非常短的时间内将其缩放为数千个样本。由于强大的并行处理,您可以同时执行数千个分析,因此不会为附加样本产生时间负债。

这篇文章Basepair API features来定义自定义外观。