PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX GENO: <http://purl.obolibrary.org/obo/GENO_>
PREFIX IAO: <http://purl.obolibrary.org/obo/IAO_>
PREFIX NCIT: <http://purl.obolibrary.org/obo/NCIT_>
PREFIX OBI: <http://purl.obolibrary.org/obo/OBI_>
PREFIX PATO: <http://purl.obolibrary.org/obo/PATO_>
PREFIX biolink: <https://w3id.org/biolink/>
PREFIX bioschemas: <https://bioschemas.org/>
PREFIX example: <https://example.org/>
PREFIX linkml: <https://w3id.org/linkml/>
PREFIX opencloning_linkml: <https://opencloning.github.io/OpenCloning_LinkML/>
PREFIX schema: <http://schema.org/>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX sh: <http://www.w3.org/ns/shacl#>
PREFIX vann: <http://purl.org/vocab/vann/>

<https://opencloning.github.io/OpenCloning_LinkML> a owl:Ontology ;
  rdfs:label "OpenCloning_LinkML" ;
  rdfs:comment "A LinkML data model for OpenCloning" ;
  rdfs:seeAlso <https://pypi.org/project/opencloning-linkml/> ;
  dcterms:license "MIT" ;
  vann:preferredNamespacePrefix "opencloning_linkml" ;
  vann:preferredNamespaceUri "https://opencloning.github.io/OpenCloning_LinkML/"^^xsd:anyURI ;
  sh:declare [
    sh:prefix "GENO" ;
    sh:namespace "http://purl.obolibrary.org/obo/GENO_"^^xsd:anyURI
  ] , [
    sh:prefix "IAO" ;
    sh:namespace "http://purl.obolibrary.org/obo/IAO_"^^xsd:anyURI
  ] , [
    sh:prefix "NCIT" ;
    sh:namespace "http://purl.obolibrary.org/obo/NCIT_"^^xsd:anyURI
  ] , [
    sh:prefix "OBI" ;
    sh:namespace "http://purl.obolibrary.org/obo/OBI_"^^xsd:anyURI
  ] , [
    sh:prefix "PATO" ;
    sh:namespace "http://purl.obolibrary.org/obo/PATO_"^^xsd:anyURI
  ] , [
    sh:prefix "biolink" ;
    sh:namespace "https://w3id.org/biolink/"^^xsd:anyURI
  ] , [
    sh:prefix "bioschemas" ;
    sh:namespace "https://bioschemas.org/"^^xsd:anyURI
  ] , [
    sh:prefix "example" ;
    sh:namespace "https://example.org/"^^xsd:anyURI
  ] , [
    sh:prefix "linkml" ;
    sh:namespace "https://w3id.org/linkml/"^^xsd:anyURI
  ] , [
    sh:prefix "opencloning_linkml" ;
    sh:namespace "https://opencloning.github.io/OpenCloning_LinkML/"^^xsd:anyURI
  ] , [
    sh:prefix "schema" ;
    sh:namespace "http://schema.org/"^^xsd:anyURI
  ] .

opencloning_linkml:AddgeneIdSource a owl:Class ;
  rdfs:comment "Represents the source of a sequence that is identified by an Addgene id" ;
  rdfs:subClassOf opencloning_linkml:RepositoryIdSource , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:sequence_file_url ;
    owl:allValuesFrom [
      a rdfs:Datatype ;
      owl:onDatatype xsd:string ;
      owl:withRestrictions ( _:o14 )
    ]
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:sequence_file_url ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:addgene_sequence_type ;
    owl:allValuesFrom opencloning_linkml:AddgeneSequenceType
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:addgene_sequence_type ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

_:o14 xsd:pattern "https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)" .

opencloning_linkml:AnnotationReport a owl:Class ;
  rdfs:comment "Represents a report of an annotation step" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:type ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:type ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

opencloning_linkml:AnnotationSource a owl:Class ;
  rdfs:comment "Represents a computational step in which sequence features are annotated in a sequence" ;
  rdfs:subClassOf schema:CreateAction , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:annotation_report ;
    owl:allValuesFrom opencloning_linkml:AnnotationReport
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:annotation_tool ;
    owl:allValuesFrom opencloning_linkml:AnnotationTool
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:annotation_tool ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:annotation_tool_version ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:annotation_tool_version ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

opencloning_linkml:AssemblyFragment a owl:Class ;
  rdfs:comment "Represents a fragment in an assembly" ;
  rdfs:subClassOf schema:Role , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:left_location ;
    owl:allValuesFrom [
      a rdfs:Datatype ;
      owl:onDatatype xsd:string ;
      owl:withRestrictions ( _:o27 )
    ]
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:left_location ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:reverse_complemented ;
    owl:allValuesFrom xsd:boolean
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:reverse_complemented ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:right_location ;
    owl:allValuesFrom [
      a rdfs:Datatype ;
      owl:onDatatype xsd:string ;
      owl:withRestrictions ( _:o33 )
    ]
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:right_location ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

_:o27 xsd:pattern "(\\d+)\\.\\.(\\d+)" .

_:o33 xsd:pattern "(\\d+)\\.\\.(\\d+)" .

opencloning_linkml:AssemblySource a owl:Class ;
  rdfs:comment "Represents the source of a sequence that is an assembly of other sequences" ;
  rdfs:subClassOf schema:CreateAction , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:circular ;
    owl:allValuesFrom xsd:boolean
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:circular ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

