Code Monkey home page Code Monkey logo

swo's Introduction


The Software Ontology

The Software Ontology

The Software Ontology (SWO) is an OBO Foundry ontology describing software tools, their types, tasks, versions, licensing, provenance and associated data. The latest release is 1.7.

Its OBO Foundry entry can be found at http://obofoundry.org/ontology/swo

You can cite SWO with the following publication:

Malone, J., Brown, A., Lister, A.L. et al. The Software Ontology (SWO): a resource for reproducibility in biomedical data analysis, curation and digital preservation. J Biomed Semant 5, 25 (2014). https://doi.org/10.1186/2041-1480-5-25

You can also view SWO in the EBI's Ontology Lookup Service (OLS) at https://www.ebi.ac.uk/ols/ontologies/swo.

Licenses in SWO

As part of SWO, we have developed a hierarchy of license types which can organize licenses based on their clauses. For more information on this work, please see the LicenceHierarchy page.

Releases and Versions

Stable release versions

The latest version of the ontology can always be found at:

http://purl.obolibrary.org/obo/swo.owl

(note this will not show up until the request has been approved by obofoundry.org)

Editors' version

Editors of this ontology should use the edit version, src/ontology/swo-edit.owl

Release Policy

  1. Releases occur on an ad hoc basis, as required by our users. All releases of the Software Ontology can always be found at https://github.com/allysonlister/swo/releases.
  2. Assigned identifiers will remain on a class and will not be deleted from the OWL files. Classes that are no longer required will be subclassed under http://www.geneontology.org/formats/oboInOwl#ObsoleteClass and stripped of axioms but the URI and original annotation will remain.
  3. Classes that change their intended meaning significantly (i.e. they denote a new entity) will be assigned a new URI and the old URI will be made obsolete as per the above.
  4. A release notes file will be attached to each release and will outline major changes to the ontology.

Tools Used

This ontology repository was created using the Ontology Development Kit (ODK). Nicolas Matentzoglu, Damien Goutte-Gattat, Shawn Zheng Kai Tan, James P Balhoff, Seth Carbon, Anita R Caron, William D Duncan, Joe E Flack, Melissa Haendel, Nomi L Harris, William R Hogan, Charles Tapley Hoyt, Rebecca C Jackson, HyeongSik Kim, Huseyin Kir, Martin Larralde, Julie A McMurry, James A Overton, Bjoern Peters, Clare Pilgrim, Ray Stefancsik, Sofia MC Robb, Sabrina Toro, Nicole A Vasilevsky, Ramona Walls, Christopher J Mungall, David Osumi-Sutherland, Ontology Development Kit: a toolkit for building, maintaining and standardizing biomedical ontologies, Database, Volume 2022, 2022, baac087, https://doi.org/10.1093/database/baac087

Licensing

The SWO is licensed under the CC BY 4.0 license. Exact text is available at LICENSE.

For license information for the external ontologies used to create SWO, please see our Licensing Compliance page.

Contact

Please use this GitHub repository's Issue tracker to request new terms/classes or report errors or specific concerns related to the ontology.

Of Historical Interest

Directory/File restructuring for the ODK

In October 2022, SWO converted from a project-specific Makefile to the Ontology Development Kit. This resulted in a complete restructuring of the directories and files within the repository. For now, these are contained within the historical_files directory.

Please note that this also resulted in a change to how the release numbering happens; SWO now builds releases that contain the date within the ontology version IRI, rather than a release number. This is consistent with OBO Foundry best practices.

Restructuring for Release 1.7

Due to improvements in automatically building an ontology via Ontofox and ROBOT, we no longer needed to import all of EDAM. Release 1.7 was the first to employ these semi-automated updates. This allows SWO to be easily aligned with any new releases of its imported ontologies and creates a much simpler build procedure.

Previously, SWO was built with a series of modular OWL files labelled swo_*.owl. While this made things easier in previous years, the number of development files was getting unwieldy. Currently, the only file imported by the development version of SWO is the automatically-generated one produced by Ontofox, which pulls in all of the latest annotation and hierarchies for the imported classes.

Finally, the IRIs across all SWO classes were reconciled according to the official SWO IRI naming scheme. As such, many IRIs were deprecated and new IRIs issued. Full details are available at the IRI Refactoring Issue in the issue tracker.

Tools Used for 1.7 and earlier

Ontofox has been used to build swo-external containing all of the imported classes and associated axioms. Protege (including versions 4.3.0 and 5.2.0) has been used to create the core OWL file and to view and check all development ontology files. ROBOT has been used to merge and build the release files as well as perform a number of housekeeping tasks.

