(a) Perl API
Perl API(有关下载和安装说明,请参阅[22])通过一个例子不言自明。学习和生成API脚本的最佳方法是在定义手动查询后使用任何MartView站点顶部窗格中的Perl按钮。下面的脚本提取了小鼠和人类集合基因ID以及染色体1上所有人类基因的基因组位置,这些基因在染色体2上具有小鼠同源性。就像网站一样,生成查询涉及设置数据集、添加过滤器和属性以及选择输出格式。用户甚至可以像网站一样获得结果计数。
使用严格;
使用BioMart::Initializer;
使用BioMart::Query;
使用BioMart::QueryRunner;
my$confFile=“biomert-perl/conf/下您的注册文件的路径”
my$initializer=BioMart::initializer->new('registryFile'=>$confFile,'action'=>'cached');
my$registry=$initializer->getRegistry;
my$query=BioMart::query->new('registry'=>$registry,'virtualSchemaName'=>'default');
$query->setDataset(“hsapiens_gene_ensembl”);
$query->addFilter(“chromosome_name”,[“1”]);
$query->addAttribute(“ensembl_gene_id”);
$query->addAttribute(“chromosome_name”);
$query->addAttribute(“start_position”);
$query->addAttribute(“end_position”);
$query->setDataset(“mmusculus_gene_ensembl”);
$query->addFilter(“chromosome_name”,[“2”]);
$query->addAttribute(“ensembl_gene_id”);
$query->addAttribute(“chromosome_name”);
$query->addAttribute(“start_position”);
$query->addAttribute(“end_position”);
$query->格式化程序(“TSV”);
my$query_runner=生物城::QueryRunner->new();
#获取计数
#$query->count(1);
#$query_runner->execute($query);
#打印$query_runner->getCount();
#仅获取唯一行
#$query_runner->uniqueRowsOnly(1);
$query_runner->execute($query);
$query_runner->printHeader();
$query_runner->printResults();
$query_runner->printFooter();
(b) Mart服务
MartServices是BioMart的RESTful类型的web服务,作为MartView web应用程序的一部分提供,与所有BioMart接口一样,其设计尽可能简单易用。它与MartView位于同一位置,即如果用户使用以下命令访问MartViewhttp://www.myurl.org/biomart/martview然后他们将使用http://www.myurl.org/biomart/martservice网站。有关服务和查询的概述信息(元数据)都可以提交(有关元数据服务的详细信息,请参阅主站点上的文档[1]).
与PerlAPI一样,MartServices的查询XML是不言自明的,同样,学习和生成它的最佳方法是使用任何MartView站点顶部窗格中的XML按钮来生成当前配置的查询的表示。用于重新创建上述Perl API示例的XML(提取小鼠和人类集合基因ID以及染色体1上所有人类基因的基因组位置,这些基因在染色体2上具有小鼠同源基因)如下所示:
<?xml version=“1.0”encoding=“UTF-8”?>
<!DOCTYPE查询>
<Query virtualSchemaName=“default”formatter=“TSV”header=“0”uniqueRows=“0“count=”“datasetConfigVersion=“0.6”>
<数据集name=“hsapiens_gene_ensembl”interface=“default”>
<过滤器name=“chromosome_name”value=“1”/>
<属性name=“ensembl_gene_id”/>
<属性name=“chromosome_name”/>
<属性name=“start_position”/>
<属性name=“end_position”/>
</数据集>
<数据集name=“mmusculus_gene_ensembl”interface=“default”>
<Filter name=“chromosome_name”value=“2”/>过滤器名称=“chromosome_name”value=“2”/>
<属性name=“ensembl_gene_id”/>
<属性name=“chromosome_name”/>
<属性name=“start_position”/>
<属性name=“end_position”/>
</数据集>
</查询>
同样,请注意如何通过在查询标记中添加数据集以及在数据集中添加过滤器和属性来形成查询。对于Perl API,可以使用格式化程序设置更改输出格式,可以通过设置count=“1”来执行计数,也可以通过在Query上设置uniqueRows=“1)来执行唯一行。要向MartServices提交查询,必须将此XML发布到http://www.biomert.org/biomart/martservice网站通过附加查询参数。例如,使用wget:wget–O results.txt'http://www.biomert.org/biomart/martservice?query=MY_XML'用上面获得的XML替换MY_XML。