opencloning_linkml:AssociatedFile a owl:Class ;
  rdfs:comment "Represents a file associated with a sequence" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:type ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:type ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:file_name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:file_name ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:file_type ;
    owl:allValuesFrom opencloning_linkml:AssociatedFileType
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:file_type ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:sequence_id ;
    owl:allValuesFrom bioschemas:DNA
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:sequence_id ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] .

opencloning_linkml:BenchlingUrlSource a owl:Class ;
  rdfs:comment "Represents the source of a sequence that is identified by a Benchling URL" ;
  rdfs:subClassOf opencloning_linkml:RepositoryIdSource , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:repository_id ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] .

opencloning_linkml:CrisprSource a owl:Class ;
  rdfs:comment "Represents the source of a sequence that is generated by CRISPR" ;
  rdfs:subClassOf opencloning_linkml:HomologousRecombinationSource .

opencloning_linkml:CloningStrategy a owl:Class ;
  rdfs:comment "Represents a cloning strategy" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:backend_version ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:backend_version ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:description ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:description ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:files ;
    owl:allValuesFrom opencloning_linkml:AssociatedFile
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:frontend_version ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:frontend_version ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:primers ;
    owl:allValuesFrom opencloning_linkml:Primer
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:schema_version ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:schema_version ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:sequences ;
    owl:allValuesFrom bioschemas:DNA
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:sequences ;
    owl:minCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:sources ;
    owl:allValuesFrom schema:CreateAction
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:sources ;
    owl:minCardinality "1"^^xsd:nonNegativeInteger
  ] .

opencloning_linkml:CollectionOption a owl:Class ;
  rdfs:comment "Represents an option in a collection" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty schema:name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty schema:name ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:info ;
    owl:allValuesFrom opencloning_linkml:CollectionOptionInfo
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:info ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:source ;
    owl:allValuesFrom schema:CreateAction
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:source ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] .

opencloning_linkml:CollectionOptionInfo a owl:Class ;
  rdfs:comment "Additional information about a collection option" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty schema:name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty schema:name ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:description ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:description ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:resistance ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:resistance ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:type ;
    owl:allValuesFrom opencloning_linkml:CollectionOptionType
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:type ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:well ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:well ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

opencloning_linkml:CollectionSource a owl:Class ;
  rdfs:comment "Represents a collection of possible sources in a template" ;
  rdfs:subClassOf schema:CreateAction , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:category_id ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:category_id ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:description ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:description ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:image ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:options ;
    owl:allValuesFrom opencloning_linkml:CollectionOption
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:title ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:title ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] .

opencloning_linkml:CreLoxRecombinationSource a owl:Class ;
  rdfs:comment "Represents the source of a sequence that is generated by Cre - Lox recombination" ;
  rdfs:subClassOf opencloning_linkml:AssemblySource .

opencloning_linkml:DatabaseSource a owl:Class ;
  rdfs:comment "Represents the source of a sequence that is identified by a database id" ;
  rdfs:subClassOf schema:CreateAction , [
    a owl:Restriction ;
    owl:onProperty schema:identifier ;
    owl:allValuesFrom xsd:integer
  ] , [
    a owl:Restriction ;
    owl:onProperty schema:identifier ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] .

opencloning_linkml:EuroscarfSource a owl:Class ;
  rdfs:comment "Represents the source of a sequence from the Euroscarf plasmid library" ;
  rdfs:subClassOf opencloning_linkml:RepositoryIdSource , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:repository_id ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] .

opencloning_linkml:GatewaySource a owl:Class ;
  rdfs:comment "Represents the source of a sequence that is generated by Gateway cloning" ;
  rdfs:subClassOf opencloning_linkml:AssemblySource , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:greedy ;
    owl:allValuesFrom xsd:boolean
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:greedy ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:reaction_type ;
    owl:allValuesFrom opencloning_linkml:GatewayReactionType
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:reaction_type ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] .

opencloning_linkml:GenomeCoordinatesSource a owl:Class ;
  rdfs:comment "Represents the source of a sequence that is identified by genome coordinates, requested from NCBI" ;
  rdfs:subClassOf opencloning_linkml:NcbiSequenceSource , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:assembly_accession ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:assembly_accession ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:gene_id ;
    owl:allValuesFrom xsd:integer
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:gene_id ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:locus_tag ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:locus_tag ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

opencloning_linkml:GibsonAssemblySource a owl:Class ;
  rdfs:comment "Represents the source of a sequence that is generated by Gibson assembly" ;
  rdfs:subClassOf opencloning_linkml:AssemblySource .

opencloning_linkml:HomologousRecombinationSource a owl:Class ;
  rdfs:comment "Represents the source of a sequence that is generated by homologous recombination" ;
  rdfs:subClassOf opencloning_linkml:AssemblySource .

opencloning_linkml:IgemSource a owl:Class ;
  rdfs:comment "Represents the source of a sequence from an iGEM collection" ;
  rdfs:subClassOf opencloning_linkml:RepositoryIdSource , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:sequence_file_url ;
    owl:allValuesFrom [
      a rdfs:Datatype ;
      owl:onDatatype xsd:string ;
      owl:withRestrictions ( _:o99 )
    ]
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:sequence_file_url ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:repository_id ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] .

_:o99 xsd:pattern ".*.gb" .

opencloning_linkml:InFusionSource a owl:Class ;
  rdfs:comment "Represents the source of a sequence that is generated by In-Fusion cloning by Takara Bio" ;
  rdfs:subClassOf opencloning_linkml:AssemblySource .

