Voilà/Jupyter客户端,用于搜索OPTIMADE数据库。
项目描述
OPTIMADE客户端(在Voilà中)
查询并导入来自OPTIMADE提供商(COD、MaterialsCloud、NoMaD、Materials Project、ODBX、OQMD等)的结构。
当前支持的OPTIMADE API版本:1.0.0
、1.0.0-rc.2
、1.0.0-rc.1
、0.10.1
运行客户端
此基于Jupyter的应用程序旨在在以下环境中运行
- 在AiiDAlab以及Quantum Mobile虚拟机内部;
- 作为MaterialsCloud工具;
- 作为MyBinder应用程序;或者
- 作为一个独立的本地应用程序(下面将提供更多相关信息)。
对于AiiDAlab,请在Home App中的应用商店中安装它。
使用方法
AiiDAlab
要在自己的AiiDAlab应用程序中使用OPTIMADE结构导入器,请编写以下内容
from aiidalab_widget_base import OptimadeQueryWidget
from aiidalab_widgets_base.viewers import StructureDataViewer
from ipywidgets import dlink
structure_query = OptimadeQueryWidget()
structure_viewer = StructureDataViewer()
# Save to `_` in order to suppress output
_ = dlink((structure_query, 'structure'), (structure_viewer, 'structure'))
display(structure_query)
display(structure_viewer)
这将立即显示一个带有实现OPTIMADE API的当前结构数据库下拉菜单的查询小部件。
然后您可以根据元素、元素数量、化学式等条件过滤以找到一组结构。有关完整过滤选项及其描述,请参阅OPTIMADE API规范。
为了深入了解特定结构的细节,您还可以导入并显示OptimadeResultsWidget
。
请参阅笔记本OPTIMADE-Client.ipynb
,了解如何设置通用OPTIMADE导入器。
嵌入式
查询小部件还可以嵌入到另一个应用程序中。
为此,可以在初始化小部件时传递embedded=True
来使用小部件的更“简约”版本,即structure_query = OptimadeQueryWidget(embedded=True)
。
其他一切工作方式相同,因此您仍然需要将查询小部件链接到您的应用程序的其他部分。
通用Jupyter笔记本
该包的小部件可以在任何通用Jupyter笔记本以及AiiDAlab中使用。示例
from optimade_client import
OptimadeQueryProviderWidget,
OptimadeQueryFilterWidget,
OptimadeSummaryWidget
from ipywidgets import dlink
database_selector = OptimadeQueryProviderWidget()
structure_query = OptimadeQueryFilterWidget()
structure_viewer = OptimadeSummaryWidget()
# Save to `_` in order to suppress output
_ = dlink((database_selector, 'database'), (structure_query, 'database'))
_ = dlink((structure_query, 'structure'), (structure_viewer, 'entity'))
display(database_selector, structure_query, structure_viewer)
这将使用包自带的分子结构查看器和摘要小部件。
注意,上述OptimadeQueryWidget
是AiiDAlab中针对OptimadeQueryProviderWidget
和OptimadeQueryFilterWidget
小部件的特殊包装小部件。
本地运行应用程序
首先,您需要从PyPI安装该包,或从GitHub检索git存储库。
PyPI
pip install optimade-client[server]
GitHub
git clone https://github.com/CasperWA/voila-optimade-client.git
cd voila-optimade-client
pip install .[server]
请注意,安装server
额外组件对于安装voila
包(以及ase
包,用于更广泛的支持下载格式)也很重要。
要运行应用程序(笔记本)OPTIMADE-Client.ipynb
,您可以在终端中运行optimade-client
命令并转到打印的URL(通常是http://localhost:8866)或传递--open-browser
选项,让程序尝试自动打开您的默认浏览器。
应用程序将在Voilà中使用基于Voilà自己的tornado
服务器运行。在启动服务器之前,配置将自动复制到Jupyter的配置目录。
optimade-client
有关可以向optimade-client
传递的所有选项列表,请使用-h/--help
选项。
贡献
如果您希望为应用程序做出贡献,您可以使用-e
标志安装它以“可编辑”模式:pip install -e .[dev]
。建议您使用上述GitHub路线。
您还应在克隆的git存储库中运行以下命令来安装pre-commit
:
pre-commit install
要开始做出贡献,请对存储库进行分支并创建PR。
配置(Voilà)
要在Binder上运行应用程序(在Voilà中)时使用配置,可以使用配置文件jupyter_config.json
。
如果您希望以相同的配置在本地启动Voilà服务器,请将jupyter_config.json
文件复制到您的Jupyter配置目录,并将其重命名为voila.json
或在使用CLI启动服务器时传递配置。
注意:在运行应用程序时使用
optimade-client
命令时,会自动将jupyter_config.json
复制为voila.json
。
定位您的Jupyter配置目录
jupyter --config-dir
/path/to/jupyter/config/dir
使用CLI启动Voilà服务器时传递配置的示例
voila --enable_nbextensions=True --VoilaExecutePreprocessor.timeout=180 "OPTIMADE-Client.ipynb"
要查看配置的全列表,可以调用voila
并传递--help-all
。
使用“开发”提供者运行(针对Materials Cloud特定)
将环境变量 OPTIMADE_CLIENT_DEVELOPMENT_MODE
设置为 1
(表示 True
(1
)或 False
(0
)的整数值),以强制使用提供商的开发服务器(目前仅适用于 Materials Cloud)。
许可证
MIT. 许可协议的条款可以在 LICENSE 文件中找到。
致谢
BIG-MAP;本项目已获得欧盟“地平线2020”研究和创新计划资助,资助协议号 No 957189。该项目是大型欧洲研究倡议BATTERY 2030+的一部分,旨在发明可持续的未来电池。 |
联系方式
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪个,请了解有关安装软件包的更多信息。