<?xml version="1.0"?>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:meta="http://www.co-ode.org/ontologies/meta/2005/06/15/meta.owl#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns="http://www.co-ode.org/ontologies/amino-acid/2005/10/11/amino-acid.owl#"
    xmlns:daml="http://www.daml.org/2001/03/daml+oil#"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:base="http://www.co-ode.org/ontologies/amino-acid/2005/10/11/amino-acid.owl">
  <owl:Ontology rdf:about="">
    <owl:imports rdf:resource="http://www.co-ode.org/ontologies/meta/2005/06/15/meta.owl"/>
    <rdfs:comment xml:lang="en">Amino acids and their properties</rdfs:comment>
    <owl:versionInfo rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >version 1.0, copyright The University of Manchester,  Nick Drummond, Georgina Moulton, Robert Stevens, Phil Lord</owl:versionInfo>
  </owl:Ontology>
  <owl:Class rdf:ID="TinyPolarAminoAcid">
    <owl:equivalentClass>
      <owl:Class>
        <owl:intersectionOf rdf:parseType="Collection">
          <owl:Class rdf:ID="AminoAcid"/>
          <owl:Restriction>
            <owl:onProperty>
              <owl:FunctionalProperty rdf:ID="hasSize"/>
            </owl:onProperty>
            <owl:someValuesFrom>
              <owl:Class rdf:ID="Tiny"/>
            </owl:someValuesFrom>
          </owl:Restriction>
          <owl:Restriction>
            <owl:someValuesFrom>
              <owl:Class rdf:ID="Polar"/>
            </owl:someValuesFrom>
            <owl:onProperty>
              <owl:FunctionalProperty rdf:ID="hasPolarity"/>
            </owl:onProperty>
          </owl:Restriction>
        </owl:intersectionOf>
      </owl:Class>
    </owl:equivalentClass>
  </owl:Class>
  <owl:Class rdf:ID="AliphaticAminoAcid">
    <owl:equivalentClass>
      <owl:Class>
        <owl:intersectionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#AminoAcid"/>
          <owl:Restriction>
            <owl:someValuesFrom>
              <owl:Class rdf:ID="Aliphatic"/>
            </owl:someValuesFrom>
            <owl:onProperty>
              <owl:ObjectProperty rdf:ID="hasSideChainStructure"/>
            </owl:onProperty>
          </owl:Restriction>
        </owl:intersectionOf>
      </owl:Class>
    </owl:equivalentClass>
  </owl:Class>
  <owl:Class rdf:ID="M">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
        </owl:onProperty>
        <owl:allValuesFrom>
          <owl:Class rdf:about="#Aliphatic"/>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:ID="G"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom>
          <owl:Class rdf:ID="Hydrophobic"/>
        </owl:allValuesFrom>
        <owl:onProperty>
          <owl:ObjectProperty rdf:ID="hasHydrophobicity"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom>
          <owl:Class rdf:ID="Neutral"/>
        </owl:allValuesFrom>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:ID="hasCharge"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Methionine</rdfs:label>
    <owl:disjointWith>
      <owl:Class rdf:ID="C"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasPolarity"/>
        </owl:onProperty>
        <owl:someValuesFrom>
          <owl:Class rdf:ID="Non-Polar"/>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:ID="N"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:ID="D"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:ID="I"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:ID="R"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:ID="S"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasHydrophobicity"/>
        </owl:onProperty>
        <owl:someValuesFrom>
          <owl:Class rdf:about="#Hydrophobic"/>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Class rdf:ID="SpecificAminoAcid"/>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom>
          <owl:Class rdf:about="#Non-Polar"/>
        </owl:allValuesFrom>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasPolarity"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:ID="W"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom>
          <owl:Class rdf:about="#Aliphatic"/>
        </owl:someValuesFrom>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:ID="P"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:ID="H"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:ID="Y"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:ID="E"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:ID="F"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:ID="L"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom>
          <owl:Class rdf:ID="Large"/>
        </owl:allValuesFrom>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasSize"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:ID="A"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:ID="T"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasSize"/>
        </owl:onProperty>
        <owl:someValuesFrom>
          <owl:Class rdf:about="#Large"/>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:ID="K"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:ID="Q"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:ID="V"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom>
          <owl:Class rdf:about="#Neutral"/>
        </owl:someValuesFrom>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasCharge"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:about="#T">
    <owl:disjointWith>
      <owl:Class rdf:about="#E"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom>
          <owl:Class rdf:ID="Hydrophilic"/>
        </owl:allValuesFrom>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasHydrophobicity"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom>
          <owl:Class rdf:about="#Hydrophilic"/>
        </owl:someValuesFrom>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasHydrophobicity"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#A"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#H"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#Y"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#L"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasSize"/>
        </owl:onProperty>
        <owl:allValuesFrom>
          <owl:Class rdf:about="#Tiny"/>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#F"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#K"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#Q"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#P"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom>
          <owl:Class rdf:about="#Polar"/>
        </owl:someValuesFrom>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasPolarity"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom>
          <owl:Class rdf:about="#Tiny"/>
        </owl:someValuesFrom>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasSize"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasCharge"/>
        </owl:onProperty>
        <owl:someValuesFrom>
          <owl:Class rdf:about="#Neutral"/>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#R"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#G"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#D"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#N"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom>
          <owl:Class rdf:about="#Aliphatic"/>
        </owl:allValuesFrom>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#C"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#V"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#I"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#S"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom>
          <owl:Class rdf:about="#Aliphatic"/>
        </owl:someValuesFrom>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom>
          <owl:Class rdf:about="#Polar"/>
        </owl:allValuesFrom>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasPolarity"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom>
          <owl:Class rdf:about="#Neutral"/>
        </owl:allValuesFrom>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasCharge"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#M"/>
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Threonine</rdfs:label>
    <owl:disjointWith>
      <owl:Class rdf:about="#W"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Class rdf:about="#SpecificAminoAcid"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:about="#Polar">
    <owl:disjointWith>
      <owl:Class rdf:about="#Non-Polar"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Class rdf:ID="Polarity"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:about="#N">
    <owl:disjointWith>
      <owl:Class rdf:about="#Q"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom>
          <owl:Class rdf:about="#Hydrophilic"/>
        </owl:someValuesFrom>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasHydrophobicity"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasHydrophobicity"/>
        </owl:onProperty>
        <owl:allValuesFrom>
          <owl:Class rdf:about="#Hydrophilic"/>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasCharge"/>
        </owl:onProperty>
        <owl:someValuesFrom>
          <owl:Class rdf:about="#Neutral"/>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom rdf:resource="#Polar"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasPolarity"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Class rdf:about="#SpecificAminoAcid"/>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#D"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
        </owl:onProperty>
        <owl:someValuesFrom>
          <owl:Class rdf:about="#Aliphatic"/>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom>
          <owl:Class rdf:ID="Small"/>
        </owl:allValuesFrom>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasSize"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
        </owl:onProperty>
        <owl:allValuesFrom>
          <owl:Class rdf:about="#Aliphatic"/>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#H"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#C"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#T"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#G"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasCharge"/>
        </owl:onProperty>
        <owl:allValuesFrom>
          <owl:Class rdf:about="#Neutral"/>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#P"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#K"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#I"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#L"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#W"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasSize"/>
        </owl:onProperty>
        <owl:someValuesFrom>
          <owl:Class rdf:about="#Small"/>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#F"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#S"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasPolarity"/>
        </owl:onProperty>
        <owl:someValuesFrom rdf:resource="#Polar"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#M"/>
    <owl:versionInfo rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >TODO: Should this be Aliphatic?</owl:versionInfo>
    <owl:disjointWith>
      <owl:Class rdf:about="#V"/>
    </owl:disjointWith>
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Asparagine</rdfs:label>
    <owl:disjointWith>
      <owl:Class rdf:about="#R"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#E"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#A"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#Y"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:about="#Neutral">
    <owl:disjointWith>
      <owl:Class rdf:ID="Negative"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Class rdf:ID="Charge"/>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:ID="Positive"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:about="#Large">
    <rdfs:subClassOf>
      <owl:Class rdf:ID="Size"/>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#Tiny"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#Small"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:ID="Hydrophobicity">
    <rdfs:subClassOf rdf:resource="http://www.co-ode.org/ontologies/meta/2005/06/15/meta.owl#ValuePartition"/>
    <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
    <owl:equivalentClass>
      <owl:Class>
        <owl:unionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#Hydrophobic"/>
          <owl:Class rdf:about="#Hydrophilic"/>
        </owl:unionOf>
      </owl:Class>
    </owl:equivalentClass>
  </owl:Class>
  <owl:Class rdf:about="#D">
    <owl:disjointWith>
      <owl:Class rdf:about="#A"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#Y"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom>
          <owl:Class rdf:about="#Hydrophilic"/>
        </owl:allValuesFrom>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasHydrophobicity"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#E"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#L"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#H"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#T"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom>
          <owl:Class rdf:about="#Aliphatic"/>
        </owl:someValuesFrom>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#F"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#K"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom>
          <owl:Class rdf:about="#Hydrophilic"/>
        </owl:someValuesFrom>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasHydrophobicity"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#Q"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#V"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#N"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#C"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Class rdf:about="#SpecificAminoAcid"/>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#G"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasSize"/>
        </owl:onProperty>
        <owl:someValuesFrom>
          <owl:Class rdf:about="#Small"/>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:versionInfo rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >TODO: Aspartate?</owl:versionInfo>
    <owl:disjointWith>
      <owl:Class rdf:about="#R"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom>
          <owl:Class rdf:about="#Negative"/>
        </owl:allValuesFrom>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasCharge"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#M"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom>
          <owl:Class rdf:about="#Negative"/>
        </owl:someValuesFrom>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasCharge"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom rdf:resource="#Polar"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasPolarity"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#W"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom>
          <owl:Class rdf:about="#Small"/>
        </owl:allValuesFrom>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasSize"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasPolarity"/>
        </owl:onProperty>
        <owl:someValuesFrom rdf:resource="#Polar"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Aspartate</rdfs:label>
    <owl:disjointWith>
      <owl:Class rdf:about="#I"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#P"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
        </owl:onProperty>
        <owl:allValuesFrom>
          <owl:Class rdf:about="#Aliphatic"/>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#S"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:about="#AminoAcid">
    <owl:equivalentClass>
      <owl:Class>
        <owl:unionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#A"/>
          <owl:Class rdf:about="#R"/>
          <owl:Class rdf:about="#N"/>
          <owl:Class rdf:about="#D"/>
          <owl:Class rdf:about="#C"/>
          <owl:Class rdf:about="#E"/>
          <owl:Class rdf:about="#Q"/>
          <owl:Class rdf:about="#G"/>
          <owl:Class rdf:about="#H"/>
          <owl:Class rdf:about="#I"/>
          <owl:Class rdf:about="#L"/>
          <owl:Class rdf:about="#K"/>
          <owl:Class rdf:about="#M"/>
          <owl:Class rdf:about="#F"/>
          <owl:Class rdf:about="#P"/>
          <owl:Class rdf:about="#S"/>
          <owl:Class rdf:about="#T"/>
          <owl:Class rdf:about="#W"/>
          <owl:Class rdf:about="#Y"/>
          <owl:Class rdf:about="#V"/>
        </owl:unionOf>
      </owl:Class>
    </owl:equivalentClass>
  </owl:Class>
  <owl:Class rdf:about="#W">
    <owl:disjointWith>
      <owl:Class rdf:about="#S"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#L"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasHydrophobicity"/>
        </owl:onProperty>
        <owl:someValuesFrom>
          <owl:Class rdf:about="#Hydrophobic"/>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasPolarity"/>
        </owl:onProperty>
        <owl:allValuesFrom>
          <owl:Class rdf:about="#Non-Polar"/>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#F"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasPolarity"/>
        </owl:onProperty>
        <owl:someValuesFrom>
          <owl:Class rdf:about="#Non-Polar"/>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasCharge"/>
        </owl:onProperty>
        <owl:someValuesFrom rdf:resource="#Neutral"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#H"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom rdf:resource="#Neutral"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasCharge"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#M"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom rdf:resource="#Large"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasSize"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#A"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#V"/>
    </owl:disjointWith>
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Tryptophan</rdfs:label>
    <owl:disjointWith>
      <owl:Class rdf:about="#Y"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#E"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#R"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#I"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom>
          <owl:Class rdf:about="#Hydrophobic"/>
        </owl:allValuesFrom>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasHydrophobicity"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Class rdf:about="#SpecificAminoAcid"/>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#K"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#N"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
        </owl:onProperty>
        <owl:allValuesFrom>
          <owl:Class rdf:ID="Aromatic"/>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom rdf:resource="#Large"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasSize"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#D"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#Q"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#T"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#P"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#G"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
        </owl:onProperty>
        <owl:someValuesFrom>
          <owl:Class rdf:about="#Aromatic"/>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#C"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:about="#A">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom>
          <owl:Class rdf:about="#Hydrophobic"/>
        </owl:allValuesFrom>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasHydrophobicity"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasSize"/>
        </owl:onProperty>
        <owl:someValuesFrom>
          <owl:Class rdf:about="#Tiny"/>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom>
          <owl:Class rdf:about="#Non-Polar"/>
        </owl:allValuesFrom>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasPolarity"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#E"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#D"/>
    <owl:disjointWith rdf:resource="#M"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
        </owl:onProperty>
        <owl:someValuesFrom>
          <owl:Class rdf:about="#Aliphatic"/>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#I"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#C"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom>
          <owl:Class rdf:about="#Non-Polar"/>
        </owl:someValuesFrom>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasPolarity"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#N"/>
    <owl:disjointWith rdf:resource="#T"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#Y"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom>
          <owl:Class rdf:about="#Tiny"/>
        </owl:allValuesFrom>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasSize"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasHydrophobicity"/>
        </owl:onProperty>
        <owl:someValuesFrom>
          <owl:Class rdf:about="#Hydrophobic"/>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasCharge"/>
        </owl:onProperty>
        <owl:allValuesFrom rdf:resource="#Neutral"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Class rdf:about="#SpecificAminoAcid"/>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#G"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#P"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#W"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#K"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#F"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#S"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom>
          <owl:Class rdf:about="#Aliphatic"/>
        </owl:allValuesFrom>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Alanine</rdfs:label>
    <owl:disjointWith>
      <owl:Class rdf:about="#L"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#V"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#Q"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#H"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasCharge"/>
        </owl:onProperty>
        <owl:someValuesFrom rdf:resource="#Neutral"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#R"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:about="#Hydrophilic">
    <rdfs:subClassOf rdf:resource="#Hydrophobicity"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#Hydrophobic"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:about="#Tiny">
    <rdfs:subClassOf>
      <owl:Class rdf:about="#Size"/>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#Small"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#Large"/>
  </owl:Class>
  <owl:Class rdf:ID="LargeAliphaticAminoAcid">
    <owl:equivalentClass>
      <owl:Class>
        <owl:intersectionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#AminoAcid"/>
          <owl:Restriction>
            <owl:someValuesFrom>
              <owl:Class rdf:about="#Aliphatic"/>
            </owl:someValuesFrom>
            <owl:onProperty>
              <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
            </owl:onProperty>
          </owl:Restriction>
          <owl:Restriction>
            <owl:someValuesFrom rdf:resource="#Large"/>
            <owl:onProperty>
              <owl:FunctionalProperty rdf:about="#hasSize"/>
            </owl:onProperty>
          </owl:Restriction>
        </owl:intersectionOf>
      </owl:Class>
    </owl:equivalentClass>
  </owl:Class>
  <owl:Class rdf:about="#Negative">
    <owl:disjointWith>
      <owl:Class rdf:about="#Positive"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Class rdf:about="#Charge"/>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#Neutral"/>
  </owl:Class>
  <owl:Class rdf:about="#R">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasPolarity"/>
        </owl:onProperty>
        <owl:allValuesFrom rdf:resource="#Polar"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#M"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#V"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#G"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasCharge"/>
        </owl:onProperty>
        <owl:someValuesFrom>
          <owl:Class rdf:about="#Positive"/>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#C"/>
    </owl:disjointWith>
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Arginine</rdfs:label>
    <owl:disjointWith>
      <owl:Class rdf:about="#I"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom rdf:resource="#Polar"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasPolarity"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom rdf:resource="#Large"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasSize"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom rdf:resource="#Large"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasSize"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#L"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#Y"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#K"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#W"/>
    <owl:disjointWith rdf:resource="#D"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#S"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#H"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom rdf:resource="#Hydrophilic"/>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasHydrophobicity"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom>
          <owl:Class rdf:about="#Aliphatic"/>
        </owl:someValuesFrom>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom>
          <owl:Class rdf:about="#Positive"/>
        </owl:allValuesFrom>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasCharge"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#A"/>
    <owl:disjointWith rdf:resource="#T"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#E"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#P"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom rdf:resource="#Hydrophilic"/>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasHydrophobicity"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
        </owl:onProperty>
        <owl:allValuesFrom>
          <owl:Class rdf:about="#Aliphatic"/>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#N"/>
    <rdfs:subClassOf>
      <owl:Class rdf:about="#SpecificAminoAcid"/>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#Q"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#F"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:about="#Small">
    <owl:disjointWith rdf:resource="#Large"/>
    <owl:disjointWith rdf:resource="#Tiny"/>
    <rdfs:subClassOf>
      <owl:Class rdf:about="#Size"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:about="#G">
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Glycine</rdfs:label>
    <owl:disjointWith>
      <owl:Class rdf:about="#H"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#W"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasCharge"/>
        </owl:onProperty>
        <owl:allValuesFrom rdf:resource="#Neutral"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#S"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#F"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#L"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#I"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasSize"/>
        </owl:onProperty>
        <owl:someValuesFrom rdf:resource="#Tiny"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom>
          <owl:Class rdf:about="#Non-Polar"/>
        </owl:allValuesFrom>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasPolarity"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#N"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#E"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#R"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom>
          <owl:Class rdf:about="#Hydrophobic"/>
        </owl:someValuesFrom>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasHydrophobicity"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#A"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#V"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#M"/>
    <rdfs:subClassOf>
      <owl:Class rdf:about="#SpecificAminoAcid"/>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasPolarity"/>
        </owl:onProperty>
        <owl:someValuesFrom>
          <owl:Class rdf:about="#Non-Polar"/>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#D"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#Q"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasCharge"/>
        </owl:onProperty>
        <owl:someValuesFrom rdf:resource="#Neutral"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#Y"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasHydrophobicity"/>
        </owl:onProperty>
        <owl:allValuesFrom>
          <owl:Class rdf:about="#Hydrophobic"/>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasSize"/>
        </owl:onProperty>
        <owl:allValuesFrom rdf:resource="#Tiny"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom>
          <owl:Class rdf:about="#Aliphatic"/>
        </owl:allValuesFrom>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#K"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#P"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
        </owl:onProperty>
        <owl:someValuesFrom>
          <owl:Class rdf:about="#Aliphatic"/>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#T"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#C"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:about="#Aliphatic">
    <rdfs:subClassOf>
      <owl:Class rdf:ID="SideChainStructure"/>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#Aromatic"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:ID="AromaticAminoAcid">
    <owl:equivalentClass>
      <owl:Class>
        <owl:intersectionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#AminoAcid"/>
          <owl:Restriction>
            <owl:onProperty>
              <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
            </owl:onProperty>
            <owl:someValuesFrom>
              <owl:Class rdf:about="#Aromatic"/>
            </owl:someValuesFrom>
          </owl:Restriction>
        </owl:intersectionOf>
      </owl:Class>
    </owl:equivalentClass>
  </owl:Class>
  <owl:Class rdf:about="#L">
    <owl:disjointWith rdf:resource="#G"/>
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Leucine</rdfs:label>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasSize"/>
        </owl:onProperty>
        <owl:someValuesFrom rdf:resource="#Large"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#C"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#N"/>
    <owl:disjointWith rdf:resource="#D"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom rdf:resource="#Aliphatic"/>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#I"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#S"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#R"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasCharge"/>
        </owl:onProperty>
        <owl:allValuesFrom rdf:resource="#Neutral"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom>
          <owl:Class rdf:about="#Hydrophobic"/>
        </owl:someValuesFrom>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasHydrophobicity"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasPolarity"/>
        </owl:onProperty>
        <owl:allValuesFrom>
          <owl:Class rdf:about="#Non-Polar"/>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Class rdf:about="#SpecificAminoAcid"/>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#M"/>
    <owl:disjointWith rdf:resource="#W"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom rdf:resource="#Neutral"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasCharge"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#P"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasHydrophobicity"/>
        </owl:onProperty>
        <owl:allValuesFrom>
          <owl:Class rdf:about="#Hydrophobic"/>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#H"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#E"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#Y"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#F"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom rdf:resource="#Large"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasSize"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#A"/>
    <owl:disjointWith rdf:resource="#T"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#K"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#Q"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasPolarity"/>
        </owl:onProperty>
        <owl:someValuesFrom>
          <owl:Class rdf:about="#Non-Polar"/>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#V"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
        </owl:onProperty>
        <owl:allValuesFrom rdf:resource="#Aliphatic"/>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:about="#Hydrophobic">
    <rdfs:subClassOf rdf:resource="#Hydrophobicity"/>
    <owl:disjointWith rdf:resource="#Hydrophilic"/>
  </owl:Class>
  <owl:Class rdf:about="#Non-Polar">
    <rdfs:subClassOf>
      <owl:Class rdf:about="#Polarity"/>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#Polar"/>
  </owl:Class>
  <owl:Class rdf:about="#F">
    <owl:disjointWith rdf:resource="#W"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#H"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#S"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom rdf:resource="#Large"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasSize"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasPolarity"/>
        </owl:onProperty>
        <owl:someValuesFrom rdf:resource="#Non-Polar"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasHydrophobicity"/>
        </owl:onProperty>
        <owl:allValuesFrom rdf:resource="#Hydrophobic"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasSize"/>
        </owl:onProperty>
        <owl:allValuesFrom rdf:resource="#Large"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#L"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#I"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#N"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#E"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#R"/>
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Phenylalanine</rdfs:label>
    <owl:disjointWith rdf:resource="#A"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#V"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#M"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom>
          <owl:Class rdf:about="#Aromatic"/>
        </owl:allValuesFrom>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
        </owl:onProperty>
        <owl:someValuesFrom>
          <owl:Class rdf:about="#Aromatic"/>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Class rdf:about="#SpecificAminoAcid"/>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom rdf:resource="#Neutral"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasCharge"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#D"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#Q"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasPolarity"/>
        </owl:onProperty>
        <owl:allValuesFrom rdf:resource="#Non-Polar"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#Y"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom rdf:resource="#Hydrophobic"/>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasHydrophobicity"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#K"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#P"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#T"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#C"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom rdf:resource="#Neutral"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasCharge"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#G"/>
  </owl:Class>
  <owl:Class rdf:ID="NegativeChargedAminoAcid">
    <owl:equivalentClass>
      <owl:Class>
        <owl:intersectionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#AminoAcid"/>
          <owl:Restriction>
            <owl:someValuesFrom rdf:resource="#Negative"/>
            <owl:onProperty>
              <owl:FunctionalProperty rdf:about="#hasCharge"/>
            </owl:onProperty>
          </owl:Restriction>
        </owl:intersectionOf>
      </owl:Class>
    </owl:equivalentClass>
  </owl:Class>
  <owl:Class rdf:about="#Q">
    <owl:disjointWith rdf:resource="#D"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom rdf:resource="#Polar"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasPolarity"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#A"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#I"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#M"/>
    <owl:disjointWith rdf:resource="#G"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#P"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom rdf:resource="#Aliphatic"/>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasHydrophobicity"/>
        </owl:onProperty>
        <owl:allValuesFrom rdf:resource="#Hydrophilic"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasCharge"/>
        </owl:onProperty>
        <owl:someValuesFrom rdf:resource="#Neutral"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#C"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#N"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
        </owl:onProperty>
        <owl:someValuesFrom rdf:resource="#Aliphatic"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#T"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom rdf:resource="#Neutral"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasCharge"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#S"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasHydrophobicity"/>
        </owl:onProperty>
        <owl:someValuesFrom rdf:resource="#Hydrophilic"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#K"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#F"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#E"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom rdf:resource="#Large"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasSize"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Glutamine</rdfs:label>
    <owl:disjointWith>
      <owl:Class rdf:about="#Y"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#W"/>
    <rdfs:subClassOf>
      <owl:Class rdf:about="#SpecificAminoAcid"/>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom rdf:resource="#Large"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasSize"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom rdf:resource="#Polar"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasPolarity"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#H"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#R"/>
    <owl:disjointWith rdf:resource="#L"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#V"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:about="#E">
    <owl:disjointWith>
      <owl:Class rdf:about="#Y"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#A"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
        </owl:onProperty>
        <owl:allValuesFrom rdf:resource="#Aliphatic"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasPolarity"/>
        </owl:onProperty>
        <owl:someValuesFrom rdf:resource="#Polar"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom rdf:resource="#Negative"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasCharge"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasHydrophobicity"/>
        </owl:onProperty>
        <owl:someValuesFrom rdf:resource="#Hydrophilic"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasCharge"/>
        </owl:onProperty>
        <owl:allValuesFrom rdf:resource="#Negative"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom rdf:resource="#Small"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasSize"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#D"/>
    <owl:disjointWith rdf:resource="#L"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#H"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#T"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasHydrophobicity"/>
        </owl:onProperty>
        <owl:allValuesFrom rdf:resource="#Hydrophilic"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Glutamate</rdfs:label>
    <owl:disjointWith rdf:resource="#F"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#K"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#Q"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#V"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#N"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#C"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#G"/>
    <rdfs:subClassOf>
      <owl:Class rdf:about="#SpecificAminoAcid"/>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#R"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
        </owl:onProperty>
        <owl:someValuesFrom rdf:resource="#Aliphatic"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#M"/>
    <owl:disjointWith rdf:resource="#W"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom rdf:resource="#Small"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasSize"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#I"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#P"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#S"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasPolarity"/>
        </owl:onProperty>
        <owl:allValuesFrom rdf:resource="#Polar"/>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:about="#I">
    <owl:disjointWith rdf:resource="#F"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom rdf:resource="#Large"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasSize"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Class rdf:about="#SpecificAminoAcid"/>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#C"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#K"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom rdf:resource="#Hydrophobic"/>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasHydrophobicity"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
        </owl:onProperty>
        <owl:someValuesFrom rdf:resource="#Aliphatic"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#E"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#H"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#R"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#S"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#A"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
        </owl:onProperty>
        <owl:allValuesFrom rdf:resource="#Aliphatic"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#L"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasSize"/>
        </owl:onProperty>
        <owl:allValuesFrom rdf:resource="#Large"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#V"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasCharge"/>
        </owl:onProperty>
        <owl:allValuesFrom rdf:resource="#Neutral"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#Q"/>
    <owl:disjointWith rdf:resource="#D"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom rdf:resource="#Hydrophobic"/>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasHydrophobicity"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#G"/>
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Isoleucine</rdfs:label>
    <owl:disjointWith rdf:resource="#M"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom rdf:resource="#Neutral"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasCharge"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom rdf:resource="#Non-Polar"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasPolarity"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#P"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#W"/>
    <owl:disjointWith rdf:resource="#N"/>
    <owl:disjointWith rdf:resource="#T"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasPolarity"/>
        </owl:onProperty>
        <owl:someValuesFrom rdf:resource="#Non-Polar"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#Y"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:about="#SideChainStructure">
    <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
    <owl:equivalentClass>
      <owl:Class>
        <owl:unionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#Aromatic"/>
          <owl:Class rdf:about="#Aliphatic"/>
        </owl:unionOf>
      </owl:Class>
    </owl:equivalentClass>
    <rdfs:subClassOf rdf:resource="http://www.co-ode.org/ontologies/meta/2005/06/15/meta.owl#ValuePartition"/>
  </owl:Class>
  <owl:Class rdf:about="#S">
    <owl:disjointWith rdf:resource="#M"/>
    <owl:disjointWith rdf:resource="#R"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom rdf:resource="#Aliphatic"/>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#V"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#G"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom rdf:resource="#Polar"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasPolarity"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom rdf:resource="#Neutral"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasCharge"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#C"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasPolarity"/>
        </owl:onProperty>
        <owl:allValuesFrom rdf:resource="#Polar"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#I"/>
    <owl:disjointWith rdf:resource="#L"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom rdf:resource="#Hydrophilic"/>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasHydrophobicity"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasSize"/>
        </owl:onProperty>
        <owl:someValuesFrom rdf:resource="#Tiny"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#Y"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#K"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasHydrophobicity"/>
        </owl:onProperty>
        <owl:someValuesFrom rdf:resource="#Hydrophilic"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#W"/>
    <owl:disjointWith rdf:resource="#D"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasCharge"/>
        </owl:onProperty>
        <owl:allValuesFrom rdf:resource="#Neutral"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#H"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#A"/>
    <owl:disjointWith rdf:resource="#T"/>
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Serine</rdfs:label>
    <owl:disjointWith rdf:resource="#E"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#P"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasSize"/>
        </owl:onProperty>
        <owl:allValuesFrom rdf:resource="#Tiny"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#N"/>
    <rdfs:subClassOf>
      <owl:Class rdf:about="#SpecificAminoAcid"/>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom rdf:resource="#Aliphatic"/>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#Q"/>
    <owl:disjointWith rdf:resource="#F"/>
  </owl:Class>
  <owl:Class rdf:ID="PositiveChargedAminoAcid">
    <owl:equivalentClass>
      <owl:Class>
        <owl:intersectionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#AminoAcid"/>
          <owl:Restriction>
            <owl:someValuesFrom>
              <owl:Class rdf:about="#Positive"/>
            </owl:someValuesFrom>
            <owl:onProperty>
              <owl:FunctionalProperty rdf:about="#hasCharge"/>
            </owl:onProperty>
          </owl:Restriction>
        </owl:intersectionOf>
      </owl:Class>
    </owl:equivalentClass>
  </owl:Class>
  <owl:Class rdf:about="#Size">
    <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
    <owl:equivalentClass>
      <owl:Class>
        <owl:unionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#Large"/>
          <owl:Class rdf:about="#Small"/>
          <owl:Class rdf:about="#Tiny"/>
        </owl:unionOf>
      </owl:Class>
    </owl:equivalentClass>
    <rdfs:subClassOf rdf:resource="http://www.co-ode.org/ontologies/meta/2005/06/15/meta.owl#ValuePartition"/>
  </owl:Class>
  <owl:Class rdf:about="#H">
    <owl:disjointWith rdf:resource="#F"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
        </owl:onProperty>
        <owl:allValuesFrom>
          <owl:Class rdf:about="#Aromatic"/>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Histidine</rdfs:label>
    <rdfs:subClassOf>
      <owl:Class rdf:about="#SpecificAminoAcid"/>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#C"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#K"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
        </owl:onProperty>
        <owl:someValuesFrom>
          <owl:Class rdf:about="#Aromatic"/>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#E"/>
    <owl:disjointWith rdf:resource="#S"/>
    <owl:disjointWith rdf:resource="#R"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom rdf:resource="#Polar"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasPolarity"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#A"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasCharge"/>
        </owl:onProperty>
        <owl:allValuesFrom>
          <owl:Class rdf:about="#Positive"/>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#L"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasCharge"/>
        </owl:onProperty>
        <owl:someValuesFrom>
          <owl:Class rdf:about="#Positive"/>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#V"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#Q"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasHydrophobicity"/>
        </owl:onProperty>
        <owl:allValuesFrom rdf:resource="#Hydrophilic"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#I"/>
    <owl:disjointWith rdf:resource="#D"/>
    <owl:disjointWith rdf:resource="#G"/>
    <owl:disjointWith rdf:resource="#M"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasHydrophobicity"/>
        </owl:onProperty>
        <owl:someValuesFrom rdf:resource="#Hydrophilic"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom rdf:resource="#Polar"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasPolarity"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#P"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#W"/>
    <owl:disjointWith rdf:resource="#N"/>
    <owl:disjointWith rdf:resource="#T"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasSize"/>
        </owl:onProperty>
        <owl:allValuesFrom rdf:resource="#Large"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom rdf:resource="#Large"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasSize"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#Y"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:about="#K">
    <owl:disjointWith>
      <owl:Class rdf:about="#P"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasSize"/>
        </owl:onProperty>
        <owl:allValuesFrom rdf:resource="#Large"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#T"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom>
          <owl:Class rdf:about="#Positive"/>
        </owl:allValuesFrom>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasCharge"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom rdf:resource="#Polar"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasPolarity"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#E"/>
    <owl:disjointWith rdf:resource="#A"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
        </owl:onProperty>
        <owl:someValuesFrom rdf:resource="#Aliphatic"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#N"/>
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Lysine</rdfs:label>
    <owl:disjointWith rdf:resource="#I"/>
    <rdfs:subClassOf>
      <owl:Class rdf:about="#SpecificAminoAcid"/>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#F"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom rdf:resource="#Polar"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasPolarity"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom>
          <owl:Class rdf:about="#Positive"/>
        </owl:someValuesFrom>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasCharge"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#Q"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom rdf:resource="#Hydrophilic"/>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasHydrophobicity"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#C"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#H"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#V"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#M"/>
    <owl:disjointWith rdf:resource="#G"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom rdf:resource="#Large"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasSize"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#R"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#Y"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
        </owl:onProperty>
        <owl:allValuesFrom rdf:resource="#Aliphatic"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#L"/>
    <owl:disjointWith rdf:resource="#W"/>
    <owl:disjointWith rdf:resource="#S"/>
    <owl:disjointWith rdf:resource="#D"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom rdf:resource="#Hydrophilic"/>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasHydrophobicity"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:about="#Polarity">
    <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
    <owl:equivalentClass>
      <owl:Class>
        <owl:unionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#Polar"/>
          <owl:Class rdf:about="#Non-Polar"/>
        </owl:unionOf>
      </owl:Class>
    </owl:equivalentClass>
    <rdfs:subClassOf rdf:resource="http://www.co-ode.org/ontologies/meta/2005/06/15/meta.owl#ValuePartition"/>
  </owl:Class>
  <owl:Class rdf:about="#SpecificAminoAcid">
    <rdfs:subClassOf rdf:resource="#AminoAcid"/>
  </owl:Class>
  <owl:Class rdf:about="#P">
    <owl:disjointWith rdf:resource="#D"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom rdf:resource="#Neutral"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasCharge"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom rdf:resource="#Aliphatic"/>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasPolarity"/>
        </owl:onProperty>
        <owl:someValuesFrom rdf:resource="#Non-Polar"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom rdf:resource="#Neutral"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasCharge"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom rdf:resource="#Small"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasSize"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#A"/>
    <owl:disjointWith rdf:resource="#I"/>
    <owl:disjointWith rdf:resource="#M"/>
    <owl:disjointWith rdf:resource="#G"/>
    <owl:disjointWith rdf:resource="#Q"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#C"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#N"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom rdf:resource="#Non-Polar"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasPolarity"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#T"/>
    <owl:disjointWith rdf:resource="#S"/>
    <owl:disjointWith rdf:resource="#K"/>
    <owl:disjointWith rdf:resource="#F"/>
    <owl:disjointWith rdf:resource="#E"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasSize"/>
        </owl:onProperty>
        <owl:allValuesFrom rdf:resource="#Small"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Proline</rdfs:label>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasHydrophobicity"/>
        </owl:onProperty>
        <owl:someValuesFrom rdf:resource="#Hydrophobic"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#Y"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#W"/>
    <rdfs:subClassOf rdf:resource="#SpecificAminoAcid"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
        </owl:onProperty>
        <owl:allValuesFrom rdf:resource="#Aliphatic"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#H"/>
    <owl:disjointWith rdf:resource="#R"/>
    <owl:disjointWith rdf:resource="#L"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#V"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom rdf:resource="#Hydrophobic"/>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasHydrophobicity"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:about="#Aromatic">
    <rdfs:subClassOf rdf:resource="#SideChainStructure"/>
    <owl:disjointWith rdf:resource="#Aliphatic"/>
  </owl:Class>
  <owl:Class rdf:about="#Y">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasPolarity"/>
        </owl:onProperty>
        <owl:allValuesFrom rdf:resource="#Polar"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#Q"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasHydrophobicity"/>
        </owl:onProperty>
        <owl:allValuesFrom rdf:resource="#Hydrophobic"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#G"/>
    <owl:disjointWith rdf:resource="#N"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#C"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#I"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
        </owl:onProperty>
        <owl:allValuesFrom rdf:resource="#Aromatic"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom rdf:resource="#Large"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasSize"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#D"/>
    <owl:disjointWith rdf:resource="#T"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasPolarity"/>
        </owl:onProperty>
        <owl:someValuesFrom rdf:resource="#Polar"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#M"/>
    <owl:disjointWith rdf:resource="#P"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom rdf:resource="#Large"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasSize"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
        </owl:onProperty>
        <owl:someValuesFrom rdf:resource="#Aromatic"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasCharge"/>
        </owl:onProperty>
        <owl:someValuesFrom rdf:resource="#Neutral"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#E"/>
    <owl:disjointWith rdf:resource="#H"/>
    <owl:disjointWith rdf:resource="#K"/>
    <owl:disjointWith rdf:resource="#A"/>
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Tyrosine</rdfs:label>
    <owl:disjointWith rdf:resource="#L"/>
    <owl:disjointWith rdf:resource="#S"/>
    <owl:disjointWith rdf:resource="#W"/>
    <owl:disjointWith rdf:resource="#F"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasHydrophobicity"/>
        </owl:onProperty>
        <owl:someValuesFrom rdf:resource="#Hydrophobic"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf rdf:resource="#SpecificAminoAcid"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#V"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#R"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom rdf:resource="#Neutral"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasCharge"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:about="#C">
    <owl:disjointWith>
      <owl:Class rdf:about="#V"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#I"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasPolarity"/>
        </owl:onProperty>
        <owl:someValuesFrom rdf:resource="#Polar"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#R"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom rdf:resource="#Aliphatic"/>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf rdf:resource="#SpecificAminoAcid"/>
    <owl:disjointWith rdf:resource="#G"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasPolarity"/>
        </owl:onProperty>
        <owl:allValuesFrom rdf:resource="#Polar"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#M"/>
    <owl:disjointWith rdf:resource="#H"/>
    <owl:disjointWith rdf:resource="#D"/>
    <owl:disjointWith rdf:resource="#S"/>
    <owl:disjointWith rdf:resource="#Y"/>
    <owl:disjointWith rdf:resource="#W"/>
    <owl:disjointWith rdf:resource="#L"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom rdf:resource="#Neutral"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasCharge"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom rdf:resource="#Hydrophobic"/>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasHydrophobicity"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom rdf:resource="#Neutral"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasCharge"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#N"/>
    <owl:disjointWith rdf:resource="#E"/>
    <owl:disjointWith rdf:resource="#K"/>
    <owl:disjointWith rdf:resource="#P"/>
    <owl:disjointWith rdf:resource="#A"/>
    <owl:disjointWith rdf:resource="#T"/>
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Cysteine</rdfs:label>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasSize"/>
        </owl:onProperty>
        <owl:someValuesFrom rdf:resource="#Small"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#Q"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasHydrophobicity"/>
        </owl:onProperty>
        <owl:someValuesFrom rdf:resource="#Hydrophobic"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom rdf:resource="#Aliphatic"/>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#F"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom rdf:resource="#Small"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasSize"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:about="#Positive">
    <rdfs:subClassOf>
      <owl:Class rdf:about="#Charge"/>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#Negative"/>
    <owl:disjointWith rdf:resource="#Neutral"/>
  </owl:Class>
  <owl:Class rdf:about="#Charge">
    <rdfs:subClassOf rdf:resource="http://www.co-ode.org/ontologies/meta/2005/06/15/meta.owl#ValuePartition"/>
    <owl:equivalentClass>
      <owl:Class>
        <owl:unionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#Positive"/>
          <owl:Class rdf:about="#Neutral"/>
          <owl:Class rdf:about="#Negative"/>
        </owl:unionOf>
      </owl:Class>
    </owl:equivalentClass>
    <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
  </owl:Class>
  <owl:Class rdf:about="#V">
    <owl:disjointWith rdf:resource="#S"/>
    <owl:disjointWith rdf:resource="#L"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasHydrophobicity"/>
        </owl:onProperty>
        <owl:allValuesFrom rdf:resource="#Hydrophobic"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom rdf:resource="#Neutral"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasCharge"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom rdf:resource="#Neutral"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasCharge"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#W"/>
    <owl:disjointWith rdf:resource="#F"/>
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Valine</rdfs:label>
    <owl:disjointWith rdf:resource="#H"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasPolarity"/>
        </owl:onProperty>
        <owl:someValuesFrom rdf:resource="#Non-Polar"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#M"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom rdf:resource="#Small"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasSize"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#A"/>
    <owl:disjointWith rdf:resource="#E"/>
    <owl:disjointWith rdf:resource="#Y"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom rdf:resource="#Non-Polar"/>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasPolarity"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#R"/>
    <owl:disjointWith rdf:resource="#I"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
        </owl:onProperty>
        <owl:someValuesFrom rdf:resource="#Aliphatic"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf rdf:resource="#SpecificAminoAcid"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom rdf:resource="#Aliphatic"/>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasSideChainStructure"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#K"/>
    <owl:disjointWith rdf:resource="#N"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:about="#hasSize"/>
        </owl:onProperty>
        <owl:someValuesFrom rdf:resource="#Small"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#D"/>
    <owl:disjointWith rdf:resource="#Q"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasHydrophobicity"/>
        </owl:onProperty>
        <owl:someValuesFrom rdf:resource="#Hydrophobic"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#T"/>
    <owl:disjointWith rdf:resource="#P"/>
    <owl:disjointWith rdf:resource="#G"/>
    <owl:disjointWith rdf:resource="#C"/>
  </owl:Class>
  <owl:ObjectProperty rdf:about="#hasHydrophobicity">
    <rdfs:domain rdf:resource="#AminoAcid"/>
    <rdfs:range rdf:resource="#Hydrophobicity"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:about="#hasSideChainStructure">
    <rdfs:domain rdf:resource="#AminoAcid"/>
    <rdfs:range rdf:resource="#SideChainStructure"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
  </owl:ObjectProperty>
  <owl:FunctionalProperty rdf:about="#hasSize">
    <rdfs:range rdf:resource="#Size"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
    <rdfs:domain rdf:resource="#AminoAcid"/>
  </owl:FunctionalProperty>
  <owl:FunctionalProperty rdf:about="#hasPolarity">
    <rdfs:range rdf:resource="#Polarity"/>
    <rdfs:domain rdf:resource="#AminoAcid"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
  </owl:FunctionalProperty>
  <owl:FunctionalProperty rdf:about="#hasCharge">
    <rdfs:range rdf:resource="#Charge"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
    <rdfs:domain rdf:resource="#AminoAcid"/>
  </owl:FunctionalProperty>
</rdf:RDF>

<!-- Created with Protege (with OWL Plugin 2.2 beta, Build 286)  http://protege.stanford.edu -->