opencloning_linkml:InVivoAssemblySource a owl:Class ;
  rdfs:comment "Represents the source of a sequence that is generated by in vivo assembly. Algorithmically equivalent to Gibson assembly." ;
  rdfs:subClassOf opencloning_linkml:AssemblySource .

opencloning_linkml:LigationSource a owl:Class ;
  rdfs:comment "Represents the source of a sequence that is generated by ligation with sticky or blunt ends." ;
  rdfs:subClassOf opencloning_linkml:AssemblySource .

opencloning_linkml:ManuallyTypedSequence a owl:Class ;
  rdfs:comment "Represents a sequence that is manually typed by the user" ;
  rdfs:subClassOf bioschemas:DNA , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:overhang_crick_3_prime ;
    owl:allValuesFrom xsd:integer
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:overhang_crick_3_prime ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:overhang_watson_3_prime ;
    owl:allValuesFrom xsd:integer
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:overhang_watson_3_prime ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:circular ;
    owl:allValuesFrom xsd:boolean
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:circular ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:sequence ;
    owl:allValuesFrom [
      a rdfs:Datatype ;
      owl:onDatatype xsd:string ;
      owl:withRestrictions ( _:o110 )
    ]
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:sequence ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] .

_:o110 xsd:pattern "[acgtACGT]+" .

opencloning_linkml:ManuallyTypedSource a owl:Class ;
  rdfs:comment "Represents the source of a sequence that is manually typed by the user" ;
  rdfs:subClassOf schema:CreateAction .

opencloning_linkml:NcbiSequenceSource a owl:Class ;
  rdfs:comment "Represents the source of a sequence that is identified by an NCBI sequence accession" ;
  rdfs:subClassOf opencloning_linkml:RepositoryIdSource , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:coordinates ;
    owl:allValuesFrom [
      a rdfs:Datatype ;
      owl:onDatatype xsd:string ;
      owl:withRestrictions ( _:o114 )
    ]
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:coordinates ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:repository_id ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] .

_:o114 xsd:pattern "((\\d+)\\.\\.(\\d+)|complement\\((\\d+)\\.\\.(\\d+)\\))" .

schema:Thing a owl:Class .

opencloning_linkml:OligoHybridizationSource a owl:Class ;
  rdfs:comment "Represents the source of a sequence that is generated by oligo hybridization" ;
  rdfs:subClassOf schema:CreateAction , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:overhang_crick_3_prime ;
    owl:allValuesFrom xsd:integer
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:overhang_crick_3_prime ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

opencloning_linkml:OpenDnaCollectionsSource a owl:Class ;
  rdfs:comment "Represents the source of a sequence from the Open DNA collections" ;
  rdfs:subClassOf opencloning_linkml:RepositoryIdSource , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:sequence_file_url ;
    owl:allValuesFrom [
      a rdfs:Datatype ;
      owl:onDatatype xsd:string ;
      owl:withRestrictions ( _:o121 )
    ]
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:sequence_file_url ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:repository_id ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] .

_:o121 xsd:pattern "https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)" .

opencloning_linkml:OverlapExtensionPcrLigationSource a owl:Class ;
  rdfs:comment "Represents the source of a sequence that is generated by ligation of PCR products as part of overlap extension PCR. Algorithmically equivalent to Gibson assembly." ;
  rdfs:subClassOf opencloning_linkml:AssemblySource .

opencloning_linkml:PcrSource a owl:Class ;
  rdfs:comment "Represents the source of a sequence that is generated by PCR" ;
  rdfs:subClassOf opencloning_linkml:AssemblySource , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:add_primer_features ;
    owl:allValuesFrom xsd:boolean
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:add_primer_features ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

opencloning_linkml:PlannotateAnnotationReport a owl:Class ;
  rdfs:comment "Represents a report of an annotation step using Plannotate" ;
  rdfs:subClassOf opencloning_linkml:AnnotationReport , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:description ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:description ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:feature ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:feature ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:type ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:type ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:database ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:database ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:end_location ;
    owl:allValuesFrom xsd:integer
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:end_location ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:fragment ;
    owl:allValuesFrom xsd:boolean
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:fragment ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:full_length_of_feature_in_db ;
    owl:allValuesFrom xsd:integer
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:full_length_of_feature_in_db ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:length_of_found_feature ;
    owl:allValuesFrom xsd:integer
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:length_of_found_feature ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:percent_identity ;
    owl:allValuesFrom xsd:float
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:percent_identity ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:percent_match_length ;
    owl:allValuesFrom xsd:float
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:percent_match_length ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:sequence ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:sequence ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:sseqid ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:sseqid ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:start_location ;
    owl:allValuesFrom xsd:integer
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:start_location ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:strand ;
    owl:allValuesFrom xsd:integer
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:strand ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

opencloning_linkml:PolymeraseExtensionSource a owl:Class ;
  rdfs:comment "Represents the source of a sequence that is generated by polymerase extension" ;
  rdfs:subClassOf schema:CreateAction .

