
Security News
Open Source Maintainers Demand Ability to Block Copilot-Generated Issues and PRs
Open source maintainers are urging GitHub to let them block Copilot from submitting AI-generated issues and pull requests to their repositories.
A simple Ruby gem for parsing OBO 1.2 (?4) formatted ontology files. Useful for reporting, comparing, and mapping data to other databases. There is presently no functionality for logical inference across the ontology.
gem install obo_parser
require 'obo_parser'
o = parse_obo_file(File.read('my_ontology.obo')) # => An OboParser instance
first_term = o.terms.first # => An OboParser#Term instance
first_term.id.value # => 'HAO:1234'
d = first_term.def # => An OboParser#Tag instance
d.tag # => 'def'
d.value # => 'Some defintition'
d.xrefs # => ['xref:123', 'xref:456']
d.comment # => 'Some comment'
t = first_term.name # => An OboParser#Tag instance
t.tag # => 'name'
t.value # => 'Some Term name'
o = first_term.other_tags # => [OboParser#Tag, ... ] An array of tags that are not specially referenced in an OboParser::Stanza
o.first # => An OboParser#Tag instance
first_typedef = o.typdefs.first # => An OboParser#Typdef instance
first_typdef.id.value # => 'Some typedef id'
first_typdef.name.value # => 'Some typedef name'
o.terms.first.tags_named('synonym') # => [OboParser#Tag, ... ]
o.terms.first.tags_named('synonym').first.tag # => 'synonym'
o.terms.first.tags_named('synonym').first.value # => 'Some label'
o.terms.first.relationships # => [['relationship', 'FOO:123'], ['other_relationship', 'FOO:456'] ...] An array of [relation, related term id], includes 'is_a', 'disjoint_from' and Typedefs
o.term_hash # => { term (String) => id (String), ... for each [Term] in the file. } !! Assumes names terms are unique, they might not be, in which case you get key collisions.
o.id_hash # => { id (String) => term (String), ... for each [Term] in the file. }
See also /test/test_obo_parser.rb
A small set of methods (e.g. comparing OBO ontologies) utilizing the gem are included in /lib/utilities.rb. For example: 1) shared labels across sets of ontologies can be found and returned, 2) ontologies can be dumped into a simple Cytoscape node/edge format; 3) given a set of correspondances between two ontologies various reports can be made.
OboParser::Utilities::Viz.mock_coordinate_space(o, size: 100) # => STDOUT tab delimited table with x, y, z, identifier, label
Fork, test, code, test, pull request.
Copyright (c) 2010-2017 Matt Yoder. See LICENSE for details.
MIT
FAQs
Unknown package
We found that obo_parser demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Open source maintainers are urging GitHub to let them block Copilot from submitting AI-generated issues and pull requests to their repositories.
Research
Security News
Malicious Koishi plugin silently exfiltrates messages with hex strings to a hardcoded QQ account, exposing secrets in chatbots across platforms.
Research
Security News
Malicious PyPI checkers validate stolen emails against TikTok and Instagram APIs, enabling targeted account attacks and dark web credential sales.