使用正交数据确定应使用哪些本体进行字符串映射
项目描述
当将某些数据源中列/字段X的输入字符串映射到OBO foundry本体的术语时,请使用列/字段Y中的值来决定映射到哪个本体。
请注意,GitHub使用连字符,而PyPI使用下划线。
目前已在运行Catalina的32GB MacBook Pro上进行了测试。需要Apache Jena的riot库。 make all 使用homebrew安装Jena,但不安装homebrew。这可能适用于其他“nix”系统,但将需要依赖于系统的Jena安装。
安装
python3.9 -m venv sm_venv source sm_venv/bin/activate pip install -r requirements.txt pip install -i https://test.pypi.org/simple/ scoped-mapping
示例代码
查看Jupyter笔记本
基于NCBItaxon子集的映射范围
首先下载 semantic-sql 和其依赖项。使用NCBItaxon内容构建SQLite数据库。构建需要大量的磁盘空间、RAM和耐心。在查询时间方面值得。
make all
如果一个数据集包含物种值,可以使用它们来子集或限定数据集中其他值的映射方式。例如,NCBI生物样本元数据集合有MIxS三元组(宽、窄和中等),在许多情况下可以映射到ENVO术语。但ENVO可能不适用于培养样本或从多细胞生物中采集的样本。检查这些情况的一种方法是在NCBItaxon中寻找传递子类。有无数种方法可以做到这一点,但它们通常都是计算密集型的。
在这里,我们使用rdftab和relation-graph(通过semantic-sql)推断这些传递的subClassOf关系并将它们加载到SQLite数据库中。构建此数据库需要大量的RAM和大约10GB的磁盘空间,但之后查询既快又方便。
构建
一次
pip install build twine
每次
git add ... git commit -m ... git push git tag ... pip install --use-feature=in-tree-build .
准备部署吗?
python -m build --sdist --wheel . ls -l dist/
从 dist/ 中移除除最新版本外的所有构建工件
twine upload --repository pypitest dist/*