opencloning_linkml:Primer a owl:Class ;
  rdfs:comment "An oligonucleotide or primer" ;
  rdfs:subClassOf bioschemas:DNA , [
    a owl:Restriction ;
    owl:onProperty schema:name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty schema:name ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty schema:identifier ;
    owl:allValuesFrom xsd:integer
  ] , [
    a owl:Restriction ;
    owl:onProperty schema:identifier ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:sequence ;
    owl:allValuesFrom [
      a rdfs:Datatype ;
      owl:onDatatype xsd:string ;
      owl:withRestrictions ( _:o160 )
    ]
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:sequence ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

_:o160 xsd:pattern "[acgtACGT]+" .

opencloning_linkml:Recombinase a owl:Class ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty schema:name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty schema:name ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:site_1 ;
    owl:allValuesFrom [
      a rdfs:Datatype ;
      owl:onDatatype xsd:string ;
      owl:withRestrictions ( _:o166 )
    ]
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:site_1 ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:site_1_name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:site_1_name ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:site_2 ;
    owl:allValuesFrom [
      a rdfs:Datatype ;
      owl:onDatatype xsd:string ;
      owl:withRestrictions ( _:o172 )
    ]
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:site_2 ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:site_2_name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:site_2_name ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

_:o166 xsd:pattern "[A-Z]+[a-z]+[A-Z]+" .

_:o172 xsd:pattern "[A-Z]+[a-z]+[A-Z]+" .

opencloning_linkml:RecombinaseSource a owl:Class ;
  rdfs:comment "Represents the source of a sequence that is generated by recombination using one or more recombinases" ;
  rdfs:subClassOf opencloning_linkml:AssemblySource , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:recombinases ;
    owl:allValuesFrom opencloning_linkml:Recombinase
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:recombinases ;
    owl:minCardinality "1"^^xsd:nonNegativeInteger
  ] .

opencloning_linkml:RepositoryIdSource a owl:Class ;
  rdfs:comment "Represents the source of a sequence that is identified by a repository id" ;
  rdfs:subClassOf schema:CreateAction , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:repository_id ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:repository_id ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] .

opencloning_linkml:RestrictionAndLigationSource a owl:Class ;
  rdfs:comment "Represents the source of a sequence that is generated by restriction and ligation" ;
  rdfs:subClassOf opencloning_linkml:AssemblySource , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:restriction_enzymes ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:restriction_enzymes ;
    owl:minCardinality "1"^^xsd:nonNegativeInteger
  ] .

opencloning_linkml:RestrictionEnzymeDigestionSource a owl:Class ;
  rdfs:comment "Represents the source of a sequence that is a subfragment of another sequence, generated by sequence cutting using restriction enzymes." ;
  rdfs:subClassOf opencloning_linkml:SequenceCutSource , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:left_edge ;
    owl:allValuesFrom opencloning_linkml:RestrictionSequenceCut
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:left_edge ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:right_edge ;
    owl:allValuesFrom opencloning_linkml:RestrictionSequenceCut
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:right_edge ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

opencloning_linkml:RestrictionSequenceCut a owl:Class ;
  rdfs:comment "Represents a cut in a DNA sequence that is made by a restriction enzyme" ;
  rdfs:subClassOf opencloning_linkml:SequenceCut , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:restriction_enzyme ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:restriction_enzyme ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] .

opencloning_linkml:ReverseComplementSource a owl:Class ;
  rdfs:comment "Represents the in-silico transformation of a sequence into its reverse complement" ;
  rdfs:subClassOf schema:CreateAction .

opencloning_linkml:SevaSource a owl:Class ;
  rdfs:comment "Represents the source of a sequence that is identified by a SEVA id" ;
  rdfs:subClassOf opencloning_linkml:RepositoryIdSource , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:sequence_file_url ;
    owl:allValuesFrom [
      a rdfs:Datatype ;
      owl:onDatatype xsd:string ;
      owl:withRestrictions ( _:o190 )
    ]
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:sequence_file_url ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:repository_id ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] .

_:o190 xsd:pattern "https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)" .

bioschemas:DNA a owl:Class ;
  rdfs:comment "Represents a sequence" ;
  rdfs:subClassOf schema:Thing , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:type ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:type ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Class ;
    owl:unionOf ( opencloning_linkml:ManuallyTypedSequence opencloning_linkml:Primer opencloning_linkml:TemplateSequence opencloning_linkml:TextFileSequence )
  ] .

opencloning_linkml:SequenceCut a owl:Class ;
  rdfs:comment "Represents a cut in a DNA sequence" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:cut_watson ;
    owl:allValuesFrom xsd:integer
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:cut_watson ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:overhang ;
    owl:allValuesFrom xsd:integer
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:overhang ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] .

opencloning_linkml:SequenceCutSource a owl:Class ;
  rdfs:comment "Represents the source of a sequence that is a subfragment of another sequence, generated by sequence cutting." ;
  rdfs:subClassOf schema:CreateAction , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:left_edge ;
    owl:allValuesFrom opencloning_linkml:SequenceCut
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:left_edge ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:right_edge ;
    owl:allValuesFrom opencloning_linkml:SequenceCut
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:right_edge ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

opencloning_linkml:SequencingFile a owl:Class ;
  rdfs:comment "Represents a sequencing file and its alignment to a sequence" ;
  rdfs:subClassOf opencloning_linkml:AssociatedFile , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:alignment ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:alignment ;
    owl:minCardinality "1"^^xsd:nonNegativeInteger
  ] .

opencloning_linkml:SnapGenePlasmidSource a owl:Class ;
  rdfs:comment "Represents the source of a sequence from the SnapGene plasmid library identified by a SnapGene subpath of https://www.snapgene.com/plasmids/" ;
  rdfs:subClassOf opencloning_linkml:RepositoryIdSource , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:repository_id ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] .