Acknowledgements

This ontology repository was created using the Ontology Development Kit (ODK).

swo's People

Contributors

allysonlister avatar cosmicnet avatar cthoyt avatar daniel-mietchen avatar dullhunk avatar jamesmalone avatar joncison avatar mbrush avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

swo's Issues

Please add new term: mzCloud

mzCloud

https://www.mzcloud.org/

mzCloud is a state of the art online mass spectral database that assists analysts in identifying compounds in areas such as life sciences, metabolomics, pharmaceutical research, toxicology, forensic investigations, environmental analysis, food control and various industrial applications.

Online access to the database is free of charge and no registration is required.

Please add new term: SWATH Software

SWATH Software

https://sciex.com/technology/swath-acquisition

SWATH is the only data independent acquisition (DIA) technique that allows comprehensive detection and quantitation of virtually every detectable compound in a sample (MS/MSALL). This provides confidence in your quantitative results and virtually eliminates the risk of missing a critical component. SWATH Acquisition strategy can only be achieved through the power and speed of SCIEX TripleTOF® and QTOF technology.

Proprietary commercial software licence

OLS vs ontobee

ols-vs-ontobee
Possibly a stupid question, but why can't I see the SWO updates on the OLS site? A lot of my tooling relies on the OLS platform rather than the ontobee platform (JSON calls, that sort of thing). Not really an issue, just curious about the difference. Many thanks!

Please add new term to SWO: Seurat

Seurat

https://satijalab.org/seurat/

Seurat is an R package designed for QC, analysis, and exploration of single-cell RNA-seq data. Seurat aims to enable users to identify and interpret sources of heterogeneity from single-cell transcriptomic measurements, and to integrate diverse types of single-cell data.

GNU Public License (GPL 3.0)

Protege cannot parse file: org.semanticweb.owlapi.rdf.rdfxml.parser.RDFParserException: [line=8:column=17] Expecting rdf:RDF element.

Using Protege version 5.5.0, I can successfully open the file swo_merged.owl from the latest release (SWO Release 1.6).

However, the following error is thrown by Protege when trying to open either:

image

Error: org.semanticweb.owlapi.rdf.rdfxml.parser.RDFParserException: [line=8:column=17] Expecting rdf:RDF element.

Stack Trace:

org.semanticweb.owlapi.rdf.rdfxml.parser.RDFParserException: [line=8:column=17] Expecting rdf:RDF element.


Full Stack Trace
-----------------------------------------------------------------------------------------

org.semanticweb.owlapi.rdf.rdfxml.parser.OWLRDFXMLParserException: org.semanticweb.owlapi.rdf.rdfxml.parser.RDFParserException: [line=8:column=17] Expecting rdf:RDF element.
	at org.semanticweb.owlapi.rdf.rdfxml.parser.RDFXMLParser.parse(RDFXMLParser.java:76)
	at uk.ac.manchester.cs.owl.owlapi.OWLOntologyFactoryImpl.loadOWLOntology(OWLOntologyFactoryImpl.java:221)
	at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.actualParse(OWLOntologyManagerImpl.java:1262)
	at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntology(OWLOntologyManagerImpl.java:1215)
	at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntologyFromOntologyDocument(OWLOntologyManagerImpl.java:1172)
	at org.protege.editor.owl.model.io.OntologyLoader.loadOntologyInternal(OntologyLoader.java:104)
	at org.protege.editor.owl.model.io.OntologyLoader.lambda$loadOntologyInOtherThread$0(OntologyLoader.java:62)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Caused by: org.semanticweb.owlapi.rdf.rdfxml.parser.RDFParserException: [line=8:column=17] Expecting rdf:RDF element.
	at org.semanticweb.owlapi.rdf.rdfxml.parser.RDFParser.verify(RDFParser.java:451)
	at org.semanticweb.owlapi.rdf.rdfxml.parser.StartRDF.startElement(StartRDF.java:187)
	at org.semanticweb.owlapi.rdf.rdfxml.parser.RDFParser.startElement(RDFParser.java:201)
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:509)
	at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.startElement(XMLDTDValidator.java:745)
	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:374)
	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(XMLNSDocumentScannerImpl.java:613)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3132)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:852)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602)
	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:841)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:770)
	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643)
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:327)
	at org.semanticweb.owlapi.rdf.rdfxml.parser.RDFParser.parse(RDFParser.java:145)
	at org.semanticweb.owlapi.rdf.rdfxml.parser.RDFXMLParser.parse(RDFXMLParser.java:73)
	... 10 more

