<?xml version="1.0"?>


<!DOCTYPE rdf:RDF [
    <!ENTITY owl "http://www.w3.org/2002/07/owl#" >
    <!ENTITY data "http://sswapmeet.sswap.info/data/" >
    <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
    <!ENTITY seq "http://sswapmeet.sswap.info/sequence/" >
    <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
    <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
]>


<rdf:RDF xmlns="&seq;sequence.owl#"
     xml:base="&seq;sequence.owl"
     xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
     xmlns:owl="http://www.w3.org/2002/07/owl#"
     xmlns:data="http://sswapmeet.sswap.info/data/"
     xmlns:seq="http://sswapmeet.sswap.info/sequence/"
     xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <owl:Ontology rdf:about="&seq;sequence.owl">
        <owl:imports rdf:resource="&data;data.owl"/>
    </owl:Ontology>
    


    <!-- 
    ///////////////////////////////////////////////////////////////////////////////////////
    //
    // Annotation properties
    //
    ///////////////////////////////////////////////////////////////////////////////////////
     -->

    <owl:AnnotationProperty rdf:about="&rdfs;label"/>
    <owl:AnnotationProperty rdf:about="&rdfs;comment"/>
    


    <!-- 
    ///////////////////////////////////////////////////////////////////////////////////////
    //
    // Object Properties
    //
    ///////////////////////////////////////////////////////////////////////////////////////
     -->

    


    <!-- http://sswapmeet.sswap.info/data/hasData -->

    <owl:ObjectProperty rdf:about="&data;hasData"/>
    


    <!-- http://sswapmeet.sswap.info/sequence/hasSequence -->

    <owl:ObjectProperty rdf:about="&seq;hasSequence">
        <rdfs:label rdf:datatype="&xsd;string">has Sequence</rdfs:label>
        <rdfs:comment rdf:datatype="&xsd;string">A predicate allowing any &quot;thing&quot; to assert a relationship to a Sequence object.</rdfs:comment>
        <rdfs:subPropertyOf rdf:resource="&data;hasData"/>
        <rdfs:range rdf:resource="&seq;Sequence"/>
        <rdfs:subPropertyOf rdf:resource="&seq;objectProperties"/>
    </owl:ObjectProperty>
    


    <!-- http://sswapmeet.sswap.info/sequence/objectProperties -->

    <owl:ObjectProperty rdf:about="&seq;objectProperties">
        <rdfs:label rdf:datatype="&xsd;string">object Properties</rdfs:label>
        <rdfs:comment rdf:datatype="&xsd;string">Super property for all Sequences object properties.</rdfs:comment>
    </owl:ObjectProperty>
    


    <!-- 
    ///////////////////////////////////////////////////////////////////////////////////////
    //
    // Data properties
    //
    ///////////////////////////////////////////////////////////////////////////////////////
     -->

    


    <!-- http://sswapmeet.sswap.info/data/theData -->

    <owl:DatatypeProperty rdf:about="&data;theData"/>
    


    <!-- http://sswapmeet.sswap.info/sequence/accessionID -->

    <owl:DatatypeProperty rdf:about="&seq;accessionID">
        <rdfs:label rdf:datatype="&xsd;string">accession ID</rdfs:label>
        <rdfs:comment rdf:datatype="&xsd;string">Generic accession id.</rdfs:comment>
        <rdfs:subPropertyOf rdf:resource="&seq;datatypeProperties"/>
    </owl:DatatypeProperty>
    


    <!-- http://sswapmeet.sswap.info/sequence/datatypeProperties -->

    <owl:DatatypeProperty rdf:about="&seq;datatypeProperties">
        <rdfs:comment rdf:datatype="&xsd;string">Super property for all Sequences datatype properties.</rdfs:comment>
        <rdfs:comment rdf:datatype="&xsd;string">datatype Properties</rdfs:comment>
    </owl:DatatypeProperty>
    


    <!-- http://sswapmeet.sswap.info/sequence/fastaHeader -->

    <owl:DatatypeProperty rdf:about="&seq;fastaHeader">
        <rdfs:label rdf:datatype="&xsd;string">FASTA Header</rdfs:label>
        <rdfs:comment rdf:datatype="&xsd;string">FASTA header line.</rdfs:comment>
        <rdfs:domain rdf:resource="&seq;FASTA"/>
        <rdfs:subPropertyOf rdf:resource="&seq;datatypeProperties"/>
        <rdfs:range rdf:resource="&xsd;string"/>
    </owl:DatatypeProperty>
    


    <!-- http://sswapmeet.sswap.info/sequence/genbankAccessionNumber -->

    <owl:DatatypeProperty rdf:about="&seq;genbankAccessionNumber">
        <rdfs:label rdf:datatype="&xsd;string">Genbank accession number</rdfs:label>
        <rdfs:comment rdf:datatype="&xsd;string">GenBank accession number.  See http://www.ncbi.nlm.nih.gov/Sitemap/samplerecord.html#AccessionB.</rdfs:comment>
        <rdfs:subPropertyOf rdf:resource="&seq;accessionID"/>
        <rdfs:range rdf:resource="&xsd;string"/>
    </owl:DatatypeProperty>
    


    <!-- http://sswapmeet.sswap.info/sequence/genbankGI -->

    <owl:DatatypeProperty rdf:about="&seq;genbankGI">
        <rdfs:label rdf:datatype="&xsd;string">Genbank ID (GI number)</rdfs:label>
        <rdfs:comment rdf:datatype="&xsd;string">GenBank &#39;GI&#39; [Gen Info] number.  See http://www.ncbi.nlm.nih.gov/Sitemap/samplerecord.html#GInB.</rdfs:comment>
        <rdfs:subPropertyOf rdf:resource="&seq;accessionID"/>
        <rdfs:range rdf:resource="&xsd;string"/>
    </owl:DatatypeProperty>
    


    <!-- http://sswapmeet.sswap.info/sequence/name -->

    <owl:DatatypeProperty rdf:about="&seq;name">
        <rdfs:label rdf:datatype="&xsd;string">name</rdfs:label>
        <rdfs:comment rdf:datatype="&xsd;string">Al name(s) for the sequence.</rdfs:comment>
        <rdfs:domain rdf:resource="&seq;Sequence"/>
        <rdfs:subPropertyOf rdf:resource="&seq;datatypeProperties"/>
        <rdfs:range rdf:resource="&xsd;string"/>
    </owl:DatatypeProperty>
    


    <!-- http://sswapmeet.sswap.info/sequence/recordURL -->

    <owl:DatatypeProperty rdf:about="&seq;recordURL">
        <rdf:type rdf:resource="&owl;FunctionalProperty"/>
        <rdfs:label rdf:datatype="&xsd;string">record URL</rdfs:label>
        <rdfs:comment rdf:datatype="&xsd;string">A link to a URL (record) associated with or for the sequence.</rdfs:comment>
        <rdfs:domain rdf:resource="&seq;Sequence"/>
        <rdfs:subPropertyOf rdf:resource="&seq;datatypeProperties"/>
        <rdfs:range rdf:resource="&xsd;anyURI"/>
    </owl:DatatypeProperty>
    


    <!-- http://sswapmeet.sswap.info/sequence/theSequence -->

    <owl:DatatypeProperty rdf:about="&seq;theSequence">
        <rdf:type rdf:resource="&owl;FunctionalProperty"/>
        <rdfs:label rdf:datatype="&xsd;string">the sequence</rdfs:label>
        <rdfs:comment rdf:datatype="&xsd;string">The actual sequence serialized as a string.</rdfs:comment>
        <rdfs:subPropertyOf rdf:resource="&data;theData"/>
        <rdfs:domain rdf:resource="&seq;Sequence"/>
        <rdfs:subPropertyOf rdf:resource="&seq;datatypeProperties"/>
        <rdfs:range rdf:resource="&xsd;string"/>
    </owl:DatatypeProperty>
    


    <!-- 
    ///////////////////////////////////////////////////////////////////////////////////////
    //
    // Classes
    //
    ///////////////////////////////////////////////////////////////////////////////////////
     -->

    


    <!-- http://sswapmeet.sswap.info/data/DataFormat -->

    <owl:Class rdf:about="&data;DataFormat"/>
    


    <!-- http://sswapmeet.sswap.info/sequence/BAI -->

    <owl:Class rdf:about="&seq;BAI">
        <rdfs:label rdf:datatype="&xsd;string">BAI</rdfs:label>
        <rdfs:subClassOf rdf:resource="&seq;SAMFormats"/>
        <rdfs:comment rdf:datatype="&xsd;string">Marker class for BAI (Binary Sequence Alignment and Modeling Index) format.</rdfs:comment>
    </owl:Class>
    


    <!-- http://sswapmeet.sswap.info/sequence/BAM -->

    <owl:Class rdf:about="&seq;BAM">
        <rdfs:label rdf:datatype="&xsd;string">BAM</rdfs:label>
        <rdfs:subClassOf rdf:resource="&seq;SAMFormats"/>
        <rdfs:comment rdf:datatype="&xsd;string">Marker class for BAM (Binary Sequence Alignment and Modeling) format.</rdfs:comment>
    </owl:Class>
    


    <!-- http://sswapmeet.sswap.info/sequence/FASTA -->

    <owl:Class rdf:about="&seq;FASTA">
        <rdfs:label rdf:datatype="&xsd;string">FASTA</rdfs:label>
        <rdfs:subClassOf rdf:resource="&seq;FASTAFormats"/>
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty rdf:resource="&seq;fastaHeader"/>
                <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">0</owl:minCardinality>
            </owl:Restriction>
        </rdfs:subClassOf>
        <rdfs:comment rdf:datatype="&xsd;string">Marker class for FASTA format (ref: http://en.wikipedia.org/wiki/FASTA_format).</rdfs:comment>
    </owl:Class>
    


    <!-- http://sswapmeet.sswap.info/sequence/FASTAFormats -->

    <owl:Class rdf:about="&seq;FASTAFormats">
        <rdfs:label rdf:datatype="&xsd;string">FASTA(Q) Formats</rdfs:label>
        <rdfs:subClassOf rdf:resource="&seq;Formats"/>
        <rdfs:comment rdf:datatype="&xsd;string">Superclass for FASTA (fastq) formats</rdfs:comment>
    </owl:Class>
    


    <!-- http://sswapmeet.sswap.info/sequence/FASTQ -->

    <owl:Class rdf:about="&seq;FASTQ">
        <rdfs:label rdf:datatype="&xsd;string">FASTQ</rdfs:label>
        <rdfs:subClassOf rdf:resource="&seq;FASTAFormats"/>
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty rdf:resource="&seq;fastaHeader"/>
                <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">0</owl:minCardinality>
            </owl:Restriction>
        </rdfs:subClassOf>
        <rdfs:comment rdf:datatype="&xsd;string">Marker class for FASTQ format (ref: http://en.wikipedia.org/wiki/Fastq).</rdfs:comment>
    </owl:Class>
    


    <!-- http://sswapmeet.sswap.info/sequence/Formats -->

    <owl:Class rdf:about="&seq;Formats">
        <rdfs:label rdf:datatype="&xsd;string">Formats</rdfs:label>
        <rdfs:subClassOf rdf:resource="&data;DataFormat"/>
        <rdfs:subClassOf rdf:resource="&seq;Sequences"/>
        <rdfs:comment rdf:datatype="&xsd;string">Root format class. It is used to tag sequence objects as belonging to a specified format, as well as presenting a method for linking parsers and validators to the object. For example, a sequence object could belong to both classes seq:Sequence and seq:FASTA.

Because this class is a subClass of data:DataFormats, could have the predicates data:hasParser, data:hasSerializer, and others, each pointing to a parser or serializer for the FASTA sequence.

The actual sequence data would be either at the resource (URL) of the object, or embedded as a string literal of the predicate sequenceStr.</rdfs:comment>
    </owl:Class>
    


    <!-- http://sswapmeet.sswap.info/sequence/GenbankASN.1 -->

    <owl:Class rdf:about="&seq;GenbankASN.1">
        <rdfs:label rdf:datatype="&xsd;string">Genbank ASN.1</rdfs:label>
        <rdfs:subClassOf rdf:resource="&seq;GenbankFormats"/>
        <rdfs:comment rdf:datatype="&xsd;string">Marker class for GenBank ASN.1 format.

Ref: http://www.ncbi.nlm.nih.gov/Sitemap/Summary/asn1.html.</rdfs:comment>
    </owl:Class>
    


    <!-- http://sswapmeet.sswap.info/sequence/GenbankFlatFile -->

    <owl:Class rdf:about="&seq;GenbankFlatFile">
        <rdfs:label rdf:datatype="&xsd;string">Genbank flat file</rdfs:label>
        <rdfs:subClassOf rdf:resource="&seq;GenbankFormats"/>
        <rdfs:comment rdf:datatype="&xsd;string">Marker class for GenBank Flat File format.

Ref: http://www.ncbi.nlm.nih.gov/Sitemap/samplerecord.html.</rdfs:comment>
    </owl:Class>
    


    <!-- http://sswapmeet.sswap.info/sequence/GenbankFormats -->

    <owl:Class rdf:about="&seq;GenbankFormats">
        <rdfs:label rdf:datatype="&xsd;string">Genbank Formats</rdfs:label>
        <rdfs:subClassOf rdf:resource="&seq;Formats"/>
        <rdfs:comment rdf:datatype="&xsd;string">Superclass for GenBank formats.

Ref: http://www.ncbi.nlm.nih.gov/IEB and links within.</rdfs:comment>
    </owl:Class>
    


    <!-- http://sswapmeet.sswap.info/sequence/GenbankXML -->

    <owl:Class rdf:about="&seq;GenbankXML">
        <rdfs:label rdf:datatype="&xsd;string">Genbank XML</rdfs:label>
        <rdfs:subClassOf rdf:resource="&seq;GenbankFormats"/>
        <rdfs:comment rdf:datatype="&xsd;string">Marker class for GenBank XML format.

Ref: http://www.ncbi.nlm.nih.gov/IEB and links within.</rdfs:comment>
    </owl:Class>
    


    <!-- http://sswapmeet.sswap.info/sequence/SAI -->

    <owl:Class rdf:about="&seq;SAI">
        <rdfs:label rdf:datatype="&xsd;string">SAI</rdfs:label>
        <rdfs:subClassOf rdf:resource="&seq;SAMFormats"/>
        <rdfs:comment rdf:datatype="&xsd;string">Marker class for SAI (Sequence Alignment and Modeling Index) format.</rdfs:comment>
    </owl:Class>
    


    <!-- http://sswapmeet.sswap.info/sequence/SAM -->

    <owl:Class rdf:about="&seq;SAM">
        <rdfs:label rdf:datatype="&xsd;string">SAM</rdfs:label>
        <rdfs:subClassOf rdf:resource="&seq;SAMFormats"/>
        <rdfs:comment rdf:datatype="&xsd;string">Marker class for SAM (Sequence Alignment and Modeling) format.</rdfs:comment>
    </owl:Class>
    


    <!-- http://sswapmeet.sswap.info/sequence/SAMFormats -->

    <owl:Class rdf:about="&seq;SAMFormats">
        <rdfs:label rdf:datatype="&xsd;string">SAM Formats</rdfs:label>
        <rdfs:subClassOf rdf:resource="&seq;Formats"/>
        <rdfs:comment rdf:datatype="&xsd;string">Super class for SAM (Sequence Alignment and Modeling) formats.

ref: Li H et al. (2009) The Sequence alignment map (SAM) format and SAMtools. Bioinformatics 25: 2078-9. [PMID: 19505943].

See also http://samtools.sourceforge.net.</rdfs:comment>
    </owl:Class>
    


    <!-- http://sswapmeet.sswap.info/sequence/Sequence -->

    <owl:Class rdf:about="&seq;Sequence">
        <rdfs:label rdf:datatype="&xsd;string">Sequence</rdfs:label>
        <rdfs:subClassOf rdf:resource="&seq;Sequences"/>
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty rdf:resource="&seq;recordURL"/>
                <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
            </owl:Restriction>
        </rdfs:subClassOf>
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty rdf:resource="&seq;theSequence"/>
                <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
            </owl:Restriction>
        </rdfs:subClassOf>
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty rdf:resource="&seq;accessionID"/>
                <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">0</owl:minCardinality>
            </owl:Restriction>
        </rdfs:subClassOf>
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty rdf:resource="&seq;name"/>
                <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">0</owl:minCardinality>
            </owl:Restriction>
        </rdfs:subClassOf>
        <rdfs:comment rdf:datatype="&xsd;string">Superclass for a sequence object.

Sequences may have name(s) and accession number(s).  A sequence may be the resource itself (whereby its format can be tagged by aggregation with the seq:Formats class), or it may be embedded as the string literal object for the predicate seq:theSequence.

A sequence object can also point to the sequence or a record about the sequence using the seq:recordURL predicate.</rdfs:comment>
    </owl:Class>
    


    <!-- http://sswapmeet.sswap.info/sequence/Sequences -->

    <owl:Class rdf:about="&seq;Sequences">
        <rdfs:label rdf:datatype="&xsd;string">Sequences</rdfs:label>
        <rdfs:comment rdf:datatype="&xsd;string">Root class for all concepts.</rdfs:comment>
    </owl:Class>
</rdf:RDF>



<!-- Generated by the OWL API (version 3.1.0.20069) http://owlapi.sourceforge.net -->