schema:CreateAction a owl:Class ;
  rdfs:comment "Represents the source of a sequence" ;
  rdfs:subClassOf schema:Thing , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:type ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:type ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:output_name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:output_name ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty schema:identifier ;
    owl:allValuesFrom xsd:integer
  ] , [
    a owl:Restriction ;
    owl:onProperty schema:identifier ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty schema:object ;
    owl:allValuesFrom schema:Role
  ] , [
    a owl:Class ;
    owl:unionOf ( opencloning_linkml:AnnotationSource opencloning_linkml:AssemblySource opencloning_linkml:CollectionSource opencloning_linkml:DatabaseSource opencloning_linkml:ManuallyTypedSource opencloning_linkml:OligoHybridizationSource opencloning_linkml:PolymeraseExtensionSource opencloning_linkml:RepositoryIdSource opencloning_linkml:ReverseComplementSource opencloning_linkml:SequenceCutSource opencloning_linkml:UploadedFileSource )
  ] .

schema:Role a owl:Class ;
  rdfs:comment "Represents an input to a source" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:type ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:type ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:sequence ;
    owl:allValuesFrom bioschemas:DNA
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:sequence ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] .

opencloning_linkml:TemplateSequence a owl:Class ;
  rdfs:comment "Represents a sequence that is part of a template, where the actual sequence content will be determined by the user's actions" ;
  rdfs:subClassOf bioschemas:DNA , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:circular ;
    owl:allValuesFrom xsd:boolean
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:circular ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:primer_design ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:primer_design ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

opencloning_linkml:TextFileSequence a owl:Class ;
  rdfs:comment "A sequence (may have features) defined by the content of a text file" ;
  rdfs:subClassOf bioschemas:DNA , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:sequence_file_format ;
    owl:allValuesFrom opencloning_linkml:SequenceFileFormat
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:sequence_file_format ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:overhang_crick_3_prime ;
    owl:allValuesFrom xsd:integer
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:overhang_crick_3_prime ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:overhang_watson_3_prime ;
    owl:allValuesFrom xsd:integer
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:overhang_watson_3_prime ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:file_content ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:file_content ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

opencloning_linkml:UploadedFileSource a owl:Class ;
  rdfs:comment "Represents the source of a sequence that is uploaded as a file" ;
  rdfs:subClassOf schema:CreateAction , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:sequence_file_format ;
    owl:allValuesFrom opencloning_linkml:SequenceFileFormat
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:sequence_file_format ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:circularize ;
    owl:allValuesFrom xsd:boolean
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:circularize ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:coordinates ;
    owl:allValuesFrom [
      a rdfs:Datatype ;
      owl:onDatatype xsd:string ;
      owl:withRestrictions ( _:o237 )
    ]
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:coordinates ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:file_name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:file_name ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:index_in_file ;
    owl:allValuesFrom xsd:integer
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:index_in_file ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

_:o237 xsd:pattern "(\\d+)\\.\\.(\\d+)" .

opencloning_linkml:WekWikGeneIdSource a owl:Class ;
  rdfs:comment "Represents the source of a sequence that is identified by a WeKwikGene id" ;
  rdfs:subClassOf opencloning_linkml:RepositoryIdSource , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:sequence_file_url ;
    owl:allValuesFrom [
      a rdfs:Datatype ;
      owl:onDatatype xsd:string ;
      owl:withRestrictions ( _:o245 )
    ]
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:sequence_file_url ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty opencloning_linkml:repository_id ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] .

_:o245 xsd:pattern "https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)" .

schema:identifier a owl:DatatypeProperty ;
  rdfs:comment "The id of an entity in a database" ;
  rdfs:range xsd:integer ;
  a owl:FunctionalProperty .

schema:name a owl:DatatypeProperty ;
  rdfs:comment "A human-readable name for a thing" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

opencloning_linkml:output_name a owl:DatatypeProperty ;
  rdfs:comment "Used to specify the name of the output sequence" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

opencloning_linkml:overhang_crick_3_prime a owl:DatatypeProperty ;
  rdfs:comment "Taken from pydna's `dseq::ovhg`An integer describing the length of the crick strand overhang in the 5' of the molecule, or 3' of the crick strand" ;
  rdfs:range xsd:integer ;
  a owl:FunctionalProperty .

opencloning_linkml:overhang_watson_3_prime a owl:DatatypeProperty ;
  rdfs:comment "The equivalent of `overhang_crick_3prime` but for the watson strand" ;
  rdfs:range xsd:integer ;
  a owl:FunctionalProperty .

opencloning_linkml:repository_id a owl:DatatypeProperty ;
  rdfs:comment "The id of the sequence in the repository" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

opencloning_linkml:restriction_enzyme a owl:DatatypeProperty ;
  skos:exactMatch OBI:0000732 ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

opencloning_linkml:restriction_enzymes a owl:DatatypeProperty ;
  skos:exactMatch OBI:0000732 ;
  rdfs:range xsd:string .

opencloning_linkml:sequence_file_format a owl:ObjectProperty ;
  rdfs:comment "The format of a sequence file" ;
  rdfs:range opencloning_linkml:SequenceFileFormat ;
  a owl:FunctionalProperty .

opencloning_linkml:sequence_file_url a owl:DatatypeProperty ;
  rdfs:comment "The URL of a sequence file" ;
  rdfs:range [
    a rdfs:Datatype ;
    owl:onDatatype xsd:string ;
    owl:withRestrictions ( _:o249 )
  ] ;
  a owl:FunctionalProperty .

_:o249 xsd:pattern "https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)" .

opencloning_linkml:type a owl:ObjectProperty ;
  rdfs:comment "Designates the class" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

opencloning_linkml:addgene_sequence_type a owl:ObjectProperty ;
  rdfs:range opencloning_linkml:AddgeneSequenceType ;
  a owl:FunctionalProperty .

opencloning_linkml:annotation_report a owl:ObjectProperty ;
  rdfs:range opencloning_linkml:AnnotationReport .

opencloning_linkml:annotation_tool a owl:ObjectProperty ;
  rdfs:range opencloning_linkml:AnnotationTool ;
  a owl:FunctionalProperty .

opencloning_linkml:annotation_tool_version a owl:DatatypeProperty ;
  rdfs:comment "The version of the annotation tool" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

opencloning_linkml:left_location a owl:DatatypeProperty ;
  rdfs:range [
    a rdfs:Datatype ;
    owl:onDatatype xsd:string ;
    owl:withRestrictions ( _:o251 )
  ] ;
  a owl:FunctionalProperty .

_:o251 xsd:pattern "(\\d+)\\.\\.(\\d+)" .

opencloning_linkml:reverse_complemented a owl:DatatypeProperty ;
  rdfs:comment "Whether the sequence is reverse complemented in the assembly" ;
  rdfs:range xsd:boolean ;
  a owl:FunctionalProperty .

opencloning_linkml:right_location a owl:DatatypeProperty ;
  rdfs:range [
    a rdfs:Datatype ;
    owl:onDatatype xsd:string ;
    owl:withRestrictions ( _:o253 )
  ] ;
  a owl:FunctionalProperty .

_:o253 xsd:pattern "(\\d+)\\.\\.(\\d+)" .

opencloning_linkml:circular a owl:DatatypeProperty ;
  rdfs:comment "Whether the assembly is circular or not" ;
  rdfs:range xsd:boolean ;
  a owl:FunctionalProperty .

opencloning_linkml:file_name a owl:DatatypeProperty ;
  rdfs:comment "The name of the file" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

opencloning_linkml:file_type a owl:ObjectProperty ;
  rdfs:comment "The type of file" ;
  rdfs:range opencloning_linkml:AssociatedFileType ;
  a owl:FunctionalProperty .

opencloning_linkml:sequence_id a owl:ObjectProperty ;
  rdfs:comment "The sequence this file is associated with" ;
  rdfs:range bioschemas:DNA ;
  a owl:FunctionalProperty .

opencloning_linkml:backend_version a owl:DatatypeProperty ;
  rdfs:comment "The version of the backend that was used to generate this cloning strategy" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

opencloning_linkml:description a owl:DatatypeProperty ;
  rdfs:comment "A description of the cloning strategy" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

opencloning_linkml:files a owl:ObjectProperty ;
  rdfs:comment "Files associated with this cloning strategy" ;
  rdfs:range opencloning_linkml:AssociatedFile .

opencloning_linkml:frontend_version a owl:DatatypeProperty ;
  rdfs:comment "The version of the frontend that was used to generate this cloning strategy" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

opencloning_linkml:primers a owl:ObjectProperty ;
  rdfs:comment "The primers that are used in the cloning strategy" ;
  rdfs:range opencloning_linkml:Primer .

opencloning_linkml:schema_version a owl:DatatypeProperty ;
  rdfs:comment "The version of the schema that was used to generate this cloning strategy" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

opencloning_linkml:sequences a owl:ObjectProperty ;
  rdfs:comment "The sequences that are used in the cloning strategy" ;
  rdfs:range bioschemas:DNA .

opencloning_linkml:sources a owl:ObjectProperty ;
  rdfs:comment "The sources of the sequences that are used in the cloning strategy" ;
  rdfs:range schema:CreateAction .

opencloning_linkml:info a owl:ObjectProperty ;
  rdfs:comment "Additional information about this option" ;
  rdfs:range opencloning_linkml:CollectionOptionInfo ;
  a owl:FunctionalProperty .

opencloning_linkml:source a owl:ObjectProperty ;
  rdfs:comment "The source of the sequence for this option" ;
  rdfs:range schema:CreateAction ;
  a owl:FunctionalProperty .

opencloning_linkml:resistance a owl:DatatypeProperty ;
  rdfs:comment "The antibiotic resistance of the plasmid" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

opencloning_linkml:well a owl:DatatypeProperty ;
  rdfs:comment "The well position in the kit plate" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

opencloning_linkml:category_id a owl:DatatypeProperty ;
  rdfs:comment "The identifier of the category of the part in the template" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

opencloning_linkml:image a owl:DatatypeProperty ;
  rdfs:comment "URL and size of the image representing this category. For images with size specification, this is a list with two elements: [url, size]." ;
  rdfs:range xsd:string .

opencloning_linkml:options a owl:ObjectProperty ;
  rdfs:comment "The options available in this category." ;
  rdfs:range opencloning_linkml:CollectionOption .

opencloning_linkml:title a owl:DatatypeProperty ;
  rdfs:comment "The title of the category" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

opencloning_linkml:greedy a owl:DatatypeProperty ;
  rdfs:comment "Whether to use a greedy consensus sequence for att sites (see https://github.com/manulera/GateWayMine)" ;
  rdfs:range xsd:boolean ;
  a owl:FunctionalProperty .

opencloning_linkml:reaction_type a owl:ObjectProperty ;
  rdfs:range opencloning_linkml:GatewayReactionType ;
  a owl:FunctionalProperty .

opencloning_linkml:assembly_accession a owl:DatatypeProperty ;
  rdfs:comment "The accession of the assembly" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

opencloning_linkml:gene_id a owl:DatatypeProperty ;
  rdfs:comment "The gene id of the sequence" ;
  rdfs:range xsd:integer ;
  a owl:FunctionalProperty .

opencloning_linkml:locus_tag a owl:DatatypeProperty ;
  rdfs:comment "The locus tag of the sequence" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

opencloning_linkml:sequence a owl:ObjectProperty ;
  rdfs:comment "The sequence of the manually typed sequence" ;
  a owl:FunctionalProperty .

opencloning_linkml:coordinates a owl:DatatypeProperty ;
  rdfs:comment "If provided, represents the location of a subsequence within the sequence identified by the sequence accession." ;
  a owl:FunctionalProperty .

opencloning_linkml:add_primer_features a owl:DatatypeProperty ;
  rdfs:comment "Whether to add primer features to the PCR product" ;
  rdfs:range xsd:boolean ;
  a owl:FunctionalProperty .

opencloning_linkml:feature a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

opencloning_linkml:database a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

opencloning_linkml:end_location a owl:DatatypeProperty ;
  rdfs:range xsd:integer ;
  a owl:FunctionalProperty .

opencloning_linkml:fragment a owl:DatatypeProperty ;
  rdfs:range xsd:boolean ;
  a owl:FunctionalProperty .

opencloning_linkml:full_length_of_feature_in_db a owl:DatatypeProperty ;
  rdfs:range xsd:integer ;
  a owl:FunctionalProperty .

opencloning_linkml:length_of_found_feature a owl:DatatypeProperty ;
  rdfs:range xsd:integer ;
  a owl:FunctionalProperty .

opencloning_linkml:percent_identity a owl:DatatypeProperty ;
  rdfs:range xsd:float ;
  a owl:FunctionalProperty .

opencloning_linkml:percent_match_length a owl:DatatypeProperty ;
  rdfs:range xsd:float ;
  a owl:FunctionalProperty .

opencloning_linkml:sseqid a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

opencloning_linkml:start_location a owl:DatatypeProperty ;
  rdfs:range xsd:integer ;
  a owl:FunctionalProperty .

opencloning_linkml:strand a owl:DatatypeProperty ;
  rdfs:range xsd:integer ;
  a owl:FunctionalProperty .

opencloning_linkml:site_1 a owl:DatatypeProperty ;
  rdfs:range [
    a rdfs:Datatype ;
    owl:onDatatype xsd:string ;
    owl:withRestrictions ( _:o255 )
  ] ;
  a owl:FunctionalProperty .

_:o255 xsd:pattern "[A-Z]+[a-z]+[A-Z]+" .

opencloning_linkml:site_1_name a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

opencloning_linkml:site_2 a owl:DatatypeProperty ;
  rdfs:range [
    a rdfs:Datatype ;
    owl:onDatatype xsd:string ;
    owl:withRestrictions ( _:o257 )
  ] ;
  a owl:FunctionalProperty .

_:o257 xsd:pattern "[A-Z]+[a-z]+[A-Z]+" .

opencloning_linkml:site_2_name a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

opencloning_linkml:recombinases a owl:ObjectProperty ;
  rdfs:range opencloning_linkml:Recombinase .

opencloning_linkml:left_edge a owl:ObjectProperty , owl:FunctionalProperty .

opencloning_linkml:right_edge a owl:ObjectProperty , owl:FunctionalProperty .

opencloning_linkml:cut_watson a owl:DatatypeProperty ;
  rdfs:comment "The position of the cut in the watson strand. The cut is made before the base at this position (zero-based), so that cut position 1 cuts after the first base." ;
  rdfs:range xsd:integer ;
  a owl:FunctionalProperty .

opencloning_linkml:overhang a owl:DatatypeProperty ;
  rdfs:comment "The length of the overhang that is left after the cut. It can be negative, same meaning as in pydna's `dseq::ovhg` and biopython's `Bio.Restriction.RestrictionType.ovhg`." ;
  rdfs:range xsd:integer ;
  a owl:FunctionalProperty .

opencloning_linkml:alignment a owl:DatatypeProperty ;
  rdfs:comment "The alignment of the sequencing read to the sequence. List of strings representing aligned sequences." ;
  rdfs:range xsd:string .

schema:object a owl:ObjectProperty ;
  rdfs:comment "The inputs to this source. If the source represents external import of a sequence, it's empty." ;
  rdfs:range schema:Role .

opencloning_linkml:primer_design a owl:DatatypeProperty ;
  rdfs:comment "Can be used to indicate the intended primer design for this sequence in the template" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

opencloning_linkml:file_content a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

opencloning_linkml:circularize a owl:DatatypeProperty ;
  rdfs:comment "Whether the sequence should be circularized (FASTA only)" ;
  rdfs:range xsd:boolean ;
  a owl:FunctionalProperty .

opencloning_linkml:index_in_file a owl:DatatypeProperty ;
  rdfs:comment "The index of the sequence in the file" ;
  rdfs:range xsd:integer ;
  a owl:FunctionalProperty .

opencloning_linkml:AddgeneSequenceType a owl:Class ;
  owl:equivalentClass [
    a owl:Class ;
    owl:oneOf ( opencloning_linkml:AddgeneSequenceType.ADDGENE_FULL opencloning_linkml:AddgeneSequenceType.DEPOSITOR_FULL )
  ] .

opencloning_linkml:AddgeneSequenceType.ADDGENE_FULL a owl:NamedIndividual ;
  skos:notation "addgene-full" ;
  rdfs:comment "Full sequence of the plasmid performed by Addgene" ;
  a opencloning_linkml:AddgeneSequenceType .

opencloning_linkml:AddgeneSequenceType.DEPOSITOR_FULL a owl:NamedIndividual ;
  skos:notation "depositor-full" ;
  rdfs:comment "Full sequence of the plasmid submitted by the depositor" ;
  a opencloning_linkml:AddgeneSequenceType .

opencloning_linkml:AnnotationTool a owl:Class ;
  owl:equivalentClass [
    a owl:Class ;
    owl:oneOf ( opencloning_linkml:AnnotationTool.PLANNOTATE )
  ] .

opencloning_linkml:AnnotationTool.PLANNOTATE a owl:NamedIndividual ;
  skos:notation "plannotate" ;
  a opencloning_linkml:AnnotationTool .

opencloning_linkml:AssociatedFileType a owl:Class ;
  owl:equivalentClass [
    a owl:Class ;
    owl:oneOf ( NCIT:C171177 )
  ] .

NCIT:C171177 a owl:NamedIndividual ;
  skos:notation "Sequencing file" ;
  rdfs:comment "A file containing sequencing data" ;
  a opencloning_linkml:AssociatedFileType .

opencloning_linkml:Collection a owl:Class ;
  owl:equivalentClass [
    a owl:Class ;
    owl:oneOf ( opencloning_linkml:Collection.ADDGENE_PLASMID opencloning_linkml:Collection.OLIGO_PAIR )
  ] .

opencloning_linkml:Collection.ADDGENE_PLASMID a owl:NamedIndividual ;
  skos:notation "AddgenePlasmid" ;
  rdfs:comment "A plasmid from Addgene" ;
  a opencloning_linkml:Collection .

opencloning_linkml:Collection.OLIGO_PAIR a owl:NamedIndividual ;
  skos:notation "OligoPair" ;
  rdfs:comment "A pair of oligonucleotides for hybridization" ;
  a opencloning_linkml:Collection .

opencloning_linkml:CollectionOptionType a owl:Class ;
  owl:equivalentClass [
    a owl:Class ;
    owl:oneOf ( opencloning_linkml:CollectionOptionType.ADDGENE_PLASMID opencloning_linkml:CollectionOptionType.OLIGO_PAIR )
  ] .

opencloning_linkml:CollectionOptionType.ADDGENE_PLASMID a owl:NamedIndividual ;
  skos:notation "AddgenePlasmid" ;
  rdfs:comment "A plasmid from Addgene" ;
  a opencloning_linkml:CollectionOptionType .

opencloning_linkml:CollectionOptionType.OLIGO_PAIR a owl:NamedIndividual ;
  skos:notation "OligoPair" ;
  rdfs:comment "A pair of oligonucleotides for hybridization" ;
  a opencloning_linkml:CollectionOptionType .

opencloning_linkml:GatewayReactionType a owl:Class ;
  owl:equivalentClass [
    a owl:Class ;
    owl:oneOf ( opencloning_linkml:GatewayReactionType.BP opencloning_linkml:GatewayReactionType.LR )
  ] .

opencloning_linkml:GatewayReactionType.BP a owl:NamedIndividual ;
  skos:notation "BP" ;
  rdfs:comment "BP reaction" ;
  a opencloning_linkml:GatewayReactionType .

opencloning_linkml:GatewayReactionType.LR a owl:NamedIndividual ;
  skos:notation "LR" ;
  rdfs:comment "LR reaction" ;
  a opencloning_linkml:GatewayReactionType .

opencloning_linkml:SequenceFileFormat a owl:Class ;
  owl:equivalentClass [
    a owl:Class ;
    owl:oneOf ( opencloning_linkml:SequenceFileFormat.EMBL opencloning_linkml:SequenceFileFormat.FASTA opencloning_linkml:SequenceFileFormat.GENBANK opencloning_linkml:SequenceFileFormat.SNAPGENE )
  ] .

opencloning_linkml:SequenceFileFormat.EMBL a owl:NamedIndividual ;
  skos:notation "embl" ;
  a opencloning_linkml:SequenceFileFormat .

opencloning_linkml:SequenceFileFormat.FASTA a owl:NamedIndividual ;
  skos:notation "fasta" ;
  a opencloning_linkml:SequenceFileFormat .

opencloning_linkml:SequenceFileFormat.GENBANK a owl:NamedIndividual ;
  skos:notation "genbank" ;
  a opencloning_linkml:SequenceFileFormat .

opencloning_linkml:SequenceFileFormat.SNAPGENE a owl:NamedIndividual ;
  skos:notation "snapgene" ;
  a opencloning_linkml:SequenceFileFormat .

dcterms:license a owl:AnnotationProperty .

vann:preferredNamespacePrefix a owl:AnnotationProperty .

vann:preferredNamespaceUri a owl:AnnotationProperty .

skos:exactMatch a owl:AnnotationProperty .

skos:notation a owl:AnnotationProperty .

sh:declare a owl:AnnotationProperty .

sh:prefix a owl:AnnotationProperty .

sh:namespace a owl:AnnotationProperty .