New term: ShinyNGS

Please could @drmarkreuter provide:

  1. homepage
  2. definition (i.e. purpose)
  3. licence info

Apologies for a lack of official term suggestion guidelines - we're volunteer run, and have to budget our time!

Split from #10.

Feel free to add any others to the issue tracker. Thanks!

Please add new term: RNA-SeQC

RNA-SeQC

https://github.com/broadinstitute/rnaseqc

RNA-SeQC is a java program which computes a series of quality control metrics for RNA-seq data. The input can be one or more BAM files. The output consists of HTML reports and tab delimited files of metrics data. This program can be valuable for comparing sequencing quality across different samples or experiments to evaluate different experimental parameters. It can also be run on individual samples as a means of quality control before continuing with downstream analysis.

BSD 3-clause license

OntoDM

Check that OntoDM terms are up to date, as they are not available in Ontobee.

Please add new term: RSeQC

RSeQC

http://rseqc.sourceforge.net/

RSeQC package provides a number of useful modules that can comprehensively evaluate high throughput sequence data especially RNA-seq data. Some basic modules quickly inspect sequence quality, nucleotide composition bias, PCR bias and GC bias, while RNA-seq specific modules evaluate sequencing saturation, mapped reads distribution, coverage uniformity, strand specificity, transcript level RNA integrity etc.

GNU General Public License (GPLv3)

Please add new term: AnalyzerPro

AnalyzerPro

https://www.spectralworks.com/products/analyzerpro/

AnalyzerPro​ is a productivity software application for both low and high resolution LC-MS and GC-MS data with support for multiple vendors’ data. This comprehensive post-processing utility provides optimized workflows for sample-to-sample comparison, target component analysis, quantitation and library searching for data generated from any LC-MS and GC-MS platform

Proprietary commercial software licence

Please add new term: Salmon

Salmon

https://combine-lab.github.io/salmon/

Salmon is a tool for quantifying the expression of transcripts using RNA-seq data. Salmon uses new algorithms (specifically, coupling the concept of quasi-mapping with a two-phase inference procedure) to provide accurate expression estimates very quickly (i.e. wicked-fast) and while using little memory. Salmon performs its inference using an expressive and realistic model of RNA-seq data that takes into account experimental attributes and biases commonly observed in real RNA-seq data.

GNU GENERAL PUBLIC LICENSE Version 3

Possible merging of various swo_* development files

I am toying with the idea (and this will be reflected in some commits) of merging the following files back into a single file for ease of curation. We don't really need the division of labor available to us with all of these files, and it would be simpler. The only issue is the auto-generation of IDs. Would it cause any problems in this respect, or might it be OK to have simpler IDs generated from this release onwards as well?

swo_algorithms.owl  
swo_data.owl       
swo_licenses.owl  
swo_objectives.owl     
swo_versions.owl
swo_core.owl        
swo_interface.owl  
swo_maturity.owl  
swo_organizations.owl

Software class redundant with IAO?

note, this issue is also been posted to IAO Discussion Group at:
https://groups.google.com/forum/#!topic/information-ontology/S07ghF9lGY0

We've been using SWO with great success now for a month. I have one major issue / question:

SWO defines the class "software" (http://www.ebi.ac.uk/swo/SWO_0000001) as a subclass of IAO:information content entity (http://purl.obolibrary.org/obo/IAO_0000030)
URI = http://www.ebi.ac.uk/swo/SWO_0000001
def = Computer software, or generally just software, is any set of machine-readable instructions (most often in the form of a computer program) that conform to a given syntax (sometimes referred to as a language) that is interpretable by a given processor and that directs a computer's processor to perform specific operations.

This class seems redundant with IAO:Software (http://purl.obolibrary.org/obo/IAO_0000010)
class hierarchy = information content entity / directive information entity / plan specification / Software
URI = http://purl.obolibrary.org/obo/IAO_0000010
def = Software is a plan specification composed of a series of instructions that can be interpreted by or directly executed by a processing unit.

Should SWO:Software be deleted and it's subclasses moved under IAO:Software to maximize ontology reuse, maintain clean separation between upper / middle / domain ontologies, and to minimize confusion and redundancy?

import issue with swo-external.owl

Hi,
I have swo as an import. I am using OBO Robot to merge the imports into one ontology file (import closure). However, I am getting an error relating to unable to import http://www.ebi.ac.uk/swo/swo-external.owl. ROBOT gives this as hint for the issue:

Cause: https://www.ebi.ac.uk/ols/ontologies/swo/terms?iri=http://www.ebi.ac.uk/swo/swo-external.owl

NTR: implemented in programming language

It would be nice to have a property that is appropriate for connecting a software like HTSeq (SWO:1100140) to the programming language in which it's implemented like Python (SWO:0000118). This would be useful for the Data Science Ontology for better aligning with OBO as well. CC @epatters

I would label this relation implemented in programming language and it would have the following properties:

  1. Range: software (SWO:0000001)
  2. Domain: programming language (IAO:0000025)

Please add new term: FastQC

FastQC

https://github.com/s-andrews/FastQC

FastQC aims to provide a simple way to do some quality control checks on raw sequence data coming from high throughput sequencing pipelines. It provides a modular set of analyses which you can use to give a quick impression of whether your data has any problems of which you should be aware before doing any further analysis.

GNU GENERAL PUBLIC LICENSE Version 2

Duplicate definitions

The following issues need resolving:

Level Type IRI Property Message
ERROR duplicate_definition http://www.ebi.ac.uk/swo/SWO_0000073 IAO:0000115 Data analysis software which performs a variety of statistical, summarising, analytical and visualization tasks.
ERROR duplicate_definition http://www.ebi.ac.uk/swo/SWO_0000075 IAO:0000115 Data analysis software which performs a variety of statistical, summarising, analytical and visualization tasks.
ERROR duplicate_definition http://www.ebi.ac.uk/swo/SWO_0000285 IAO:0000115 Creates classes used in model-view-controller (MVC) design
ERROR duplicate_definition http://www.ebi.ac.uk/swo/SWO_1100044 IAO:0000115 Creates classes used in model-view-controller (MVC) design
ERROR duplicate_definition http://www.ebi.ac.uk/swo/SWO_0000546 IAO:0000115 Background adjustment using sequence information
ERROR duplicate_definition http://www.ebi.ac.uk/swo/SWO_0000547 IAO:0000115 Background adjustment using sequence information
ERROR duplicate_definition http://www.ebi.ac.uk/swo/SWO_0000494 IAO:0000115 Analysis of cell-based RNA interference screens
ERROR duplicate_definition http://www.ebi.ac.uk/swo/SWO_0000495 IAO:0000115 Analysis of cell-based RNA interference screens

Update BFO within SWO

There is currently a bug in SWO which incorrectly associates BFO 'process' (BFO_0000015) with the wrong URI (BFO_0000007). A new version of BFO should sort this.

Typo in definition for "Development status" (SWO_9000061)

The human readable definition (obo:IAO_0000115) for SWO_9000061 currently reads:
Development status is an information content entity which indicates the maturity of a sofrware entity within the context of the software life cycle.

The word "sofrware" is a typo and should be corrected to "software"

Please add new term: PEAKS DB

PEAKS DB

http://www.bioinfor.com/peaksdb/

Protein Identification Software including an LC-MS/MS search engine, modification search and PTM profiling, sequence variant search, integration with de novo sequencing, and support for all types of fragment ions.

Proprietary commercial software licence

New term: BCBio

Please could @drmarkreuter provide:

  1. homepage
  2. definition (i.e. purpose)
  3. licence info

Apologies for a lack of official term suggestion guidelines - we're volunteer run, and have to budget our time!

Split from #10.

SPDX

https://spdx.org/

Software Package Data Exchange® (SPDX®) is an open standard for communicating software bill of material information (including components, licenses, copyrights, and security references).

SPDX reduces redundant work by providing a common format for companies and communities to share important data about software licenses, copyrights, and security references, thereby streamlining and improving compliance.

The SPDX specification is developed by the SPDX workgroup, which is hosted by The Linux Foundation. The grass-roots effort includes representatives from more than 20 organizations—software, systems and tool vendors, foundations and systems integrators—all committed to creating a standard for software package data exchange formats.

This may be of interest in future versions of SWO. Should read a bit more and see how it could relate / be used.

3 types of software under SWO are also "data items" - this is a problem

We are developing a registry of (among other things) Earth science software and would like to be compatible with the OBO Foundry. As such, we would like to re-use as many terms as possible. We would use the SWO term for software but need it to be compatible with the sdgio ontologies resource - since softwware is a resource that can provide benefit to users. However, 3 of the many types of software under the software item include an axiom about being a "data item". This causes a logic error. The software packages are:

SAFE
Ringo
Rama

Would it be possible to remove these axioms? Also, I note that we would likely be adding a large number of subclasses for other Earth science related software packages. I don't know if you would prefer them directly added to SWO or kept in our own ontology.

Thank you!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.