mapr是一个用于omero.web的python插件

omero-mapr的Python项目详细描述


https://travis-ci.org/ome/omero-mapr.svg?branch=masterhttps://badge.fury.io/py/omero-mapr.svg

映射器

omero.mapr是一个omero.web应用程序,可以通过链接到图像的属性浏览数据 以地图注释的形式。

它被Image Data Resource广泛使用, 允许用户按各种类别(如基因、表型、有机体等)查找数据。

在omero中,映射注释是命名属性或“键值对”的列表,可以用来 注释许多类型的数据。可以为批注分配一个namespace 指示注释的来源和目的。

用户通过Insight客户端或Webclient创建的地图注释都具有 命名空间openmicroscopy.org/omero/client/mapAnnotation,而其他 其他工具通过omero api创建的映射注释应该有自己不同的 命名空间。

我们可以配置omero.mapr来搜索指定namespace的映射注释, 在指定的Keys下查找Values。 例如,在键Gene Symbol或^{tt7}下查找值$ 和命名空间openmicroscopy.org/mapr/gene

https://user-images.githubusercontent.com/900055/36256919-d8a19fb6-124c-11e8-8628-d792ff29bd22.png

要求

  • Omero 5.3或更新版本。

从pypi安装

本节假设已经安装了omero.web。 注意:设置的配置(见下文)不是可选的 是应用程序工作所必需的。

使用pip

安装应用程序
$ pip install omero-mapr

将应用程序添加到已安装的应用程序列表:

$ bin/omero config append omero.web.apps '"omero_mapr"'

配置设置

您需要配置希望用户能够搜索的命名空间和密钥。

用户编辑的地图注释

使用“关键字值”面板中的WebClient或Insight添加的映射批注 使用特定的“客户端”命名空间。因此,我们可以将omero.mapr配置为搜索 对于这些使用命名空间openmicroscopy.org/omero/client/mapAnnotation的注释。 例如,要搜索“主要抗体”或“次要抗体”值,可以添加:

$ bin/omero config append omero.web.mapr.config '{"menu": "antibody", "config":{"default":["Primary Antibody"], "all":["Primary Antibody", "Secondary Antibody"], "ns":["openmicroscopy.org/omero/client/mapAnnotation"], "label":"Antibody"}}'

我们可以在webclient页面的顶部添加一个“抗体”链接,将我们带到抗体搜索页面。 链接工具提示是“查找抗体值”。 viewname的格式应为maprindex_{menu},其中{menu}是上一个配置中的menu值。

$ bin/omero config append omero.web.ui.top_links '["Antibodies", {"viewname": "maprindex_antibody"}, {"title": "Find Antibody values"}]'

重新启动Web后,我们现在可以搜索抗体:

https://user-images.githubusercontent.com/900055/40605069-063ff29a-6259-11e8-9295-3887dde0441f.png

我们还可以指定一个空键列表来搜索any值。

$ bin/omero config append omero.web.mapr.config '{"menu": "anyvalue", "config":{"default":["Any Value"], "all":[], "ns":["openmicroscopy.org/omero/client/mapAnnotation"], "label":"Any"}}'

# Top link
$ bin/omero config append omero.web.ui.top_links '["Any Value", {"viewname": "maprindex_anyvalue"}, {"title": "Find Any Value"}]'

重新启动Web后,我们现在可以搜索任何值,如“incenp”:

https://user-images.githubusercontent.com/900055/40605101-1cd1925c-6259-11e8-93a8-e72af2e570d3.png

其他地图注释

在本例中,我们要搜索 用于命名空间openmicroscopy.org/mapr/gene的映射批注搜索 在Gene SymbolGene Identifier键下的属性。

$ bin/omero config append omero.web.mapr.config '{"menu": "gene","config": {"default": ["Gene Symbol"],"all": ["Gene Symbol", "Gene Identifier"],"ns": ["openmicroscopy.org/mapr/gene"],"label": "Gene"}}'

现在添加一个顶部链接Genes和工具提示Find Gene annotations,它将带我们进入gene搜索页面。query_string参数被添加到url中,使用"experimenter": -1 指定我们要搜索所有用户。

$ bin/omero config append omero.web.ui.top_links '["Genes", {"viewname": "maprindex_gene", "query_string": {"experimenter": -1}}, {"title": "Find Gene annotations"}]'

最后,我们可以将地图批注添加到屏幕中的图像->;板->;嗯 或项目->;数据集->;图像层次结构。 此代码使用omeroPython API来 添加与上述配置对应的地图注释:

key_value_data = [["Gene Identifier","ENSG00000117399"],
                  ["Gene Identifier URL", "http://www.ensembl.org/id/ENSG00000117399"],
                  ["Gene Symbol","CDC20"]]
map_ann = omero.gateway.MapAnnotationWrapper(conn)
map_ann.setValue(key_value_data)
map_ann.setNs("openmicroscopy.org/mapr/gene")
map_ann.save()
image = conn.getObject('Image', 2917)
image.linkAnnotation(map_ann)

现在像往常一样重新启动omero.web以使上述配置生效。 现在您应该可以浏览到Genes页面并搜索 CDC20ENSG00000117399

测试

测试mapr需要运行omero.server。 运行测试(包括独立的omero.server,需要docker):

docker-compose -f docker/docker-compose.yml up --build --abort-on-container-exit
docker-compose -f docker/docker-compose.yml rm -fv

许可证

MAPR在AGPL下发布。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java关闭应用程序按钮Listener   Java中的多线程同步在Java示例中的思考   java如何查看Tomcat正在使用/访问的JAR?   java My代码在调用垃圾收集器后不会终止   多线程Java连接线程池和connectionfactory?   java在运行时修改JAR文件   java Android:使用光标时引发IllegaleException   在Netbeans中测试不可执行库的java?   泛型在参数上强制子类Java类型   spring Java:继承与依赖注入“自动连线”   javascript如何解析这个xml元素   java打印特定序列中的数组   带有ProcessingTimeSessionWindow的java Apache Flink自定义触发器   java如何配置消息驱动的Bean应用程序和Glassfish来使用来自远程MessageBroker的消息?