Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use fastobo to load ontologies from OBO files #360

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Use fastobo to load ontologies from OBO files #360

wants to merge 2 commits into from

Conversation

althonos
Copy link

@althonos althonos commented Aug 8, 2019

Hi !

This PR (finally) adds a native OBO parser using the fastobo package. This is very much WIP since there are no actual semantics for OBO to OBO Graphs translation, and the translation is in early development.

I added it in a way fastobo becomes a mandatory dependency, which is not optimal on platforms other than Linux and OSX x86-64 since it requires a Rust toolchain to be available on the target machine; I could make it optional as well if you think this is better.

@cmungall
Copy link
Contributor

How would the optional option work? Import as-needed if it encounters a .obo file?

I think I'm tending towards keeping it simple, not sure how many Windows users we have, if any

@dougli1sqrd
Copy link
Contributor

So this requires rust on the machine that is running fastobo? Does pip install this locally in a virtual environment? Like, will someone have to separately install rust before running this?

@althonos
Copy link
Author

althonos commented Aug 28, 2019

So this requires rust on the machine that is running fastobo?

Not at runtime, you don't need Rust once the fastobo package is installed.

Does pip install this locally in a virtual environment?

This is like any Python library, you can use fancy stuff like venv or just do a site install with pip.

Like, will someone have to separately install rust before running this?

If they are running an x86_64 Linux or OSX, no, because I provide pre-built versions. If they are not, they need a Rust toolchain at compile-time, but once the module is compiled the toolchain can be uninstalled.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants