From 27bba94bd2a51d43bf77fa30a4a346246c8bcec3 Mon Sep 17 00:00:00 2001 From: Manuel Lera-Ramirez Date: Thu, 27 Nov 2025 11:50:07 +0000 Subject: [PATCH 1/5] closes https://github.com/manulera/OpenCloning_backend/issues/371 --- project/excel/opencloning_linkml.xlsx | Bin 30966 -> 30966 bytes .../jsonld/opencloning_linkml.context.jsonld | 2 +- project/jsonld/opencloning_linkml.jsonld | 8 +- .../jsonschema/opencloning_linkml.schema.json | 2 +- project/owl/opencloning_linkml.owl.ttl | 942 +++++----- project/python/opencloning_linkml.py | 6 +- project/shacl/opencloning_linkml.shacl.ttl | 1656 ++++++++--------- src/opencloning_linkml/datamodel/_models.py | 5 +- .../schema/opencloning_linkml.yaml | 1 + 9 files changed, 1310 insertions(+), 1312 deletions(-) diff --git a/project/excel/opencloning_linkml.xlsx b/project/excel/opencloning_linkml.xlsx index 847e515e2bfe28093beff58a59444ce2b88ba34f..a041bc00108a8fa2424172a48fbb0023b73bbe44 100644 GIT binary patch delta 1445 zcmezNk@4F{M&1B#W)=|!1_llWi@55EylVx4RP^-p_+#&Yf~Of77z8H=W{K2Ko#^X- z*np?)|EVd}ua`+XckhZZD`evA^i;?Te3UDCwq0m(+5dUla_$PmSR8x*`1rPR6?xCPtBxx+N~IcBdXLDtI-EE3fNn<+pOivuoxnybvikt9SBs&E~td29aV< zV~X@)}VP;CSQz^+gvH}1R|Fpbr!-fkZ}duF*!y@W%C?4X^4fp6iOkY9}QGChbim8 zIg|bJ**33NRYU0cqYlvnHo#5`YCw#RJxq`4=EHj0V9w@`1_4ZbAQ$nMez#i?!zpN4)-dF+sE6fD+ujJ+(!CnyY z-6yvi-35xPv4X`lL*GI)N`}iqY_kne-5eKL%*YE0wZ*cbA_st~Crvg02HKCP3t+{I zPscz)_gq{RM3Z;oGjOsoNqWl+W~ih+g_z5e@dC`4{5{i}17sv9KTfvFG6yM}T#{u6 zrnhD}gX!N;+A$l#Z->%np|o%gL_88o&xg`ap|p0c3)q|@D7_OxPs)P`f6SMjoRp^t zR?-I*t1pnA`~fNkVw>kf%Bt7|Wp(Z$+KoXQfiRfgPB8aMjB8X0qs!MP&>B*ACFnQ_82}tbaNbGk|wp0nk zj6^66GV5>&LO)k2gl$#|QTL!sdh!gY*b%50cNs)32uja{(hs1tdO1Ws4@z$>w*ZIg VhjKG8tyy6Orqe21!SuQc4*(0Z6Dt4! delta 1445 zcmezNk@4F{M&1B#W)=|!1_lm>?vSd9ylVx4RCIjInc#Oo!PATk41$vbvqb8rPV~(_ zY{1j@-|M4o;G7FGKC@0A^V8)CyK&>}jVx)g`h;wizu${DnZ3QCXC3u^vAa;-6!BB6 zHGJoi7w|pKGTGbf^pn?Gu#!>WDrav`rBV(Tzn+BWOUb?mOMgvpZ`q`gW#AFyJ;{L6 zc)!F=*OgZneVM;-K5G=?w~PxxEc1$Y)NgD#c*I`%S&HKE8@g8vczy<)jk(ov_;%iJ zBmMcMW|OvXMc&R(4RP?)+j80UpUpSkJEF5szj@E}Ds+~@i#LUb*PYD%`e8?XQf}mw z*FB%ttogo2AXN9quiB!&FZOfxUcS5V_xz1(-t~k#-afFtK6^g{N~lE7jM;pb(VC4J z7&M!uIkFkSj84vp5QZ$bDic`5m3In6;$LC7wX!5~R*T7zQ$~U^^zq=%{R-BPR{9aF;?UMD(M9%H}X- z9XMyQUq0LB^{Q$JJ%7|8dcX$QX+aH$(Xof=QQdr4PaDkH{LvtQi4Wu={?hMutAR-% zjAgQ+snq67<6RKfsF|(=GbXE|s?8@l~=%dVj;@LU*~% z@2n?46gJu}fhknk>|@^m=S(&zX50MJ0TOtV8*NoK&vHVN-3OF)cR`YU;R=!6obA2| zVzh#%6vRUy&57O!&6_!Vp=!JR)aWz)3xMt{Eh(^h9S%_`60jithB8wS$L7}!-HdN#QQ1ztA2Eai35p@Bq zc=72NNa&u6tAc3qPJ9MVHYQ1LnZXQ|w5Jerc`{yr8I!+fT62Jm1m(xcR$1mCWs^&? z?7;NaEN3wN8%jH7L-_4b`Ye{0|#RZs-c2~u?lE+#!$vKS^WJvjl1y&Q@C4$77) zftZm9r9oyLE^nNa!xlvXc?$mc=nt>qTr XQ2kJD2BtMDtiW_yg)5j|SK$EwA5b?p diff --git a/project/jsonld/opencloning_linkml.context.jsonld b/project/jsonld/opencloning_linkml.context.jsonld index b1baea7..e092a90 100644 --- a/project/jsonld/opencloning_linkml.context.jsonld +++ b/project/jsonld/opencloning_linkml.context.jsonld @@ -1,7 +1,7 @@ { "comments": { "description": "Auto generated by LinkML jsonld context generator", - "generation_date": "2025-11-26T10:36:02", + "generation_date": "2025-11-27T11:49:42", "source": "opencloning_linkml.yaml" }, "@context": { diff --git a/project/jsonld/opencloning_linkml.jsonld b/project/jsonld/opencloning_linkml.jsonld index eafc8fa..afcb601 100644 --- a/project/jsonld/opencloning_linkml.jsonld +++ b/project/jsonld/opencloning_linkml.jsonld @@ -2080,7 +2080,7 @@ "usage_slot_name": "sequence_file_url", "range": "string", "required": true, - "pattern": "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$", + "pattern": "^.*.gb$", "@type": "SlotDefinition" }, { @@ -3541,9 +3541,9 @@ ], "metamodel_version": "1.7.0", "source_file": "opencloning_linkml.yaml", - "source_file_date": "2025-11-26T10:35:56", - "source_file_size": 26028, - "generation_date": "2025-11-26T10:36:03", + "source_file_date": "2025-11-27T11:48:18", + "source_file_size": 26053, + "generation_date": "2025-11-27T11:49:42", "@type": "SchemaDefinition", "@context": [ "project/jsonld/opencloning_linkml.context.jsonld", diff --git a/project/jsonschema/opencloning_linkml.schema.json b/project/jsonschema/opencloning_linkml.schema.json index f670e1e..66e1691 100644 --- a/project/jsonschema/opencloning_linkml.schema.json +++ b/project/jsonschema/opencloning_linkml.schema.json @@ -1479,7 +1479,7 @@ }, "sequence_file_url": { "description": "The URL of the sequence file, for now github repository", - "pattern": "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$", + "pattern": "^.*.gb$", "type": "string" }, "type": { diff --git a/project/owl/opencloning_linkml.owl.ttl b/project/owl/opencloning_linkml.owl.ttl index 979c248..61f8c45 100644 --- a/project/owl/opencloning_linkml.owl.ttl +++ b/project/owl/opencloning_linkml.owl.ttl @@ -15,29 +15,41 @@ opencloning_linkml:CloningStrategy a owl:Class, linkml:ClassDefinition ; rdfs:label "CloningStrategy" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:Sequence ; - owl:onProperty opencloning_linkml:sequences ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:version_number ; - owl:onProperty opencloning_linkml:frontend_version ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:description ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:AssociatedFile ; + owl:onProperty opencloning_linkml:files ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:frontend_version ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:description ], + owl:allValuesFrom opencloning_linkml:Source ; + owl:onProperty opencloning_linkml:sources ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:description ], + owl:onProperty opencloning_linkml:backend_version ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:primers ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:version_number ; owl:onProperty opencloning_linkml:backend_version ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:backend_version ], + owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:version_number ; - owl:onProperty opencloning_linkml:schema_version ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:files ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:sources ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:frontend_version ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:schema_version ], @@ -45,35 +57,23 @@ opencloning_linkml:CloningStrategy a owl:Class, owl:allValuesFrom opencloning_linkml:Primer ; owl:onProperty opencloning_linkml:primers ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:description ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:files ], + owl:allValuesFrom opencloning_linkml:version_number ; + owl:onProperty opencloning_linkml:schema_version ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom opencloning_linkml:version_number ; owl:onProperty opencloning_linkml:frontend_version ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:schema_version ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:Source ; - owl:onProperty opencloning_linkml:sources ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:sources ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:backend_version ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:AssociatedFile ; - owl:onProperty opencloning_linkml:files ], - [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom opencloning_linkml:Sequence ; owl:onProperty opencloning_linkml:sequences ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:primers ] ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:sequences ] ; skos:definition "Represents a cloning strategy" ; skos:inScheme . @@ -91,32 +91,32 @@ opencloning_linkml:CollectionOption a owl:Class, linkml:ClassDefinition ; rdfs:label "CollectionOption" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:name ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:info ], - [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:CollectionOptionInfo ; owl:onProperty opencloning_linkml:info ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:name ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:Source ; owl:onProperty opencloning_linkml:source ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:info ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:Source ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:source ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:source ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:name ] ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:name ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:info ] ; skos:definition "Represents an option in a collection" ; skos:inScheme . @@ -124,7 +124,13 @@ opencloning_linkml:CollectionOptionInfo a owl:Class, linkml:ClassDefinition ; rdfs:label "CollectionOptionInfo" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:name ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:description ], + [ a owl:Restriction ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:resistance ], [ a owl:Restriction ; owl:maxCardinality 1 ; @@ -135,39 +141,33 @@ opencloning_linkml:CollectionOptionInfo a owl:Class, [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:CollectionOptionType ; owl:onProperty opencloning_linkml:type ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:well ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:description ], + owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:name ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:resistance ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:resistance ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:type ], + owl:onProperty opencloning_linkml:well ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:well ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:description ], + owl:onProperty opencloning_linkml:resistance ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:well ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:name ] ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:description ] ; skos:definition "Additional information about a collection option" ; skos:inScheme . @@ -175,7 +175,10 @@ opencloning_linkml:AddgeneIdSource a owl:Class, linkml:ClassDefinition ; rdfs:label "AddgeneIdSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:addgene_sequence_type ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:AddgeneSequenceType ; owl:onProperty opencloning_linkml:addgene_sequence_type ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; @@ -183,18 +186,15 @@ opencloning_linkml:AddgeneIdSource a owl:Class, owl:onDatatype xsd:string ; owl:withRestrictions ( [ xsd:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; owl:onProperty opencloning_linkml:sequence_file_url ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:AddgeneSequenceType ; - owl:onProperty opencloning_linkml:addgene_sequence_type ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_file_url ], - [ a owl:Restriction ; - owl:minCardinality 0 ; owl:onProperty opencloning_linkml:addgene_sequence_type ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_file_url ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence that is identified by an Addgene id" ; skos:inScheme . @@ -213,29 +213,29 @@ opencloning_linkml:AnnotationSource a owl:Class, linkml:ClassDefinition ; rdfs:label "AnnotationSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:AnnotationTool ; - owl:onProperty opencloning_linkml:annotation_tool ], - [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom opencloning_linkml:AnnotationReport ; owl:onProperty opencloning_linkml:annotation_report ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:annotation_tool_version ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:annotation_tool ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:annotation_report ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:AnnotationTool ; owl:onProperty opencloning_linkml:annotation_tool ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:annotation_tool_version ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:annotation_tool_version ], + owl:onProperty opencloning_linkml:annotation_tool ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:AnnotationReport ; - owl:onProperty opencloning_linkml:annotation_report ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:annotation_tool_version ], opencloning_linkml:Source ; skos:definition "Represents a computational step in which sequence features are annotated in a sequence" ; skos:inScheme . @@ -244,32 +244,32 @@ opencloning_linkml:AssemblyFragment a owl:Class, linkml:ClassDefinition ; rdfs:label "AssemblyFragment" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:sequence_range ; - owl:onProperty opencloning_linkml:right_location ], - [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:right_location ], + owl:onProperty opencloning_linkml:left_location ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:left_location ], + owl:onProperty opencloning_linkml:right_location ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:reverse_complemented ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:sequence_range ; - owl:onProperty opencloning_linkml:left_location ], - [ a owl:Restriction ; - owl:minCardinality 0 ; owl:onProperty opencloning_linkml:right_location ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:left_location ], + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:reverse_complemented ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:reverse_complemented ], + owl:onProperty opencloning_linkml:right_location ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:left_location ], [ a owl:Restriction ; owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:reverse_complemented ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:sequence_range ; + owl:onProperty opencloning_linkml:left_location ], opencloning_linkml:SourceInput ; skos:definition "Represents a fragment in an assembly" ; skos:inScheme . @@ -278,13 +278,13 @@ opencloning_linkml:BenchlingUrlSource a owl:Class, linkml:ClassDefinition ; rdfs:label "BenchlingUrlSource" ; rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:repository_id ], + [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:onDatatype xsd:string ; owl:withRestrictions ( [ xsd:pattern "^https:\\/\\/benchling\\.com\\/.+\\.gb$" ] ) ] ; owl:onProperty opencloning_linkml:repository_id ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], @@ -324,34 +324,25 @@ opencloning_linkml:CollectionSource a owl:Class, rdfs:label "CollectionSource" ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:description ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:image ], + owl:onProperty opencloning_linkml:title ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:category_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:title ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:options ], + owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:category_id ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:title ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:title ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:CollectionOption ; - owl:onProperty opencloning_linkml:options ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:image ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:description ], + owl:onProperty opencloning_linkml:options ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:image ], @@ -360,6 +351,15 @@ opencloning_linkml:CollectionSource a owl:Class, owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:title ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:CollectionOption ; + owl:onProperty opencloning_linkml:options ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:description ], + [ a owl:Restriction ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:category_id ], opencloning_linkml:Source ; skos:definition "Represents a collection of possible sources in a template" ; @@ -376,13 +376,13 @@ opencloning_linkml:DatabaseSource a owl:Class, linkml:ClassDefinition ; rdfs:label "DatabaseSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:database_id ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is identified by a database id" ; @@ -420,22 +420,22 @@ opencloning_linkml:GatewaySource a owl:Class, linkml:ClassDefinition ; rdfs:label "GatewaySource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:GatewayReactionType ; - owl:onProperty opencloning_linkml:reaction_type ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:greedy ], - [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:greedy ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:reaction_type ], [ a owl:Restriction ; owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:greedy ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:greedy ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:GatewayReactionType ; + owl:onProperty opencloning_linkml:reaction_type ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:reaction_type ], opencloning_linkml:AssemblySource ; skos:definition "Represents the source of a sequence that is generated by Gateway cloning" ; @@ -445,68 +445,68 @@ opencloning_linkml:GenomeCoordinatesSource a owl:Class, linkml:ClassDefinition ; rdfs:label "GenomeCoordinatesSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:assembly_accession ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:start ], + [ a owl:Restriction ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:locus_tag ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:assembly_accession ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:end ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:start ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:sequence_accession ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:strand ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:end ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:sequence_accession ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:gene_id ], + owl:onProperty opencloning_linkml:strand ], [ a owl:Restriction ; owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:start ], + owl:onProperty opencloning_linkml:strand ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:assembly_accession ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:gene_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:gene_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:strand ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:assembly_accession ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:start ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:strand ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:locus_tag ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:end ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:assembly_accession ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:end ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:sequence_accession ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:strand ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:start ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:locus_tag ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:gene_id ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:end ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is identified by genome coordinates, requested from NCBI" ; skos:inScheme . @@ -524,11 +524,17 @@ opencloning_linkml:IGEMSource a owl:Class, rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; owl:onDatatype xsd:string ; - owl:withRestrictions ( [ xsd:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; + owl:withRestrictions ( [ xsd:pattern "^.*.gb$" ] ) ] ) ] ; + owl:onProperty opencloning_linkml:sequence_file_url ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; owl:minCardinality 1 ; @@ -536,12 +542,6 @@ opencloning_linkml:IGEMSource a owl:Class, [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:repository_id ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_file_url ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence from an iGEM collection" ; skos:inScheme . @@ -571,44 +571,44 @@ opencloning_linkml:ManuallyTypedSource a owl:Class, linkml:ClassDefinition ; rdfs:label "ManuallyTypedSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty opencloning_linkml:circular ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:user_input ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:overhang_watson_3prime ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:overhang_crick_3prime ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:user_input ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:circular ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:overhang_watson_3prime ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:circular ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; owl:onDatatype xsd:string ; owl:withRestrictions ( [ xsd:pattern "^[acgtACGT]+$" ] ) ] ) ] ; owl:onProperty opencloning_linkml:user_input ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:overhang_watson_3prime ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:circular ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:overhang_crick_3prime ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:user_input ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:overhang_watson_3prime ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:overhang_watson_3prime ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:user_input ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is manually typed by the user" ; skos:inScheme . @@ -632,14 +632,14 @@ opencloning_linkml:OligoHybridizationSource a owl:Class, linkml:ClassDefinition ; rdfs:label "OligoHybridizationSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:overhang_crick_3prime ], - [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:overhang_crick_3prime ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:overhang_crick_3prime ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is generated by oligo hybridization" ; skos:inScheme . @@ -648,26 +648,26 @@ opencloning_linkml:OpenDNACollectionsSource a owl:Class, linkml:ClassDefinition ; rdfs:label "OpenDNACollectionsSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], - [ a owl:Restriction ; - owl:allValuesFrom [ a rdfs:Datatype ; - owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; - owl:onDatatype xsd:string ; - owl:withRestrictions ( [ xsd:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; - owl:onProperty opencloning_linkml:sequence_file_url ], - [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_url ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom [ a rdfs:Datatype ; + owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; + owl:onDatatype xsd:string ; + owl:withRestrictions ( [ xsd:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; owl:onProperty opencloning_linkml:sequence_file_url ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:repository_id ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence from the Open DNA collections" ; skos:inScheme . @@ -686,10 +686,10 @@ opencloning_linkml:PCRSource a owl:Class, owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:add_primer_features ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:add_primer_features ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:add_primer_features ], opencloning_linkml:AssemblySource ; skos:definition "Represents the source of a sequence that is generated by PCR" ; @@ -699,131 +699,131 @@ opencloning_linkml:PlannotateAnnotationReport a owl:Class, linkml:ClassDefinition ; rdfs:label "PlannotateAnnotationReport" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:sequence ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty opencloning_linkml:fragment ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:Type ], + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:start_location ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:strand ], + owl:onProperty opencloning_linkml:percent_match_length ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence ], + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:length_of_found_feature ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:sseqid ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:start_location ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:percent_identity ], + owl:onProperty opencloning_linkml:end_location ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:Feature ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Float ; + owl:onProperty opencloning_linkml:percent_identity ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:fragment ], + owl:onProperty opencloning_linkml:length_of_found_feature ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:Description ], + owl:onProperty opencloning_linkml:start_location ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:strand ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:length_of_found_feature ], + owl:onProperty opencloning_linkml:Description ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], + owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:length_of_found_feature ], + owl:onProperty opencloning_linkml:percent_match_length ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:Description ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:start_location ], + owl:onProperty opencloning_linkml:database ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:fragment ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:Feature ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:end_location ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Float ; - owl:onProperty opencloning_linkml:percent_identity ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:end_location ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:Type ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:length_of_found_feature ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:strand ], + owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:percent_match_length ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sseqid ], + owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:Type ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:sseqid ], + owl:onProperty opencloning_linkml:fragment ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:Feature ], + owl:onProperty opencloning_linkml:percent_identity ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:database ], + owl:onProperty opencloning_linkml:strand ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:Feature ], + owl:onProperty opencloning_linkml:Description ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:Type ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:sequence ], + owl:onProperty opencloning_linkml:Type ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:percent_match_length ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:sseqid ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Float ; - owl:onProperty opencloning_linkml:percent_match_length ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:database ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty opencloning_linkml:fragment ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:sseqid ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:Type ], + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:end_location ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:end_location ], + owl:onProperty opencloning_linkml:Feature ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:percent_identity ], + owl:onProperty opencloning_linkml:sseqid ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:database ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:strand ], + owl:allValuesFrom linkml:Float ; + owl:onProperty opencloning_linkml:percent_match_length ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:start_location ], + owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:database ], + owl:onProperty opencloning_linkml:strand ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:Description ], + owl:onProperty opencloning_linkml:percent_identity ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:start_location ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:Description ], opencloning_linkml:AnnotationReport ; skos:definition "Represents a report of an annotation step using Plannotate" ; skos:inScheme . @@ -897,23 +897,23 @@ opencloning_linkml:RestrictionEnzymeDigestionSource a owl:Class, linkml:ClassDefinition ; rdfs:label "RestrictionEnzymeDigestionSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:RestrictionSequenceCut ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:left_edge ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:right_edge ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:RestrictionSequenceCut ; - owl:onProperty opencloning_linkml:right_edge ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:left_edge ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom opencloning_linkml:RestrictionSequenceCut ; + owl:onProperty opencloning_linkml:left_edge ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:RestrictionSequenceCut ; owl:onProperty opencloning_linkml:right_edge ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:left_edge ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:right_edge ], opencloning_linkml:SequenceCutSource ; skos:definition "Represents the source of a sequence that is a subfragment of another sequence, generated by sequence cutting using restriction enzymes." ; skos:inScheme . @@ -922,13 +922,13 @@ opencloning_linkml:RestrictionSequenceCut a owl:Class, linkml:ClassDefinition ; rdfs:label "RestrictionSequenceCut" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:restriction_enzyme ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:restriction_enzyme ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:restriction_enzyme ], opencloning_linkml:SequenceCut ; skos:definition "Represents a cut in a DNA sequence that is made by a restriction enzyme" ; @@ -950,15 +950,6 @@ opencloning_linkml:SEVASource a owl:Class, [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:sequence_file_url ], - [ a owl:Restriction ; - owl:allValuesFrom [ a rdfs:Datatype ; - owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; - owl:onDatatype xsd:string ; - owl:withRestrictions ( [ xsd:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; - owl:onProperty opencloning_linkml:sequence_file_url ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:onDatatype xsd:string ; @@ -967,6 +958,15 @@ opencloning_linkml:SEVASource a owl:Class, [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:repository_id ], + [ a owl:Restriction ; + owl:allValuesFrom [ a rdfs:Datatype ; + owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; + owl:onDatatype xsd:string ; + owl:withRestrictions ( [ xsd:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; + owl:onProperty opencloning_linkml:sequence_file_url ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence that is identified by a SEVA id" ; skos:inScheme . @@ -1008,15 +1008,15 @@ opencloning_linkml:SnapGenePlasmidSource a owl:Class, linkml:ClassDefinition ; rdfs:label "SnapGenePlasmidSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom [ a rdfs:Datatype ; - owl:onDatatype xsd:string ; - owl:withRestrictions ( [ xsd:pattern "^.+\\/.+$" ] ) ] ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom [ a rdfs:Datatype ; + owl:onDatatype xsd:string ; + owl:withRestrictions ( [ xsd:pattern "^.+\\/.+$" ] ) ] ; owl:onProperty opencloning_linkml:repository_id ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence from the SnapGene plasmid library identified by a SnapGene subpath of https://www.snapgene.com/plasmids/" ; @@ -1026,22 +1026,22 @@ opencloning_linkml:TemplateSequence a owl:Class, linkml:ClassDefinition ; rdfs:label "TemplateSequence" ; rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:primer_design ], + [ a owl:Restriction ; owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:circular ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:circular ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:primer_design ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:primer_design ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:circular ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:circular ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:primer_design ], opencloning_linkml:Sequence ; skos:definition "Represents a sequence that is part of a template, where the actual sequence content will be determined by the user's actions" ; @@ -1051,16 +1051,7 @@ opencloning_linkml:TextFileSequence a owl:Class, linkml:ClassDefinition ; rdfs:label "TextFileSequence" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:overhang_watson_3prime ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:overhang_crick_3prime ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:overhang_crick_3prime ], - [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:file_content ], [ a owl:Restriction ; owl:minCardinality 1 ; @@ -1069,22 +1060,31 @@ opencloning_linkml:TextFileSequence a owl:Class, owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_format ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:file_content ], + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:SequenceFileFormat ; - owl:onProperty opencloning_linkml:sequence_file_format ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:file_content ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:overhang_watson_3prime ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom opencloning_linkml:SequenceFileFormat ; + owl:onProperty opencloning_linkml:sequence_file_format ], + [ a owl:Restriction ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:file_content ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:overhang_watson_3prime ], [ a owl:Restriction ; owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:overhang_crick_3prime ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:overhang_watson_3prime ], opencloning_linkml:Sequence ; skos:definition "A sequence (may have features) defined by the content of a text file" ; @@ -1095,49 +1095,49 @@ opencloning_linkml:UploadedFileSource a owl:Class, rdfs:label "UploadedFileSource" ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:coordinates ], + owl:onProperty opencloning_linkml:file_name ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:index_in_file ], + owl:onProperty opencloning_linkml:coordinates ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:file_name ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:SequenceFileFormat ; + owl:onProperty opencloning_linkml:sequence_file_format ], [ a owl:Restriction ; owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:circularize ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:circularize ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:coordinates ], + owl:onProperty opencloning_linkml:index_in_file ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:circularize ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:index_in_file ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:sequence_range ; + owl:onProperty opencloning_linkml:coordinates ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:index_in_file ], + owl:onProperty opencloning_linkml:coordinates ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:file_name ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:circularize ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_file_format ], - [ a owl:Restriction ; - owl:minCardinality 0 ; owl:onProperty opencloning_linkml:file_name ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:SequenceFileFormat ; - owl:onProperty opencloning_linkml:sequence_file_format ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:index_in_file ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:sequence_range ; - owl:onProperty opencloning_linkml:coordinates ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_file_format ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_format ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:file_name ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is uploaded as a file" ; skos:inScheme . @@ -1146,28 +1146,28 @@ opencloning_linkml:WekWikGeneIdSource a owl:Class, linkml:ClassDefinition ; rdfs:label "WekWikGeneIdSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom [ a rdfs:Datatype ; - owl:onDatatype xsd:string ; - owl:withRestrictions ( [ xsd:pattern "^\\d+$" ] ) ] ; - owl:onProperty opencloning_linkml:repository_id ], - [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], + owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:sequence_file_url ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_file_url ], + owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; owl:onDatatype xsd:string ; owl:withRestrictions ( [ xsd:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; owl:onProperty opencloning_linkml:sequence_file_url ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:repository_id ], + [ a owl:Restriction ; + owl:allValuesFrom [ a rdfs:Datatype ; + owl:onDatatype xsd:string ; + owl:withRestrictions ( [ xsd:pattern "^\\d+$" ] ) ] ; + owl:onProperty opencloning_linkml:repository_id ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence that is identified by a WeKwikGene id" ; skos:inScheme . @@ -1262,13 +1262,10 @@ opencloning_linkml:Primer a owl:Class, rdfs:label "Primer" ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:name ], + owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:database_id ], + owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:name ], @@ -1279,17 +1276,20 @@ opencloning_linkml:Primer a owl:Class, owl:withRestrictions ( [ xsd:pattern "^[acgtACGT]+$" ] ) ] ) ] ; owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:name ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:name ], + owl:onProperty opencloning_linkml:sequence ], opencloning_linkml:Sequence ; skos:definition "An oligonucleotide or primer" ; skos:inScheme . @@ -1298,11 +1298,14 @@ opencloning_linkml:SequenceCut a owl:Class, linkml:ClassDefinition ; rdfs:label "SequenceCut" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:cut_watson ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:overhang ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:overhang ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:cut_watson ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:overhang ], @@ -1310,11 +1313,8 @@ opencloning_linkml:SequenceCut a owl:Class, owl:minCardinality 1 ; owl:onProperty opencloning_linkml:cut_watson ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:cut_watson ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:overhang ] ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:cut_watson ] ; skos:definition "Represents a cut in a DNA sequence" ; skos:inScheme . @@ -1322,23 +1322,23 @@ opencloning_linkml:SequenceCutSource a owl:Class, linkml:ClassDefinition ; rdfs:label "SequenceCutSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:SequenceCut ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:right_edge ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:left_edge ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:SequenceCut ; - owl:onProperty opencloning_linkml:left_edge ], + owl:onProperty opencloning_linkml:right_edge ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:right_edge ], + owl:onProperty opencloning_linkml:left_edge ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:right_edge ], + owl:allValuesFrom opencloning_linkml:SequenceCut ; + owl:onProperty opencloning_linkml:left_edge ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:left_edge ], + owl:onProperty opencloning_linkml:right_edge ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is a subfragment of another sequence, generated by sequence cutting." ; skos:inScheme . @@ -1624,10 +1624,10 @@ opencloning_linkml:AnnotationReport a owl:Class, owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:type ] ; skos:definition "Represents a report of an annotation step" ; skos:inScheme . @@ -1637,7 +1637,7 @@ opencloning_linkml:AssociatedFile a owl:Class, rdfs:label "AssociatedFile" ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_id ], + owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:file_name ], @@ -1645,32 +1645,32 @@ opencloning_linkml:AssociatedFile a owl:Class, owl:allValuesFrom opencloning_linkml:AssociatedFileType ; owl:onProperty opencloning_linkml:file_type ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:type ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:file_type ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:type ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_id ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:Sequence ; owl:onProperty opencloning_linkml:sequence_id ], [ a owl:Restriction ; owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:file_name ], + owl:onProperty opencloning_linkml:file_type ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:file_name ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:file_type ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:type ], + owl:onProperty opencloning_linkml:file_name ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:file_name ], [ a owl:Restriction ; owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_id ] ; + owl:onProperty opencloning_linkml:sequence_id ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:type ] ; skos:definition "Represents a file associated with a sequence" ; skos:inScheme . @@ -1684,23 +1684,23 @@ opencloning_linkml:SourceInput a owl:Class, linkml:ClassDefinition ; rdfs:label "SourceInput" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:Sequence ; - owl:onProperty opencloning_linkml:sequence ], - [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence ], + owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:type ] ; + owl:allValuesFrom opencloning_linkml:Sequence ; + owl:onProperty opencloning_linkml:sequence ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:sequence ] ; skos:definition "Represents an input to a source" ; skos:exactMatch schema1:Role ; skos:inScheme . @@ -1762,6 +1762,9 @@ opencloning_linkml:Sequence a owl:Class, rdfs:subClassOf [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:type ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:id ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:type ], @@ -1770,13 +1773,10 @@ opencloning_linkml:Sequence a owl:Class, owl:onProperty opencloning_linkml:id ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:type ], - [ a owl:Restriction ; - owl:minCardinality 1 ; owl:onProperty opencloning_linkml:id ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:id ], + owl:onProperty opencloning_linkml:type ], opencloning_linkml:NamedThing ; skos:definition "Represents a sequence" ; skos:exactMatch bioschemas:DNA ; @@ -1819,19 +1819,19 @@ opencloning_linkml:RepositoryIdSource a owl:Class, owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom opencloning_linkml:RepositoryName ; owl:onProperty opencloning_linkml:repository_name ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:repository_name ], + owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], + owl:onProperty opencloning_linkml:repository_name ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:RepositoryName ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_name ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is identified by a repository id" ; @@ -1876,36 +1876,36 @@ opencloning_linkml:Source a owl:Class, rdfs:label "Source" ; rdfs:subClassOf [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:output_name ], - [ a owl:Restriction ; - owl:minCardinality 0 ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:type ], + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:output_name ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:input ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:SourceInput ; - owl:onProperty opencloning_linkml:input ], + owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:database_id ], + owl:allValuesFrom opencloning_linkml:SourceInput ; + owl:onProperty opencloning_linkml:input ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:type ], + owl:onProperty opencloning_linkml:output_name ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:output_name ], [ a owl:Restriction ; owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:input ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:type ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:database_id ], opencloning_linkml:NamedThing ; skos:definition "Represents the source of a sequence" ; @@ -1948,124 +1948,119 @@ opencloning_linkml:type a owl:ObjectProperty, skos:definition "A LinkML data model for OpenCloning" . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SequenceCutSource ; - owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SequenceCutSource . - -[] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AddgeneIdSource ; + rdfs:subClassOf opencloning_linkml:Sequence ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AddgeneIdSource . + owl:someValuesFrom opencloning_linkml:Sequence . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:IGEMSource ; + rdfs:subClassOf opencloning_linkml:PlannotateAnnotationReport ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:IGEMSource . + owl:someValuesFrom opencloning_linkml:PlannotateAnnotationReport . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:InVivoAssemblySource ; + rdfs:subClassOf opencloning_linkml:Source ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:InVivoAssemblySource . + owl:someValuesFrom opencloning_linkml:Source . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:ReverseComplementSource ; + rdfs:subClassOf opencloning_linkml:UploadedFileSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:ReverseComplementSource . + owl:someValuesFrom opencloning_linkml:UploadedFileSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AnnotationSource ; + rdfs:subClassOf opencloning_linkml:SequencingFile ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AnnotationSource . + owl:someValuesFrom opencloning_linkml:SequencingFile . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:LigationSource ; + rdfs:subClassOf opencloning_linkml:GibsonAssemblySource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:LigationSource . + owl:someValuesFrom opencloning_linkml:GibsonAssemblySource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SEVASource ; + rdfs:subClassOf opencloning_linkml:AnnotationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SEVASource . + owl:someValuesFrom opencloning_linkml:AnnotationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:RestrictionEnzymeDigestionSource ; + rdfs:subClassOf opencloning_linkml:WekWikGeneIdSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:RestrictionEnzymeDigestionSource . + owl:someValuesFrom opencloning_linkml:WekWikGeneIdSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:CreLoxRecombinationSource ; + rdfs:subClassOf opencloning_linkml:IGEMSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:CreLoxRecombinationSource . + owl:someValuesFrom opencloning_linkml:IGEMSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:HomologousRecombinationSource ; + rdfs:subClassOf opencloning_linkml:OpenDNACollectionsSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:HomologousRecombinationSource . + owl:someValuesFrom opencloning_linkml:OpenDNACollectionsSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SourceInput ; + rdfs:subClassOf opencloning_linkml:BenchlingUrlSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SourceInput . + owl:someValuesFrom opencloning_linkml:BenchlingUrlSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:WekWikGeneIdSource ; + rdfs:subClassOf opencloning_linkml:InVivoAssemblySource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:WekWikGeneIdSource . + owl:someValuesFrom opencloning_linkml:InVivoAssemblySource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:EuroscarfSource ; + rdfs:subClassOf opencloning_linkml:RestrictionAndLigationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:EuroscarfSource . + owl:someValuesFrom opencloning_linkml:RestrictionAndLigationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:Sequence ; + rdfs:subClassOf opencloning_linkml:InFusionSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:Sequence . + owl:someValuesFrom opencloning_linkml:InFusionSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:OpenDNACollectionsSource ; + rdfs:subClassOf opencloning_linkml:SourceInput ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:OpenDNACollectionsSource . + owl:someValuesFrom opencloning_linkml:SourceInput . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:DatabaseSource ; + rdfs:subClassOf opencloning_linkml:PolymeraseExtensionSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:DatabaseSource . + owl:someValuesFrom opencloning_linkml:PolymeraseExtensionSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AssociatedFile ; + rdfs:subClassOf opencloning_linkml:RepositoryIdSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AssociatedFile . + owl:someValuesFrom opencloning_linkml:RepositoryIdSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AnnotationReport ; + rdfs:subClassOf opencloning_linkml:Primer ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AnnotationReport . + owl:someValuesFrom opencloning_linkml:Primer . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:GibsonAssemblySource ; + rdfs:subClassOf opencloning_linkml:DatabaseSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:GibsonAssemblySource . + owl:someValuesFrom opencloning_linkml:DatabaseSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SequencingFile ; + rdfs:subClassOf opencloning_linkml:AddgeneIdSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SequencingFile . + owl:someValuesFrom opencloning_linkml:AddgeneIdSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SnapGenePlasmidSource ; + rdfs:subClassOf opencloning_linkml:TemplateSequence ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SnapGenePlasmidSource . + owl:someValuesFrom opencloning_linkml:TemplateSequence . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:RestrictionAndLigationSource ; + rdfs:subClassOf opencloning_linkml:HomologousRecombinationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:RestrictionAndLigationSource . + owl:someValuesFrom opencloning_linkml:HomologousRecombinationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AssemblySource ; + rdfs:subClassOf opencloning_linkml:EuroscarfSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AssemblySource . + owl:someValuesFrom opencloning_linkml:EuroscarfSource . [] a owl:Restriction ; rdfs:subClassOf opencloning_linkml:OverlapExtensionPCRLigationSource ; @@ -2073,59 +2068,49 @@ opencloning_linkml:type a owl:ObjectProperty, owl:someValuesFrom opencloning_linkml:OverlapExtensionPCRLigationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:BenchlingUrlSource ; + rdfs:subClassOf opencloning_linkml:OligoHybridizationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:BenchlingUrlSource . + owl:someValuesFrom opencloning_linkml:OligoHybridizationSource . [] a owl:Restriction ; rdfs:subClassOf opencloning_linkml:CollectionSource ; owl:onProperty opencloning_linkml:type ; owl:someValuesFrom opencloning_linkml:CollectionSource . -[] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:RepositoryIdSource ; - owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:RepositoryIdSource . - [] a owl:Restriction ; rdfs:subClassOf opencloning_linkml:GenomeCoordinatesSource ; owl:onProperty opencloning_linkml:type ; owl:someValuesFrom opencloning_linkml:GenomeCoordinatesSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:PlannotateAnnotationReport ; - owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:PlannotateAnnotationReport . - -[] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:Source ; + rdfs:subClassOf opencloning_linkml:AssemblyFragment ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:Source . + owl:someValuesFrom opencloning_linkml:AssemblyFragment . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:Primer ; + rdfs:subClassOf opencloning_linkml:LigationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:Primer . + owl:someValuesFrom opencloning_linkml:LigationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AssemblyFragment ; + rdfs:subClassOf opencloning_linkml:SnapGenePlasmidSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AssemblyFragment . + owl:someValuesFrom opencloning_linkml:SnapGenePlasmidSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:CRISPRSource ; + rdfs:subClassOf opencloning_linkml:GatewaySource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:CRISPRSource . + owl:someValuesFrom opencloning_linkml:GatewaySource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:InFusionSource ; + rdfs:subClassOf opencloning_linkml:AnnotationReport ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:InFusionSource . + owl:someValuesFrom opencloning_linkml:AnnotationReport . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:OligoHybridizationSource ; + rdfs:subClassOf opencloning_linkml:AssociatedFile ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:OligoHybridizationSource . + owl:someValuesFrom opencloning_linkml:AssociatedFile . [] a owl:Restriction ; rdfs:subClassOf opencloning_linkml:TextFileSequence ; @@ -2133,9 +2118,9 @@ opencloning_linkml:type a owl:ObjectProperty, owl:someValuesFrom opencloning_linkml:TextFileSequence . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:GatewaySource ; + rdfs:subClassOf opencloning_linkml:AssemblySource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:GatewaySource . + owl:someValuesFrom opencloning_linkml:AssemblySource . [] a owl:Restriction ; rdfs:subClassOf opencloning_linkml:PCRSource ; @@ -2143,21 +2128,36 @@ opencloning_linkml:type a owl:ObjectProperty, owl:someValuesFrom opencloning_linkml:PCRSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:ManuallyTypedSource ; + rdfs:subClassOf opencloning_linkml:CRISPRSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:ManuallyTypedSource . + owl:someValuesFrom opencloning_linkml:CRISPRSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:TemplateSequence ; + rdfs:subClassOf opencloning_linkml:RestrictionEnzymeDigestionSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:TemplateSequence . + owl:someValuesFrom opencloning_linkml:RestrictionEnzymeDigestionSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:PolymeraseExtensionSource ; + rdfs:subClassOf opencloning_linkml:SEVASource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:PolymeraseExtensionSource . + owl:someValuesFrom opencloning_linkml:SEVASource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:UploadedFileSource ; + rdfs:subClassOf opencloning_linkml:ReverseComplementSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:UploadedFileSource . + owl:someValuesFrom opencloning_linkml:ReverseComplementSource . + +[] a owl:Restriction ; + rdfs:subClassOf opencloning_linkml:SequenceCutSource ; + owl:onProperty opencloning_linkml:type ; + owl:someValuesFrom opencloning_linkml:SequenceCutSource . + +[] a owl:Restriction ; + rdfs:subClassOf opencloning_linkml:ManuallyTypedSource ; + owl:onProperty opencloning_linkml:type ; + owl:someValuesFrom opencloning_linkml:ManuallyTypedSource . + +[] a owl:Restriction ; + rdfs:subClassOf opencloning_linkml:CreLoxRecombinationSource ; + owl:onProperty opencloning_linkml:type ; + owl:someValuesFrom opencloning_linkml:CreLoxRecombinationSource . diff --git a/project/python/opencloning_linkml.py b/project/python/opencloning_linkml.py index 0e722b9..47fefd3 100644 --- a/project/python/opencloning_linkml.py +++ b/project/python/opencloning_linkml.py @@ -1,5 +1,5 @@ # Auto generated from opencloning_linkml.yaml by pythongen.py version: 0.0.1 -# Generation date: 2025-11-26T10:36:04 +# Generation date: 2025-11-27T11:49:43 # Schema: OpenCloning_LinkML # # id: https://opencloning.github.io/OpenCloning_LinkML @@ -3020,9 +3020,7 @@ class slots: model_uri=OPENCLONING_LINKML.IGEMSource_sequence_file_url, domain=IGEMSource, range=str, - pattern=re.compile( - r"^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)$" - ), + pattern=re.compile(r"^.*.gb$"), ) slots.OpenDNACollectionsSource_repository_id = Slot( diff --git a/project/shacl/opencloning_linkml.shacl.ttl b/project/shacl/opencloning_linkml.shacl.ttl index b1eb962..4f90a59 100644 --- a/project/shacl/opencloning_linkml.shacl.ttl +++ b/project/shacl/opencloning_linkml.shacl.ttl @@ -8,7 +8,7 @@ schema1:Thing a sh:NodeShape ; sh:closed true ; - sh:ignoredProperties ( opencloning_linkml:restriction_enzymes opencloning_linkml:left_edge opencloning_linkml:repository_name opencloning_linkml:sequence_accession opencloning_linkml:greedy opencloning_linkml:reaction_type opencloning_linkml:locus_tag schema1:name opencloning_linkml:overhang_watson_3prime opencloning_linkml:sequence_file_format opencloning_linkml:image opencloning_linkml:category_id opencloning_linkml:gene_id schema1:object opencloning_linkml:overhang_crick_3prime opencloning_linkml:add_primer_features opencloning_linkml:start opencloning_linkml:output_name opencloning_linkml:description opencloning_linkml:user_input rdf:type opencloning_linkml:end opencloning_linkml:assembly_accession opencloning_linkml:repository_id opencloning_linkml:options opencloning_linkml:sequence opencloning_linkml:annotation_tool_version opencloning_linkml:sequence_file_url opencloning_linkml:type opencloning_linkml:annotation_report opencloning_linkml:right_edge opencloning_linkml:title opencloning_linkml:coordinates opencloning_linkml:addgene_sequence_type opencloning_linkml:annotation_tool opencloning_linkml:primer_design opencloning_linkml:file_content opencloning_linkml:circularize opencloning_linkml:index_in_file opencloning_linkml:file_name opencloning_linkml:strand opencloning_linkml:circular ) ; + sh:ignoredProperties ( opencloning_linkml:annotation_tool opencloning_linkml:greedy opencloning_linkml:gene_id opencloning_linkml:output_name opencloning_linkml:annotation_report opencloning_linkml:addgene_sequence_type opencloning_linkml:user_input schema1:name opencloning_linkml:image opencloning_linkml:circular opencloning_linkml:category_id opencloning_linkml:strand rdf:type opencloning_linkml:primer_design opencloning_linkml:end opencloning_linkml:title opencloning_linkml:left_edge opencloning_linkml:add_primer_features opencloning_linkml:type opencloning_linkml:locus_tag opencloning_linkml:repository_name opencloning_linkml:reaction_type opencloning_linkml:file_content opencloning_linkml:sequence_accession opencloning_linkml:options opencloning_linkml:index_in_file opencloning_linkml:right_edge opencloning_linkml:overhang_crick_3prime schema1:object opencloning_linkml:repository_id opencloning_linkml:sequence opencloning_linkml:restriction_enzymes opencloning_linkml:file_name opencloning_linkml:coordinates opencloning_linkml:sequence_file_url opencloning_linkml:start opencloning_linkml:circularize opencloning_linkml:annotation_tool_version opencloning_linkml:overhang_watson_3prime opencloning_linkml:description opencloning_linkml:sequence_file_format opencloning_linkml:assembly_accession ) ; sh:property [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -21,167 +21,168 @@ opencloning_linkml:AddgeneIdSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is identified by an Addgene id" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:property [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; sh:maxCount 1 ; sh:minCount 1 ; + sh:order 3 ; + sh:path opencloning_linkml:repository_name ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 8 ; + sh:order 6 ; sh:path schema1:identifier ], [ sh:datatype xsd:string ; - sh:description "The URL of a sequence file" ; + sh:description "The id of the sequence in the repository" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:sequence_file_url ; - sh:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ], + sh:order 2 ; + sh:path opencloning_linkml:repository_id ], [ sh:in ( "depositor-full" "addgene-full" ) ; sh:maxCount 1 ; sh:order 1 ; sh:path opencloning_linkml:addgene_sequence_type ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:type ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 7 ; sh:path schema1:object ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 8 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path opencloning_linkml:output_name ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 3 ; - sh:path opencloning_linkml:repository_name ], [ sh:datatype xsd:string ; - sh:description "The id of the sequence in the repository" ; + sh:description "The URL of a sequence file" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:repository_id ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:order 0 ; + sh:path opencloning_linkml:sequence_file_url ; + sh:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path schema1:identifier ] ; + sh:order 4 ; + sh:path opencloning_linkml:type ] ; sh:targetClass opencloning_linkml:AddgeneIdSource . opencloning_linkml:AnnotationSource a sh:NodeShape ; sh:closed true ; sh:description "Represents a computational step in which sequence features are annotated in a sequence" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; + sh:property [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 6 ; + sh:path schema1:object ], + [ sh:datatype xsd:string ; + sh:description "The version of the annotation tool" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:annotation_tool_version ], + [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:string ; - sh:description "The version of the annotation tool" ; + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:annotation_tool_version ], + sh:order 7 ; + sh:path schema1:identifier ], [ sh:class opencloning_linkml:AnnotationReport ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 2 ; sh:path opencloning_linkml:annotation_report ], - [ sh:in ( "plannotate" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path opencloning_linkml:annotation_tool ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:type ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 6 ; - sh:path schema1:object ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path schema1:identifier ] ; + sh:order 4 ; + sh:path opencloning_linkml:output_name ], + [ sh:in ( "plannotate" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path opencloning_linkml:annotation_tool ] ; sh:targetClass opencloning_linkml:AnnotationSource . opencloning_linkml:AssemblyFragment a sh:NodeShape ; sh:closed true ; sh:description "Represents a fragment in an assembly" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:left_location ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the sequence is reverse complemented in the assembly" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:reverse_complemented ], - [ sh:class bioschemas:DNA ; + sh:property [ sh:class bioschemas:DNA ; sh:description "The input sequence" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:IRI ; sh:order 4 ; sh:path opencloning_linkml:sequence ], - [ sh:maxCount 1 ; + [ sh:datatype xsd:boolean ; + sh:description "Whether the sequence is reverse complemented in the assembly" ; + sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:right_location ], + sh:order 2 ; + sh:path opencloning_linkml:reverse_complemented ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; - sh:path opencloning_linkml:type ] ; + sh:path opencloning_linkml:type ], + [ sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:left_location ], + [ sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:right_location ] ; sh:targetClass opencloning_linkml:AssemblyFragment . opencloning_linkml:AssemblySource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is an assembly of other sequences" ; - sh:ignoredProperties ( opencloning_linkml:restriction_enzymes opencloning_linkml:add_primer_features opencloning_linkml:greedy opencloning_linkml:reaction_type rdf:type ) ; - sh:property [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ], + sh:ignoredProperties ( opencloning_linkml:reaction_type opencloning_linkml:greedy rdf:type opencloning_linkml:restriction_enzymes opencloning_linkml:add_primer_features ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:type ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path schema1:identifier ], + sh:order 0 ; + sh:path opencloning_linkml:circular ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -189,18 +190,17 @@ opencloning_linkml:AssemblySource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path schema1:identifier ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ] ; + sh:order 3 ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:AssemblySource . opencloning_linkml:BenchlingUrlSource a sh:NodeShape ; @@ -208,17 +208,11 @@ opencloning_linkml:BenchlingUrlSource a sh:NodeShape ; sh:description "Represents the source of a sequence that is identified by a Benchling URL" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; + sh:order 4 ; sh:path schema1:identifier ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path opencloning_linkml:repository_name ], [ sh:datatype xsd:string ; sh:description "The url of the gb file associated with the sequence" ; sh:maxCount 1 ; @@ -228,22 +222,28 @@ opencloning_linkml:BenchlingUrlSource a sh:NodeShape ; sh:path opencloning_linkml:repository_id ; sh:pattern "^https:\\/\\/benchling\\.com\\/.+\\.gb$" ], [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; + sh:order 6 ; sh:path schema1:identifier ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 5 ; - sh:path schema1:object ], + [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path opencloning_linkml:repository_name ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:output_name ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 5 ; + sh:path schema1:object ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -256,24 +256,12 @@ opencloning_linkml:CRISPRSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by CRISPR" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ], - [ sh:datatype xsd:integer ; + sh:property [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ], [ sh:datatype xsd:boolean ; sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; @@ -281,29 +269,40 @@ opencloning_linkml:CRISPRSource a sh:NodeShape ; sh:order 0 ; sh:path opencloning_linkml:circular ], [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ], + sh:order 1 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path schema1:identifier ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ], [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ] ; + sh:order 2 ; + sh:path opencloning_linkml:output_name ] ; sh:targetClass opencloning_linkml:CRISPRSource . opencloning_linkml:CloningStrategy a sh:NodeShape ; sh:closed true ; sh:description "Represents a cloning strategy" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class bioschemas:DNA ; - sh:description "The sequences that are used in the cloning strategy" ; - sh:minCount 1 ; + sh:property [ sh:class opencloning_linkml:Primer ; + sh:description "The primers that are used in the cloning strategy" ; sh:nodeKind sh:IRI ; - sh:order 0 ; - sh:path opencloning_linkml:sequences ], + sh:order 2 ; + sh:path opencloning_linkml:primers ], [ sh:class opencloning_linkml:AssociatedFile ; sh:description "Files associated with this cloning strategy" ; sh:nodeKind sh:BlankNodeOrIRI ; @@ -314,33 +313,34 @@ opencloning_linkml:CloningStrategy a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 6 ; sh:path opencloning_linkml:backend_version ], - [ sh:class opencloning_linkml:Primer ; - sh:description "The primers that are used in the cloning strategy" ; + [ sh:class schema1:CreateAction ; + sh:description "The sources of the sequences that are used in the cloning strategy" ; + sh:minCount 1 ; sh:nodeKind sh:IRI ; - sh:order 2 ; - sh:path opencloning_linkml:primers ], - [ sh:description "The version of the frontend that was used to generate this cloning strategy" ; + sh:order 1 ; + sh:path opencloning_linkml:sources ], + [ sh:datatype xsd:string ; + sh:description "A description of the cloning strategy" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path opencloning_linkml:frontend_version ], + sh:order 3 ; + sh:path opencloning_linkml:description ], [ sh:description "The version of the schema that was used to generate this cloning strategy" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path opencloning_linkml:schema_version ], - [ sh:class schema1:CreateAction ; - sh:description "The sources of the sequences that are used in the cloning strategy" ; - sh:minCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 1 ; - sh:path opencloning_linkml:sources ], - [ sh:datatype xsd:string ; - sh:description "A description of the cloning strategy" ; + [ sh:description "The version of the frontend that was used to generate this cloning strategy" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:description ] ; + sh:order 7 ; + sh:path opencloning_linkml:frontend_version ], + [ sh:class bioschemas:DNA ; + sh:description "The sequences that are used in the cloning strategy" ; + sh:minCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 0 ; + sh:path opencloning_linkml:sequences ] ; sh:targetClass opencloning_linkml:CloningStrategy . opencloning_linkml:CollectionSource a sh:NodeShape ; @@ -348,47 +348,35 @@ opencloning_linkml:CollectionSource a sh:NodeShape ; sh:description "Represents a collection of possible sources in a template" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:description "The title of the category" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path opencloning_linkml:output_name ], + sh:order 1 ; + sh:path opencloning_linkml:title ], [ sh:datatype xsd:string ; - sh:description "URL and size of the image representing this category. For images with size specification, this is a list with two elements: [url, size]." ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:image ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path schema1:identifier ], + sh:order 5 ; + sh:path opencloning_linkml:type ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 8 ; + sh:path schema1:object ], [ sh:datatype xsd:string ; sh:description "A description of the category" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:description ], - [ sh:datatype xsd:string ; - sh:description "The title of the category" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:title ], - [ sh:datatype xsd:string ; - sh:description "The identifier of the category of the part in the template" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:category_id ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path opencloning_linkml:type ], + sh:order 7 ; + sh:path schema1:identifier ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -396,28 +384,40 @@ opencloning_linkml:CollectionSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 9 ; sh:path schema1:identifier ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 8 ; - sh:path schema1:object ], [ sh:class opencloning_linkml:CollectionOption ; sh:description "The options available in this category." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 4 ; - sh:path opencloning_linkml:options ] ; + sh:path opencloning_linkml:options ], + [ sh:datatype xsd:string ; + sh:description "The identifier of the category of the part in the template" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:category_id ], + [ sh:datatype xsd:string ; + sh:description "URL and size of the image representing this category. For images with size specification, this is a list with two elements: [url, size]." ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:image ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 6 ; + sh:path opencloning_linkml:output_name ] ; sh:targetClass opencloning_linkml:CollectionSource . opencloning_linkml:CreLoxRecombinationSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by Cre - Lox recombination" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ], + sh:order 0 ; + sh:path opencloning_linkml:circular ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; @@ -429,25 +429,25 @@ opencloning_linkml:CreLoxRecombinationSource a sh:NodeShape ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 4 ; sh:path schema1:object ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ], [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ], + sh:order 2 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 5 ; - sh:path schema1:identifier ] ; + sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:type ] ; sh:targetClass opencloning_linkml:CreLoxRecombinationSource . opencloning_linkml:DatabaseSource a sh:NodeShape ; @@ -461,6 +461,12 @@ opencloning_linkml:DatabaseSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -468,23 +474,17 @@ opencloning_linkml:DatabaseSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 3 ; sh:path schema1:object ], [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ] ; + sh:order 2 ; + sh:path opencloning_linkml:output_name ] ; sh:targetClass opencloning_linkml:DatabaseSource . opencloning_linkml:EuroscarfSource a sh:NodeShape ; @@ -492,22 +492,13 @@ opencloning_linkml:EuroscarfSource a sh:NodeShape ; sh:description "Represents the source of a sequence from the Euroscarf plasmid library" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:output_name ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 5 ; - sh:path schema1:object ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:description "The id of the plasmid in the Euroscarf plasmid library" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path schema1:identifier ], + sh:order 0 ; + sh:path opencloning_linkml:repository_id ; + sh:pattern "^P\\d+$" ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -516,19 +507,28 @@ opencloning_linkml:EuroscarfSource a sh:NodeShape ; sh:order 6 ; sh:path schema1:identifier ], [ sh:datatype xsd:string ; - sh:description "The id of the plasmid in the Euroscarf plasmid library" ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:repository_id ; - sh:pattern "^P\\d+$" ], + sh:order 3 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:type ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 5 ; + sh:path schema1:object ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path schema1:identifier ], [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; sh:maxCount 1 ; sh:minCount 1 ; @@ -540,12 +540,11 @@ opencloning_linkml:GatewaySource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by Gateway cloning" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:property [ sh:in ( "LR" "BP" ) ; sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:type ], + sh:minCount 1 ; + sh:order 0 ; + sh:path opencloning_linkml:reaction_type ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; @@ -564,13 +563,12 @@ opencloning_linkml:GatewaySource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:greedy ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path schema1:identifier ], + sh:order 3 ; + sh:path opencloning_linkml:type ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; @@ -582,11 +580,13 @@ opencloning_linkml:GatewaySource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path schema1:identifier ], - [ sh:in ( "LR" "BP" ) ; + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; - sh:order 0 ; - sh:path opencloning_linkml:reaction_type ] ; + sh:nodeKind sh:Literal ; + sh:order 7 ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:GatewaySource . opencloning_linkml:GenomeCoordinatesSource a sh:NodeShape ; @@ -594,11 +594,10 @@ opencloning_linkml:GenomeCoordinatesSource a sh:NodeShape ; sh:description "Represents the source of a sequence that is identified by genome coordinates, requested from NCBI" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 11 ; + sh:order 9 ; sh:path schema1:identifier ], [ sh:datatype xsd:integer ; sh:description "The ending coordinate (1-based) of the sequence in the sequence accession" ; @@ -607,30 +606,36 @@ opencloning_linkml:GenomeCoordinatesSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path opencloning_linkml:end ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + [ sh:datatype xsd:string ; + sh:description "The accession of the sequence" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 9 ; - sh:path schema1:identifier ], + sh:order 1 ; + sh:path opencloning_linkml:sequence_accession ], [ sh:datatype xsd:string ; sh:description "The locus tag of the sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:locus_tag ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 7 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:string ; + sh:description "The accession of the assembly" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:assembly_accession ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 10 ; sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "The accession of the sequence" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:sequence_accession ], [ sh:datatype xsd:integer ; sh:description "The strand of the sequence in the sequence accession, should be 1 or -1" ; sh:maxCount 1 ; @@ -644,6 +649,13 @@ opencloning_linkml:GenomeCoordinatesSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:gene_id ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 11 ; + sh:path schema1:identifier ], [ sh:datatype xsd:integer ; sh:description "The starting coordinate (1-based) of the sequence in the sequence accession" ; sh:maxCount 1 ; @@ -651,18 +663,6 @@ opencloning_linkml:GenomeCoordinatesSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path opencloning_linkml:start ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:string ; - sh:description "The accession of the assembly" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:assembly_accession ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; @@ -675,60 +675,61 @@ opencloning_linkml:GibsonAssemblySource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by Gibson assembly" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:property [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; + sh:order 5 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:circular ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path schema1:identifier ] ; + sh:order 1 ; + sh:path opencloning_linkml:type ] ; sh:targetClass opencloning_linkml:GibsonAssemblySource . opencloning_linkml:HomologousRecombinationSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by homologous recombination" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:circular ], + [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path schema1:identifier ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -741,18 +742,17 @@ opencloning_linkml:HomologousRecombinationSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path schema1:identifier ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; - sh:path opencloning_linkml:output_name ] ; + sh:path opencloning_linkml:output_name ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ] ; sh:targetClass opencloning_linkml:HomologousRecombinationSource . opencloning_linkml:IGEMSource a sh:NodeShape ; @@ -760,18 +760,24 @@ opencloning_linkml:IGEMSource a sh:NodeShape ; sh:description "Represents the source of a sequence from an iGEM collection" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 7 ; sh:path schema1:identifier ], + [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 2 ; + sh:path opencloning_linkml:repository_name ], + [ sh:datatype xsd:string ; + sh:description "The unique identifier of the sequence in the iGEM collection (for now, {part_id}-{plasmid_backbone})" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:repository_id ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; @@ -785,84 +791,78 @@ opencloning_linkml:IGEMSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:sequence_file_url ; - sh:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 6 ; - sh:path schema1:object ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 2 ; - sh:path opencloning_linkml:repository_name ], + sh:pattern "^.*.gb$" ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:type ], - [ sh:datatype xsd:string ; - sh:description "The unique identifier of the sequence in the iGEM collection (for now, {part_id}-{plasmid_backbone})" ; + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:repository_id ] ; + sh:order 5 ; + sh:path schema1:identifier ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 6 ; + sh:path schema1:object ] ; sh:targetClass opencloning_linkml:IGEMSource . opencloning_linkml:InFusionSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by In-Fusion cloning by Takara Bio" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path schema1:identifier ], + sh:order 0 ; + sh:path opencloning_linkml:circular ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:type ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:output_name ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 4 ; sh:path schema1:object ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 5 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ] ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:InFusionSource . opencloning_linkml:InVivoAssemblySource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by in vivo assembly. Algorithmically equivalent to Gibson assembly." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path schema1:identifier ], + sh:order 0 ; + sh:path opencloning_linkml:circular ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -875,54 +875,36 @@ opencloning_linkml:InVivoAssemblySource a sh:NodeShape ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 4 ; sh:path schema1:object ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ], + sh:order 2 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:type ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ] ; + sh:order 3 ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:InVivoAssemblySource . opencloning_linkml:LigationSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by ligation with sticky or blunt ends." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ], - [ sh:datatype xsd:string ; + sh:property [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:type ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; @@ -934,48 +916,50 @@ opencloning_linkml:LigationSource a sh:NodeShape ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; - sh:path schema1:identifier ] ; - sh:targetClass opencloning_linkml:LigationSource . - -opencloning_linkml:ManuallyTypedSource a sh:NodeShape ; - sh:closed true ; - sh:description "Represents the source of a sequence that is manually typed by the user" ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class schema1:Role ; + sh:path schema1:identifier ], + [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 7 ; + sh:order 4 ; sh:path schema1:object ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:order 0 ; + sh:path opencloning_linkml:circular ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 5 ; - sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:boolean ; + sh:path schema1:identifier ] ; + sh:targetClass opencloning_linkml:LigationSource . + +opencloning_linkml:ManuallyTypedSource a sh:NodeShape ; + sh:closed true ; + sh:description "Represents the source of a sequence that is manually typed by the user" ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:boolean ; sh:description "Whether the sequence is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:circular ], [ sh:datatype xsd:integer ; - sh:description "The equivalent of `overhang_crick_3prime` but for the watson strand" ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:overhang_watson_3prime ], + sh:order 8 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 6 ; + sh:path schema1:identifier ], [ sh:datatype xsd:integer ; sh:description "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" ; sh:maxCount 1 ; @@ -983,19 +967,35 @@ opencloning_linkml:ManuallyTypedSource a sh:NodeShape ; sh:order 0 ; sh:path opencloning_linkml:overhang_crick_3prime ], [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:description "The equivalent of `overhang_crick_3prime` but for the watson strand" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 8 ; - sh:path schema1:identifier ], + sh:order 1 ; + sh:path opencloning_linkml:overhang_watson_3prime ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 7 ; + sh:path schema1:object ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:user_input ; - sh:pattern "^[acgtACGT]+$" ] ; + sh:pattern "^[acgtACGT]+$" ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path opencloning_linkml:type ] ; sh:targetClass opencloning_linkml:ManuallyTypedSource . opencloning_linkml:OligoHybridizationSource a sh:NodeShape ; @@ -1003,41 +1003,41 @@ opencloning_linkml:OligoHybridizationSource a sh:NodeShape ; sh:description "Represents the source of a sequence that is generated by oligo hybridization" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:integer ; - sh:description "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" ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:overhang_crick_3prime ], + sh:order 3 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:integer ; + sh:description "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" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:overhang_crick_3prime ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:type ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path schema1:identifier ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 4 ; - sh:path schema1:object ] ; + sh:path schema1:object ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:OligoHybridizationSource . opencloning_linkml:OpenDNACollectionsSource a sh:NodeShape ; @@ -1045,24 +1045,18 @@ opencloning_linkml:OpenDNACollectionsSource a sh:NodeShape ; sh:description "Represents the source of a sequence from the Open DNA collections" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 7 ; + sh:order 5 ; sh:path schema1:identifier ], [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:description "The URL of a sequence file" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:type ], + sh:order 0 ; + sh:path opencloning_linkml:sequence_file_url ; + sh:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ], [ sh:datatype xsd:string ; sh:description "Subpath of the sequence in the Open DNA collections repository" ; sh:maxCount 1 ; @@ -1070,28 +1064,34 @@ opencloning_linkml:OpenDNACollectionsSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:repository_id ], - [ sh:datatype xsd:string ; - sh:description "The URL of a sequence file" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:sequence_file_url ; - sh:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ], [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 2 ; sh:path opencloning_linkml:repository_name ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:type ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 6 ; sh:path schema1:object ], [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; + sh:order 7 ; sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:OpenDNACollectionsSource . @@ -1099,72 +1099,49 @@ opencloning_linkml:OverlapExtensionPCRLigationSource a sh:NodeShape ; sh:closed true ; sh:description "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." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:property [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path schema1:identifier ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ], + sh:order 1 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:circular ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ], + sh:order 3 ; + sh:path schema1:identifier ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 5 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ] ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:OverlapExtensionPCRLigationSource . opencloning_linkml:PCRSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by PCR" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:boolean ; - sh:description "Whether to add primer features to the PCR product" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:add_primer_features ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:circular ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 5 ; - sh:path schema1:object ], - [ sh:datatype xsd:integer ; + sh:property [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; @@ -1177,12 +1154,35 @@ opencloning_linkml:PCRSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path schema1:identifier ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 5 ; + sh:path schema1:object ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; - sh:path opencloning_linkml:type ] ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:circular ], + [ sh:datatype xsd:boolean ; + sh:description "Whether to add primer features to the PCR product" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:add_primer_features ] ; sh:targetClass opencloning_linkml:PCRSource . opencloning_linkml:PlannotateAnnotationReport a sh:NodeShape ; @@ -1192,28 +1192,28 @@ opencloning_linkml:PlannotateAnnotationReport a sh:NodeShape ; sh:property [ sh:datatype xsd:integer ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:end_location ], - [ sh:datatype xsd:integer ; + sh:order 5 ; + sh:path opencloning_linkml:full_length_of_feature_in_db ], + [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:start_location ], + sh:order 10 ; + sh:path opencloning_linkml:Feature ], + [ sh:datatype xsd:float ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 7 ; + sh:path opencloning_linkml:percent_match_length ], [ sh:datatype xsd:integer ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:strand ], - [ sh:datatype xsd:string ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 10 ; - sh:path opencloning_linkml:Feature ], - [ sh:datatype xsd:string ; + [ sh:datatype xsd:integer ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 12 ; - sh:path opencloning_linkml:Description ], + sh:order 2 ; + sh:path opencloning_linkml:end_location ], [ sh:datatype xsd:float ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -1222,62 +1222,66 @@ opencloning_linkml:PlannotateAnnotationReport a sh:NodeShape ; [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:sseqid ], - [ sh:datatype xsd:string ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 13 ; - sh:path opencloning_linkml:sequence ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 14 ; - sh:path opencloning_linkml:type ], + sh:order 11 ; + sh:path opencloning_linkml:Type ], [ sh:datatype xsd:integer ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 6 ; sh:path opencloning_linkml:length_of_found_feature ], - [ sh:datatype xsd:boolean ; + [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 8 ; - sh:path opencloning_linkml:fragment ], + sh:order 12 ; + sh:path opencloning_linkml:Description ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 9 ; sh:path opencloning_linkml:database ], - [ sh:datatype xsd:float ; + [ sh:datatype xsd:integer ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path opencloning_linkml:percent_match_length ], + sh:order 1 ; + sh:path opencloning_linkml:start_location ], [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 11 ; - sh:path opencloning_linkml:Type ], - [ sh:datatype xsd:integer ; + sh:order 14 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path opencloning_linkml:full_length_of_feature_in_db ] ; + sh:order 0 ; + sh:path opencloning_linkml:sseqid ], + [ sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 13 ; + sh:path opencloning_linkml:sequence ], + [ sh:datatype xsd:boolean ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 8 ; + sh:path opencloning_linkml:fragment ] ; sh:targetClass opencloning_linkml:PlannotateAnnotationReport . opencloning_linkml:PolymeraseExtensionSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by polymerase extension" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:property [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 3 ; + sh:path schema1:object ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path schema1:identifier ], + sh:order 1 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -1290,24 +1294,26 @@ opencloning_linkml:PolymeraseExtensionSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:output_name ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 3 ; - sh:path schema1:object ] ; + sh:order 4 ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:PolymeraseExtensionSource . opencloning_linkml:RepositoryIdSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is identified by a repository id" ; - sh:ignoredProperties ( opencloning_linkml:addgene_sequence_type rdf:type opencloning_linkml:sequence_file_url ) ; + sh:ignoredProperties ( opencloning_linkml:sequence_file_url rdf:type opencloning_linkml:addgene_sequence_type ) ; sh:property [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:string ; sh:description "The id of the sequence in the repository" ; sh:maxCount 1 ; sh:minCount 1 ; @@ -1320,35 +1326,29 @@ opencloning_linkml:RepositoryIdSource a sh:NodeShape ; sh:order 5 ; sh:path schema1:object ], [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; + sh:order 4 ; sh:path schema1:identifier ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path opencloning_linkml:repository_name ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:type ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:minCount 1 ; + sh:order 1 ; + sh:path opencloning_linkml:repository_name ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:output_name ] ; + sh:order 6 ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:RepositoryIdSource . opencloning_linkml:RestrictionAndLigationSource a sh:NodeShape ; @@ -1356,6 +1356,24 @@ opencloning_linkml:RestrictionAndLigationSource a sh:NodeShape ; sh:description "Represents the source of a sequence that is generated by restriction and ligation" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:restriction_enzymes ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 6 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -1367,35 +1385,17 @@ opencloning_linkml:RestrictionAndLigationSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:type ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:circular ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 5 ; sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:minCount 1 ; + [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; + sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:restriction_enzymes ] ; + sh:order 1 ; + sh:path opencloning_linkml:circular ] ; sh:targetClass opencloning_linkml:RestrictionAndLigationSource . opencloning_linkml:RestrictionEnzymeDigestionSource a sh:NodeShape ; @@ -1414,27 +1414,27 @@ opencloning_linkml:RestrictionEnzymeDigestionSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path schema1:identifier ], - [ sh:class opencloning_linkml:RestrictionSequenceCut ; - sh:maxCount 1 ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 1 ; - sh:path opencloning_linkml:right_edge ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 5 ; - sh:path schema1:object ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:output_name ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 5 ; + sh:path schema1:object ], [ sh:class opencloning_linkml:RestrictionSequenceCut ; sh:maxCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 0 ; sh:path opencloning_linkml:left_edge ], + [ sh:class opencloning_linkml:RestrictionSequenceCut ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 1 ; + sh:path opencloning_linkml:right_edge ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -1448,36 +1448,36 @@ opencloning_linkml:ReverseComplementSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the in-silico transformation of a sequence into its reverse complement" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path schema1:identifier ], - [ sh:class schema1:Role ; + sh:property [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 3 ; sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:type ], + sh:order 2 ; + sh:path schema1:identifier ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 4 ; - sh:path schema1:identifier ] ; + sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:type ] ; sh:targetClass opencloning_linkml:ReverseComplementSource . opencloning_linkml:SEVASource a sh:NodeShape ; @@ -1485,34 +1485,25 @@ opencloning_linkml:SEVASource a sh:NodeShape ; sh:description "Represents the source of a sequence that is identified by a SEVA id" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:string ; - sh:description "The URL of the sequence file, which can refer to a a gb file hosted on the SEVA website or an entry in the NCBI." ; + sh:description "The SEVA plasmid name" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:sequence_file_url ; - sh:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ], + sh:order 1 ; + sh:path opencloning_linkml:repository_id ; + sh:pattern "^pSEVA\\d+.*$" ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 6 ; sh:path schema1:object ], [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; + sh:order 7 ; sh:path schema1:identifier ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 2 ; - sh:path opencloning_linkml:repository_name ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; @@ -1520,19 +1511,28 @@ opencloning_linkml:SEVASource a sh:NodeShape ; sh:order 4 ; sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:string ; - sh:description "The SEVA plasmid name" ; + sh:description "The URL of the sequence file, which can refer to a a gb file hosted on the SEVA website or an entry in the NCBI." ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:repository_id ; - sh:pattern "^pSEVA\\d+.*$" ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:order 0 ; + sh:path opencloning_linkml:sequence_file_url ; + sh:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:type ], + [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; sh:maxCount 1 ; sh:minCount 1 ; + sh:order 2 ; + sh:path opencloning_linkml:repository_name ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 7 ; + sh:order 5 ; sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:SEVASource . @@ -1540,18 +1540,12 @@ opencloning_linkml:SequenceCutSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is a subfragment of another sequence, generated by sequence cutting." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:property [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path schema1:identifier ], - [ sh:class opencloning_linkml:SequenceCut ; - sh:maxCount 1 ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 1 ; - sh:path opencloning_linkml:right_edge ], + sh:order 2 ; + sh:path opencloning_linkml:type ], [ sh:class opencloning_linkml:SequenceCut ; sh:maxCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; @@ -1563,36 +1557,42 @@ opencloning_linkml:SequenceCutSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + [ sh:class opencloning_linkml:SequenceCut ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 1 ; + sh:path opencloning_linkml:right_edge ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:output_name ], + sh:order 6 ; + sh:path schema1:identifier ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 5 ; sh:path schema1:object ], [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:type ] ; + sh:order 3 ; + sh:path opencloning_linkml:output_name ] ; sh:targetClass opencloning_linkml:SequenceCutSource . opencloning_linkml:SequencingFile a sh:NodeShape ; sh:closed true ; sh:description "Represents a sequencing file and its alignment to a sequence" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class bioschemas:DNA ; - sh:description "The sequence this file is associated with" ; + sh:property [ sh:datatype xsd:string ; + sh:description "The name of the file" ; sh:maxCount 1 ; sh:minCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 2 ; - sh:path opencloning_linkml:sequence_id ], + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:file_name ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -1611,13 +1611,13 @@ opencloning_linkml:SequencingFile a sh:NodeShape ; sh:minCount 1 ; sh:order 4 ; sh:path opencloning_linkml:file_type ], - [ sh:datatype xsd:string ; - sh:description "The name of the file" ; + [ sh:class bioschemas:DNA ; + sh:description "The sequence this file is associated with" ; sh:maxCount 1 ; sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:file_name ] ; + sh:nodeKind sh:IRI ; + sh:order 2 ; + sh:path opencloning_linkml:sequence_id ] ; sh:targetClass opencloning_linkml:SequencingFile . opencloning_linkml:SnapGenePlasmidSource a sh:NodeShape ; @@ -1631,24 +1631,18 @@ opencloning_linkml:SnapGenePlasmidSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 6 ; sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:type ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "The subpath of the plasmid in the SnapGene plasmid library. Requesting the plasmid is possible with https://www.snapgene.com/local/fetch.php?set={category_path}&plasmid={plasmid['subpath']} where category_path is the left part of the subpath before the first / and plasmid is the subpath after the /." ; sh:maxCount 1 ; @@ -1657,47 +1651,53 @@ opencloning_linkml:SnapGenePlasmidSource a sh:NodeShape ; sh:order 0 ; sh:path opencloning_linkml:repository_id ; sh:pattern "^.+\\/.+$" ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path opencloning_linkml:repository_name ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 5 ; - sh:path schema1:object ] ; + sh:path schema1:object ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:output_name ], + [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path opencloning_linkml:repository_name ] ; sh:targetClass opencloning_linkml:SnapGenePlasmidSource . opencloning_linkml:TemplateSequence a sh:NodeShape ; sh:closed true ; sh:description "Represents a sequence that is part of a template, where the actual sequence content will be determined by the user's actions" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Can be used to indicate the intended primer design for this sequence in the template" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:primer_design ], - [ sh:datatype xsd:boolean ; + sh:property [ sh:datatype xsd:boolean ; sh:description "Whether the sequence is circular or linear" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:circular ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:type ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + [ sh:datatype xsd:string ; + sh:description "Can be used to indicate the intended primer design for this sequence in the template" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path schema1:identifier ] ; + sh:order 1 ; + sh:path opencloning_linkml:primer_design ] ; sh:targetClass opencloning_linkml:TemplateSequence . opencloning_linkml:TextFileSequence a sh:NodeShape ; @@ -1705,17 +1705,10 @@ opencloning_linkml:TextFileSequence a sh:NodeShape ; sh:description "A sequence (may have features) defined by the content of a text file" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:integer ; - sh:description "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" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:overhang_crick_3prime ], + sh:order 3 ; + sh:path opencloning_linkml:file_content ], [ sh:description "The format of a sequence file" ; sh:in ( "fasta" "genbank" "snapgene" "embl" ) ; sh:maxCount 1 ; @@ -1723,23 +1716,30 @@ opencloning_linkml:TextFileSequence a sh:NodeShape ; sh:order 0 ; sh:path opencloning_linkml:sequence_file_format ], [ sh:datatype xsd:integer ; - sh:description "The equivalent of `overhang_crick_3prime` but for the watson strand" ; + sh:description "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" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:overhang_crick_3prime ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:overhang_watson_3prime ], + sh:order 4 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:file_content ], + sh:order 5 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:description "The equivalent of `overhang_crick_3prime` but for the watson strand" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path schema1:identifier ] ; + sh:order 2 ; + sh:path opencloning_linkml:overhang_watson_3prime ] ; sh:targetClass opencloning_linkml:TextFileSequence . opencloning_linkml:UploadedFileSource a sh:NodeShape ; @@ -1747,23 +1747,22 @@ opencloning_linkml:UploadedFileSource a sh:NodeShape ; sh:description "Represents the source of a sequence that is uploaded as a file" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:integer ; - sh:description "The index of the sequence in the file" ; + sh:description "The name of the file" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:index_in_file ], + sh:order 1 ; + sh:path opencloning_linkml:file_name ], [ sh:datatype xsd:boolean ; sh:description "Whether the sequence should be circularized (FASTA only)" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:circularize ], + [ sh:description "If provided, coordinates within the sequence of the file to extract a subsequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path opencloning_linkml:coordinates ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -1772,46 +1771,69 @@ opencloning_linkml:UploadedFileSource a sh:NodeShape ; sh:order 9 ; sh:path schema1:identifier ], [ sh:datatype xsd:string ; - sh:description "The name of the file" ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:file_name ], - [ sh:description "The format of a sequence file" ; - sh:in ( "fasta" "genbank" "snapgene" "embl" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path opencloning_linkml:sequence_file_format ], + sh:order 6 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 7 ; sh:path schema1:identifier ], + [ sh:description "The format of a sequence file" ; + sh:in ( "fasta" "genbank" "snapgene" "embl" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path opencloning_linkml:sequence_file_format ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path opencloning_linkml:type ], - [ sh:description "If provided, coordinates within the sequence of the file to extract a subsequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:coordinates ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 8 ; - sh:path schema1:object ] ; + sh:path schema1:object ], + [ sh:datatype xsd:integer ; + sh:description "The index of the sequence in the file" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:index_in_file ] ; sh:targetClass opencloning_linkml:UploadedFileSource . opencloning_linkml:WekWikGeneIdSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is identified by a WeKwikGene id" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; + sh:property [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path opencloning_linkml:output_name ], + [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 2 ; + sh:path opencloning_linkml:repository_name ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 6 ; + sh:path schema1:object ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; @@ -1832,28 +1854,6 @@ opencloning_linkml:WekWikGeneIdSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:type ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 2 ; - sh:path opencloning_linkml:repository_name ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 6 ; - sh:path schema1:object ], [ sh:datatype xsd:string ; sh:description "The URL of a sequence file" ; sh:maxCount 1 ; @@ -1866,7 +1866,7 @@ opencloning_linkml:WekWikGeneIdSource a sh:NodeShape ; opencloning_linkml:AnnotationReport a sh:NodeShape ; sh:closed true ; sh:description "Represents a report of an annotation step" ; - sh:ignoredProperties ( opencloning_linkml:percent_identity opencloning_linkml:start_location opencloning_linkml:fragment rdf:type opencloning_linkml:length_of_found_feature opencloning_linkml:sequence opencloning_linkml:sseqid opencloning_linkml:end_location opencloning_linkml:percent_match_length opencloning_linkml:full_length_of_feature_in_db opencloning_linkml:Description opencloning_linkml:Feature opencloning_linkml:strand opencloning_linkml:database opencloning_linkml:Type ) ; + sh:ignoredProperties ( opencloning_linkml:Description opencloning_linkml:fragment opencloning_linkml:percent_match_length opencloning_linkml:strand opencloning_linkml:sseqid opencloning_linkml:Type opencloning_linkml:start_location opencloning_linkml:length_of_found_feature opencloning_linkml:Feature opencloning_linkml:sequence rdf:type opencloning_linkml:percent_identity opencloning_linkml:end_location opencloning_linkml:full_length_of_feature_in_db opencloning_linkml:database ) ; sh:property [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -1878,53 +1878,53 @@ opencloning_linkml:AnnotationReport a sh:NodeShape ; opencloning_linkml:AssociatedFile a sh:NodeShape ; sh:closed true ; sh:description "Represents a file associated with a sequence" ; - sh:ignoredProperties ( opencloning_linkml:alignment rdf:type ) ; + sh:ignoredProperties ( rdf:type opencloning_linkml:alignment ) ; sh:property [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:type ], + [ sh:description "The type of file" ; + sh:in ( NCIT:C171177 ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 3 ; + sh:path opencloning_linkml:file_type ], + [ sh:datatype xsd:string ; sh:description "The name of the file" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:file_name ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:type ], [ sh:class bioschemas:DNA ; sh:description "The sequence this file is associated with" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:IRI ; sh:order 1 ; - sh:path opencloning_linkml:sequence_id ], - [ sh:description "The type of file" ; - sh:in ( NCIT:C171177 ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 3 ; - sh:path opencloning_linkml:file_type ] ; + sh:path opencloning_linkml:sequence_id ] ; sh:targetClass opencloning_linkml:AssociatedFile . opencloning_linkml:CollectionOption a sh:NodeShape ; sh:closed true ; sh:description "Represents an option in a collection" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "A human-readable name for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path schema1:name ], - [ sh:class schema1:CreateAction ; + sh:property [ sh:class schema1:CreateAction ; sh:description "The source of the sequence for this option" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:IRI ; sh:order 1 ; sh:path opencloning_linkml:source ], + [ sh:datatype xsd:string ; + sh:description "A human-readable name for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path schema1:name ], [ sh:class opencloning_linkml:CollectionOptionInfo ; sh:description "Additional information about this option" ; sh:maxCount 1 ; @@ -1937,7 +1937,18 @@ opencloning_linkml:CollectionOptionInfo a sh:NodeShape ; sh:closed true ; sh:description "Additional information about a collection option" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; + sh:property [ sh:description "The type of the option, this is redundant with the type of the source, and could be removed." ; + sh:in ( "OligoPair" "AddgenePlasmid" ) ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:string ; + sh:description "The antibiotic resistance of the plasmid" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:resistance ], + [ sh:datatype xsd:string ; sh:description "A human-readable name for a thing" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -1949,17 +1960,6 @@ opencloning_linkml:CollectionOptionInfo a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path opencloning_linkml:well ], - [ sh:datatype xsd:string ; - sh:description "The antibiotic resistance of the plasmid" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:resistance ], - [ sh:description "The type of the option, this is redundant with the type of the source, and could be removed." ; - sh:in ( "OligoPair" "AddgenePlasmid" ) ; - sh:maxCount 1 ; - sh:order 2 ; - sh:path opencloning_linkml:type ], [ sh:datatype xsd:string ; sh:description "A description of the option" ; sh:maxCount 1 ; @@ -1972,19 +1972,18 @@ opencloning_linkml:Primer a sh:NodeShape ; sh:closed true ; sh:description "An oligonucleotide or primer" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:string ; + sh:property [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path opencloning_linkml:type ], + [ sh:datatype xsd:string ; + sh:description "A human-readable name for a thing" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path schema1:name ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -1992,53 +1991,54 @@ opencloning_linkml:Primer a sh:NodeShape ; sh:path opencloning_linkml:sequence ; sh:pattern "^[acgtACGT]+$" ], [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; + sh:order 3 ; sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "A human-readable name for a thing" ; + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path schema1:name ] ; + sh:order 1 ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:Primer . schema1:CreateAction a sh:NodeShape ; sh:closed false ; sh:description "Represents the source of a sequence" ; - sh:ignoredProperties ( opencloning_linkml:restriction_enzymes opencloning_linkml:left_edge opencloning_linkml:repository_name opencloning_linkml:sequence_accession opencloning_linkml:greedy opencloning_linkml:reaction_type opencloning_linkml:locus_tag opencloning_linkml:overhang_watson_3prime opencloning_linkml:sequence_file_format opencloning_linkml:image opencloning_linkml:category_id opencloning_linkml:gene_id opencloning_linkml:overhang_crick_3prime opencloning_linkml:add_primer_features opencloning_linkml:start opencloning_linkml:description opencloning_linkml:user_input rdf:type opencloning_linkml:end opencloning_linkml:assembly_accession opencloning_linkml:repository_id opencloning_linkml:options opencloning_linkml:annotation_tool_version opencloning_linkml:sequence_file_url opencloning_linkml:annotation_report opencloning_linkml:right_edge opencloning_linkml:title opencloning_linkml:coordinates opencloning_linkml:addgene_sequence_type opencloning_linkml:annotation_tool opencloning_linkml:circularize opencloning_linkml:index_in_file opencloning_linkml:file_name opencloning_linkml:strand opencloning_linkml:circular ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path schema1:identifier ], - [ sh:class schema1:Role ; + sh:ignoredProperties ( opencloning_linkml:annotation_tool opencloning_linkml:greedy opencloning_linkml:gene_id opencloning_linkml:annotation_report opencloning_linkml:addgene_sequence_type opencloning_linkml:user_input opencloning_linkml:image opencloning_linkml:circular opencloning_linkml:category_id opencloning_linkml:strand rdf:type opencloning_linkml:end opencloning_linkml:title opencloning_linkml:left_edge opencloning_linkml:add_primer_features opencloning_linkml:locus_tag opencloning_linkml:repository_name opencloning_linkml:reaction_type opencloning_linkml:sequence_accession opencloning_linkml:options opencloning_linkml:index_in_file opencloning_linkml:right_edge opencloning_linkml:overhang_crick_3prime opencloning_linkml:repository_id opencloning_linkml:restriction_enzymes opencloning_linkml:file_name opencloning_linkml:coordinates opencloning_linkml:sequence_file_url opencloning_linkml:start opencloning_linkml:circularize opencloning_linkml:annotation_tool_version opencloning_linkml:overhang_watson_3prime opencloning_linkml:description opencloning_linkml:sequence_file_format opencloning_linkml:assembly_accession ) ; + sh:property [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 3 ; sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:output_name ], + sh:order 4 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:type ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path schema1:identifier ] ; + sh:order 1 ; + sh:path opencloning_linkml:output_name ] ; sh:targetClass schema1:CreateAction . opencloning_linkml:RestrictionSequenceCut a sh:NodeShape ; @@ -2046,12 +2046,12 @@ opencloning_linkml:RestrictionSequenceCut a sh:NodeShape ; sh:description "Represents a cut in a DNA sequence that is made by a restriction enzyme" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:integer ; - sh:description "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`." ; + sh:description "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." ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:overhang ], + sh:order 1 ; + sh:path opencloning_linkml:cut_watson ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:minCount 1 ; @@ -2059,12 +2059,12 @@ opencloning_linkml:RestrictionSequenceCut a sh:NodeShape ; sh:order 0 ; sh:path opencloning_linkml:restriction_enzyme ], [ sh:datatype xsd:integer ; - sh:description "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." ; + sh:description "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`." ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:cut_watson ] ; + sh:order 2 ; + sh:path opencloning_linkml:overhang ] ; sh:targetClass opencloning_linkml:RestrictionSequenceCut . opencloning_linkml:SequenceCut a sh:NodeShape ; @@ -2090,26 +2090,26 @@ opencloning_linkml:SequenceCut a sh:NodeShape ; bioschemas:DNA a sh:NodeShape ; sh:closed false ; sh:description "Represents a sequence" ; - sh:ignoredProperties ( opencloning_linkml:overhang_crick_3prime opencloning_linkml:file_content opencloning_linkml:primer_design opencloning_linkml:sequence schema1:name opencloning_linkml:overhang_watson_3prime opencloning_linkml:sequence_file_format rdf:type opencloning_linkml:circular ) ; - sh:property [ sh:datatype xsd:integer ; + sh:ignoredProperties ( opencloning_linkml:file_content schema1:name opencloning_linkml:overhang_watson_3prime opencloning_linkml:overhang_crick_3prime opencloning_linkml:circular opencloning_linkml:sequence_file_format rdf:type opencloning_linkml:primer_design opencloning_linkml:sequence ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ] ; + sh:path schema1:identifier ] ; sh:targetClass bioschemas:DNA . schema1:Role a sh:NodeShape ; sh:closed true ; sh:description "Represents an input to a source" ; - sh:ignoredProperties ( opencloning_linkml:right_location rdf:type opencloning_linkml:reverse_complemented opencloning_linkml:left_location ) ; + sh:ignoredProperties ( opencloning_linkml:right_location rdf:type opencloning_linkml:left_location opencloning_linkml:reverse_complemented ) ; sh:property [ sh:class bioschemas:DNA ; sh:description "The input sequence" ; sh:maxCount 1 ; diff --git a/src/opencloning_linkml/datamodel/_models.py b/src/opencloning_linkml/datamodel/_models.py index a49c282..c2a1731 100644 --- a/src/opencloning_linkml/datamodel/_models.py +++ b/src/opencloning_linkml/datamodel/_models.py @@ -1780,6 +1780,7 @@ class IGEMSource(RepositoryIdSource): "sequence_file_url": { "description": "The URL of the sequence " "file, for now github " "repository", "name": "sequence_file_url", + "pattern": "^.*.gb$", "required": True, }, }, @@ -1860,9 +1861,7 @@ class IGEMSource(RepositoryIdSource): @field_validator("sequence_file_url") def pattern_sequence_file_url(cls, v): - pattern = re.compile( - r"^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)$" - ) + pattern = re.compile(r"^.*.gb$") if isinstance(v, list): for element in v: if isinstance(element, str) and not pattern.match(element): diff --git a/src/opencloning_linkml/schema/opencloning_linkml.yaml b/src/opencloning_linkml/schema/opencloning_linkml.yaml index 5c97a2b..06a6026 100644 --- a/src/opencloning_linkml/schema/opencloning_linkml.yaml +++ b/src/opencloning_linkml/schema/opencloning_linkml.yaml @@ -416,6 +416,7 @@ classes: required: true description: >- The URL of the sequence file, for now github repository + pattern: ^.*.gb$ OpenDNACollectionsSource: is_a: RepositoryIdSource From 78c2e6ab0f3733ede824ebd7a08bacb5c839f624 Mon Sep 17 00:00:00 2001 From: Manuel Lera-Ramirez Date: Thu, 27 Nov 2025 13:07:13 +0000 Subject: [PATCH 2/5] more strict repository_id validations --- project/excel/opencloning_linkml.xlsx | Bin 30966 -> 30966 bytes .../jsonld/opencloning_linkml.context.jsonld | 2 +- project/jsonld/opencloning_linkml.jsonld | 11 +- .../jsonschema/opencloning_linkml.schema.json | 5 +- project/owl/opencloning_linkml.owl.ttl | 930 +++++----- project/python/opencloning_linkml.py | 5 +- project/shacl/opencloning_linkml.shacl.ttl | 1573 +++++++++-------- project/sqlschema/opencloning_linkml.sql | 2 +- src/opencloning_linkml/datamodel/_models.py | 23 +- .../schema/opencloning_linkml.yaml | 4 +- 10 files changed, 1289 insertions(+), 1266 deletions(-) diff --git a/project/excel/opencloning_linkml.xlsx b/project/excel/opencloning_linkml.xlsx index a041bc00108a8fa2424172a48fbb0023b73bbe44..7153541477a1dc3bd257427415a1331885d067c7 100644 GIT binary patch delta 1354 zcmYk5drVVz6vyucOIn1=(*RcJ>{-${2&8oh{8ym-~%N}G)hQ(2373Gld-*6E>9is=iJTZxnx` z5d0ILb1uI1m9}`qJ$B~M|5@gGQfl`)C-3!RV4ChS_nbNGtc72qJAHnMCSKFGY^bkvyZXdtymHS#ZHSRK+Nx3utXIZ| zLb96Ql{MKNlgROBTf@Xmo3q;>5l&s*)P7^eVgB)W?nP(8^52)_%ydL1`0wv^jko5< z?3@eJChQY53fWtehtK7`SkSD#d05pmwEF6$JAv)Wj*yhW1H;cx&B;59nq58DtrkO? zz!~-Kt^Qfy$D63rI|^GQL4FL=vXo&$xn1B1Hr~%?)QF?_r7YnO0y|JNU*TfY4X-*0+`IZ1=(cnj&Q5KhqioCG zdBBFu>S*j+J&{J9=VM+yv#8>YP2R?+JmfTA4)mK7g zfFi&QS%6uDD$JleX=U83g72Ju9OCM5q}&bqIA{IY8(#N@kyReUR&V%+H+0i5vKpSb zm4cktU+wAiuYoYR20UZ6BGg1H{j}m=3xbZKiDHaGW&y2?qSNvjS=y8ZUeq${8j_V* Jvj|*P&Hwb3F6RIM delta 1354 zcmezNk@4F{MxFp~W)=|!1_llWi@1qA>jW+0s-vf;#~*tK6g$nxz#up|FiT|OeZG2W z=k8rGW`#_got_GLfsb-U&$bIKF8e=kTh3j97>i@?A0OWq^ip9<{|}kk10JT!BGaX( zxA0|`sc1I-js*N zW{VGG9AMM6@;Xq=7e3A4)|d3dGkj8}zv|4YzipQPT={zbk%wBapiSgt^8Kbcy`Tvg%=_PXZ23LuGxIo)*w>sY3#AeuzT+<#Ji_P z=-g+&-v4j)g{t89uj{44&5w0Egnf8@|A{zqNK{A9jG3b>z{bEZN1cH|7#J3tUo+~m zF-=JTW@R7yepG0#>j21lz0M`ikCVEruAjqKt@lF)=}L&M@|}S%}#|fFm0$D2$nNc zR-5df&$@ZND%crdwSUyXYQbzfEr`Bo9S5j-)y;?Wbl_}JLmehQkTdv8zuT<_MtB&@ zWJ6P_&6&o#KyH|P(M)Z!Lm}(t0MmM~n=YEI0@Jk?i^1{@wrZO_tm+|NN%lzZZaWz)3xMt{Eus(@!IdCx91gLF}i!5g31qIV$*-()KK(&)58vsM;N7Mzd z(o->vAf=nn##Mv0cqKjuagCGSF@tF3v}a&t+!-%H^yF`uHXN{wHrXo693)npWe=jZ zWVwK-Ul7V68_a8iP-h^NP!3oy0z%D$P){I~R<0{Zdm)6{0ipgws1Nxvlaul^LGrzM zU}bd$GLt_*L_kdQe6S=)T^)jX6vl*W2`&Jut1AGD9EDIkg8#DA3-QgCk0#!WzU&t#AWT HYb!hf@&4gZ diff --git a/project/jsonld/opencloning_linkml.context.jsonld b/project/jsonld/opencloning_linkml.context.jsonld index e092a90..f9aff2c 100644 --- a/project/jsonld/opencloning_linkml.context.jsonld +++ b/project/jsonld/opencloning_linkml.context.jsonld @@ -1,7 +1,7 @@ { "comments": { "description": "Auto generated by LinkML jsonld context generator", - "generation_date": "2025-11-27T11:49:42", + "generation_date": "2025-11-27T13:06:42", "source": "opencloning_linkml.yaml" }, "@context": { diff --git a/project/jsonld/opencloning_linkml.jsonld b/project/jsonld/opencloning_linkml.jsonld index afcb601..f5c43b1 100644 --- a/project/jsonld/opencloning_linkml.jsonld +++ b/project/jsonld/opencloning_linkml.jsonld @@ -2021,7 +2021,7 @@ "usage_slot_name": "repository_id", "range": "string", "required": true, - "pattern": "^.+\\/.+$", + "pattern": "^[^\\\\]*\\\\[^\\\\]$", "@type": "SlotDefinition" }, { @@ -2047,7 +2047,7 @@ { "name": "IGEMSource_repository_id", "definition_uri": "https://opencloning.github.io/OpenCloning_LinkML/repository_id", - "description": "The unique identifier of the sequence in the iGEM collection (for now, {part_id}-{plasmid_backbone})", + "description": "The unique identifier of the sequence in the iGEM collection (for now, {part_id}-{plasmid_backbone}) pattern: ^[^-]*-[^-]$", "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", "is_a": "repository_id", "domain": "IGEMSource", @@ -2100,6 +2100,7 @@ "usage_slot_name": "repository_id", "range": "string", "required": true, + "pattern": "^[^\\\\]*\\\\[^\\\\]$", "@type": "SlotDefinition" }, { @@ -3541,9 +3542,9 @@ ], "metamodel_version": "1.7.0", "source_file": "opencloning_linkml.yaml", - "source_file_date": "2025-11-27T11:48:18", - "source_file_size": 26053, - "generation_date": "2025-11-27T11:49:42", + "source_file_date": "2025-11-27T13:06:37", + "source_file_size": 26125, + "generation_date": "2025-11-27T13:06:42", "@type": "SchemaDefinition", "@context": [ "project/jsonld/opencloning_linkml.context.jsonld", diff --git a/project/jsonschema/opencloning_linkml.schema.json b/project/jsonschema/opencloning_linkml.schema.json index 66e1691..4437533 100644 --- a/project/jsonschema/opencloning_linkml.schema.json +++ b/project/jsonschema/opencloning_linkml.schema.json @@ -1471,7 +1471,7 @@ ] }, "repository_id": { - "description": "The unique identifier of the sequence in the iGEM collection (for now, {part_id}-{plasmid_backbone})", + "description": "The unique identifier of the sequence in the iGEM collection (for now, {part_id}-{plasmid_backbone}) pattern: ^[^-]*-[^-]$", "type": "string" }, "repository_name": { @@ -1895,6 +1895,7 @@ }, "repository_id": { "description": "Subpath of the sequence in the Open DNA collections repository", + "pattern": "^[^\\\\]*\\\\[^\\\\]$", "type": "string" }, "repository_name": { @@ -2836,7 +2837,7 @@ }, "repository_id": { "description": "The subpath of the plasmid in the SnapGene plasmid library. Requesting the plasmid is possible with https://www.snapgene.com/local/fetch.php?set={category_path}&plasmid={plasmid['subpath']} where category_path is the left part of the subpath before the first / and plasmid is the subpath after the /.", - "pattern": "^.+\\/.+$", + "pattern": "^[^\\\\]*\\\\[^\\\\]$", "type": "string" }, "repository_name": { diff --git a/project/owl/opencloning_linkml.owl.ttl b/project/owl/opencloning_linkml.owl.ttl index 61f8c45..18328a6 100644 --- a/project/owl/opencloning_linkml.owl.ttl +++ b/project/owl/opencloning_linkml.owl.ttl @@ -15,65 +15,65 @@ opencloning_linkml:CloningStrategy a owl:Class, linkml:ClassDefinition ; rdfs:label "CloningStrategy" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:description ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:description ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:AssociatedFile ; - owl:onProperty opencloning_linkml:files ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:frontend_version ], - [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:Source ; owl:onProperty opencloning_linkml:sources ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom opencloning_linkml:version_number ; owl:onProperty opencloning_linkml:backend_version ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:primers ], + owl:onProperty opencloning_linkml:backend_version ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:version_number ; + owl:onProperty opencloning_linkml:schema_version ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:version_number ; + owl:onProperty opencloning_linkml:frontend_version ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:schema_version ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:backend_version ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom opencloning_linkml:AssociatedFile ; owl:onProperty opencloning_linkml:files ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:sources ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:frontend_version ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:frontend_version ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:schema_version ], + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:sequences ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:Primer ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:primers ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:version_number ; - owl:onProperty opencloning_linkml:schema_version ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:version_number ; - owl:onProperty opencloning_linkml:frontend_version ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:schema_version ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:backend_version ], + owl:allValuesFrom opencloning_linkml:Primer ; + owl:onProperty opencloning_linkml:primers ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:Sequence ; owl:onProperty opencloning_linkml:sequences ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:files ], [ a owl:Restriction ; owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:sequences ] ; + owl:onProperty opencloning_linkml:sources ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:description ] ; skos:definition "Represents a cloning strategy" ; skos:inScheme . @@ -91,11 +91,11 @@ opencloning_linkml:CollectionOption a owl:Class, linkml:ClassDefinition ; rdfs:label "CollectionOption" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:CollectionOptionInfo ; - owl:onProperty opencloning_linkml:info ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:name ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:source ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:Source ; owl:onProperty opencloning_linkml:source ], @@ -103,17 +103,17 @@ opencloning_linkml:CollectionOption a owl:Class, owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:info ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:source ], + owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:source ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:name ], + owl:allValuesFrom opencloning_linkml:CollectionOptionInfo ; + owl:onProperty opencloning_linkml:info ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:info ] ; @@ -124,49 +124,49 @@ opencloning_linkml:CollectionOptionInfo a owl:Class, linkml:ClassDefinition ; rdfs:label "CollectionOptionInfo" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:name ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:description ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:resistance ], - [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:type ], + owl:onProperty opencloning_linkml:resistance ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:CollectionOptionType ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:name ], + owl:onProperty opencloning_linkml:well ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:resistance ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:well ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:well ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:resistance ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:CollectionOptionType ; + owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:well ], + owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:resistance ], + owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:well ], + owl:onProperty opencloning_linkml:resistance ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:description ] ; skos:definition "Additional information about a collection option" ; skos:inScheme . @@ -175,10 +175,16 @@ opencloning_linkml:AddgeneIdSource a owl:Class, linkml:ClassDefinition ; rdfs:label "AddgeneIdSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom opencloning_linkml:AddgeneSequenceType ; owl:onProperty opencloning_linkml:addgene_sequence_type ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:AddgeneSequenceType ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:sequence_file_url ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_file_url ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:addgene_sequence_type ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; @@ -188,13 +194,7 @@ opencloning_linkml:AddgeneIdSource a owl:Class, owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:sequence_file_url ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:addgene_sequence_type ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_file_url ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence that is identified by an Addgene id" ; skos:inScheme . @@ -217,24 +217,24 @@ opencloning_linkml:AnnotationSource a owl:Class, owl:onProperty opencloning_linkml:annotation_report ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:annotation_tool_version ], - [ a owl:Restriction ; - owl:minCardinality 1 ; owl:onProperty opencloning_linkml:annotation_tool ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:annotation_report ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:AnnotationTool ; - owl:onProperty opencloning_linkml:annotation_tool ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:annotation_tool_version ], [ a owl:Restriction ; owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:annotation_tool_version ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:annotation_tool ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:AnnotationTool ; owl:onProperty opencloning_linkml:annotation_tool ], [ a owl:Restriction ; owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:annotation_report ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:annotation_tool_version ], opencloning_linkml:Source ; skos:definition "Represents a computational step in which sequence features are annotated in a sequence" ; @@ -245,19 +245,16 @@ opencloning_linkml:AssemblyFragment a owl:Class, rdfs:label "AssemblyFragment" ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:left_location ], + owl:onProperty opencloning_linkml:reverse_complemented ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:right_location ], + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:reverse_complemented ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:reverse_complemented ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:sequence_range ; owl:onProperty opencloning_linkml:right_location ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:reverse_complemented ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:right_location ], @@ -265,11 +262,14 @@ opencloning_linkml:AssemblyFragment a owl:Class, owl:minCardinality 0 ; owl:onProperty opencloning_linkml:left_location ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty opencloning_linkml:reverse_complemented ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:right_location ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:sequence_range ; owl:onProperty opencloning_linkml:left_location ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:left_location ], opencloning_linkml:SourceInput ; skos:definition "Represents a fragment in an assembly" ; skos:inScheme . @@ -323,11 +323,20 @@ opencloning_linkml:CollectionSource a owl:Class, linkml:ClassDefinition ; rdfs:label "CollectionSource" ; rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:category_id ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:CollectionOption ; + owl:onProperty opencloning_linkml:options ], + [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:title ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:category_id ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:description ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:description ], @@ -337,30 +346,21 @@ opencloning_linkml:CollectionSource a owl:Class, [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:title ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:image ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:options ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:image ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:title ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:CollectionOption ; - owl:onProperty opencloning_linkml:options ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:image ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:description ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:category_id ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:category_id ], + owl:onProperty opencloning_linkml:image ], opencloning_linkml:Source ; skos:definition "Represents a collection of possible sources in a template" ; skos:inScheme . @@ -420,23 +420,23 @@ opencloning_linkml:GatewaySource a owl:Class, linkml:ClassDefinition ; rdfs:label "GatewaySource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:greedy ], + owl:allValuesFrom opencloning_linkml:GatewayReactionType ; + owl:onProperty opencloning_linkml:reaction_type ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:reaction_type ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:reaction_type ], [ a owl:Restriction ; owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:greedy ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:greedy ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:GatewayReactionType ; - owl:onProperty opencloning_linkml:reaction_type ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:reaction_type ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:greedy ], opencloning_linkml:AssemblySource ; skos:definition "Represents the source of a sequence that is generated by Gateway cloning" ; skos:inScheme . @@ -445,68 +445,68 @@ opencloning_linkml:GenomeCoordinatesSource a owl:Class, linkml:ClassDefinition ; rdfs:label "GenomeCoordinatesSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:assembly_accession ], + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:end ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:start ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:gene_id ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_accession ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:gene_id ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:locus_tag ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:assembly_accession ], + owl:onProperty opencloning_linkml:sequence_accession ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:end ], + owl:onProperty opencloning_linkml:start ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:start ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:sequence_accession ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:locus_tag ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:end ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_accession ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:gene_id ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:strand ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:strand ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:gene_id ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:gene_id ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:start ], + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:strand ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:strand ], + owl:onProperty opencloning_linkml:assembly_accession ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:locus_tag ], + owl:onProperty opencloning_linkml:assembly_accession ], [ a owl:Restriction ; owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_accession ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:end ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:assembly_accession ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_accession ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:locus_tag ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:gene_id ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is identified by genome coordinates, requested from NCBI" ; skos:inScheme . @@ -528,20 +528,20 @@ opencloning_linkml:IGEMSource a owl:Class, owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:allValuesFrom [ a rdfs:Datatype ; - owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; - owl:onDatatype xsd:string ; - owl:withRestrictions ( [ xsd:pattern "^.*.gb$" ] ) ] ) ] ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:repository_id ], + [ a owl:Restriction ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom [ a rdfs:Datatype ; + owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; + owl:onDatatype xsd:string ; + owl:withRestrictions ( [ xsd:pattern "^.*.gb$" ] ) ] ) ] ; owl:onProperty opencloning_linkml:sequence_file_url ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:repository_id ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence from an iGEM collection" ; skos:inScheme . @@ -572,22 +572,22 @@ opencloning_linkml:ManuallyTypedSource a owl:Class, rdfs:label "ManuallyTypedSource" ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:user_input ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:overhang_watson_3prime ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:overhang_crick_3prime ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:user_input ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:circular ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:overhang_crick_3prime ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:overhang_watson_3prime ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:circular ], @@ -597,18 +597,18 @@ opencloning_linkml:ManuallyTypedSource a owl:Class, owl:onDatatype xsd:string ; owl:withRestrictions ( [ xsd:pattern "^[acgtACGT]+$" ] ) ] ) ] ; owl:onProperty opencloning_linkml:user_input ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:overhang_watson_3prime ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:circular ], [ a owl:Restriction ; owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:user_input ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:overhang_watson_3prime ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:overhang_crick_3prime ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is manually typed by the user" ; skos:inScheme . @@ -620,10 +620,10 @@ opencloning_linkml:NamedThing a owl:Class, owl:minCardinality 1 ; owl:onProperty opencloning_linkml:id ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:id ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:id ] ; skos:exactMatch schema1:Thing ; skos:inScheme . @@ -632,10 +632,10 @@ opencloning_linkml:OligoHybridizationSource a owl:Class, linkml:ClassDefinition ; rdfs:label "OligoHybridizationSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; @@ -648,17 +648,11 @@ opencloning_linkml:OpenDNACollectionsSource a owl:Class, linkml:ClassDefinition ; rdfs:label "OpenDNACollectionsSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:sequence_file_url ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; @@ -666,8 +660,16 @@ opencloning_linkml:OpenDNACollectionsSource a owl:Class, owl:withRestrictions ( [ xsd:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:repository_id ], + [ a owl:Restriction ; + owl:allValuesFrom [ a rdfs:Datatype ; + owl:onDatatype xsd:string ; + owl:withRestrictions ( [ xsd:pattern "^[^\\\\]*\\\\[^\\\\]$" ] ) ] ; owl:onProperty opencloning_linkml:repository_id ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_file_url ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence from the Open DNA collections" ; skos:inScheme . @@ -683,13 +685,13 @@ opencloning_linkml:PCRSource a owl:Class, linkml:ClassDefinition ; rdfs:label "PCRSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:add_primer_features ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:add_primer_features ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:add_primer_features ], opencloning_linkml:AssemblySource ; skos:definition "Represents the source of a sequence that is generated by PCR" ; @@ -699,131 +701,131 @@ opencloning_linkml:PlannotateAnnotationReport a owl:Class, linkml:ClassDefinition ; rdfs:label "PlannotateAnnotationReport" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty opencloning_linkml:fragment ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:Type ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:start_location ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:Feature ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:percent_match_length ], + owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:length_of_found_feature ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty opencloning_linkml:fragment ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:start_location ], + owl:onProperty opencloning_linkml:Feature ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:end_location ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:Type ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:Feature ], + owl:onProperty opencloning_linkml:length_of_found_feature ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Float ; + owl:onProperty opencloning_linkml:percent_match_length ], [ a owl:Restriction ; owl:allValuesFrom linkml:Float ; owl:onProperty opencloning_linkml:percent_identity ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:length_of_found_feature ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:database ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:percent_match_length ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:start_location ], + owl:onProperty opencloning_linkml:sseqid ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:strand ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:Feature ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:sseqid ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:Description ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:percent_match_length ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:database ], + owl:onProperty opencloning_linkml:percent_identity ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:fragment ], + owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:Feature ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:Description ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:end_location ], + owl:onProperty opencloning_linkml:fragment ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:Type ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:length_of_found_feature ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], + owl:onProperty opencloning_linkml:sseqid ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:sequence ], + owl:onProperty opencloning_linkml:start_location ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:length_of_found_feature ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:fragment ], + owl:onProperty opencloning_linkml:length_of_found_feature ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:percent_identity ], + owl:onProperty opencloning_linkml:strand ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:strand ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:Description ], + owl:onProperty opencloning_linkml:end_location ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:end_location ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:Type ], + owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:Type ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:fragment ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:sseqid ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], + owl:onProperty opencloning_linkml:Description ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:database ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:sseqid ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:database ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:end_location ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:Feature ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sseqid ], + owl:onProperty opencloning_linkml:start_location ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:database ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Float ; - owl:onProperty opencloning_linkml:percent_match_length ], + owl:onProperty opencloning_linkml:start_location ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:strand ], + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:percent_identity ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:Description ], + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:strand ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:percent_match_length ], opencloning_linkml:AnnotationReport ; skos:definition "Represents a report of an annotation step using Plannotate" ; skos:inScheme . @@ -884,10 +886,10 @@ opencloning_linkml:RestrictionAndLigationSource a owl:Class, linkml:ClassDefinition ; rdfs:label "RestrictionAndLigationSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:restriction_enzymes ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:restriction_enzymes ], opencloning_linkml:AssemblySource ; skos:definition "Represents the source of a sequence that is generated by restriction and ligation" ; @@ -897,22 +899,22 @@ opencloning_linkml:RestrictionEnzymeDigestionSource a owl:Class, linkml:ClassDefinition ; rdfs:label "RestrictionEnzymeDigestionSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom opencloning_linkml:RestrictionSequenceCut ; owl:onProperty opencloning_linkml:left_edge ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:right_edge ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:left_edge ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:RestrictionSequenceCut ; - owl:onProperty opencloning_linkml:left_edge ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:RestrictionSequenceCut ; owl:onProperty opencloning_linkml:right_edge ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:left_edge ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:right_edge ], opencloning_linkml:SequenceCutSource ; skos:definition "Represents the source of a sequence that is a subfragment of another sequence, generated by sequence cutting using restriction enzymes." ; @@ -945,28 +947,28 @@ opencloning_linkml:SEVASource a owl:Class, linkml:ClassDefinition ; rdfs:label "SEVASource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_file_url ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:sequence_file_url ], - [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:onDatatype xsd:string ; owl:withRestrictions ( [ xsd:pattern "^pSEVA\\d+.*$" ] ) ] ; owl:onProperty opencloning_linkml:repository_id ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; owl:onDatatype xsd:string ; owl:withRestrictions ( [ xsd:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; owl:onProperty opencloning_linkml:sequence_file_url ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_file_url ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:sequence_file_url ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:repository_id ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:repository_id ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence that is identified by a SEVA id" ; skos:inScheme . @@ -1008,15 +1010,15 @@ opencloning_linkml:SnapGenePlasmidSource a owl:Class, linkml:ClassDefinition ; rdfs:label "SnapGenePlasmidSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:onDatatype xsd:string ; - owl:withRestrictions ( [ xsd:pattern "^.+\\/.+$" ] ) ] ; + owl:withRestrictions ( [ xsd:pattern "^[^\\\\]*\\\\[^\\\\]$" ] ) ] ; owl:onProperty opencloning_linkml:repository_id ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence from the SnapGene plasmid library identified by a SnapGene subpath of https://www.snapgene.com/plasmids/" ; @@ -1026,23 +1028,23 @@ opencloning_linkml:TemplateSequence a owl:Class, linkml:ClassDefinition ; rdfs:label "TemplateSequence" ; rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:circular ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:primer_design ], + [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:primer_design ], [ a owl:Restriction ; owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:circular ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:circular ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:primer_design ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:circular ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:primer_design ], opencloning_linkml:Sequence ; skos:definition "Represents a sequence that is part of a template, where the actual sequence content will be determined by the user's actions" ; skos:inScheme . @@ -1051,23 +1053,23 @@ opencloning_linkml:TextFileSequence a owl:Class, linkml:ClassDefinition ; rdfs:label "TextFileSequence" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:file_content ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_file_format ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:overhang_watson_3prime ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_file_format ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:overhang_crick_3prime ], + owl:onProperty opencloning_linkml:overhang_watson_3prime ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:file_content ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:file_content ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:overhang_watson_3prime ], + owl:onProperty opencloning_linkml:overhang_crick_3prime ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:overhang_crick_3prime ], @@ -1075,17 +1077,17 @@ opencloning_linkml:TextFileSequence a owl:Class, owl:allValuesFrom opencloning_linkml:SequenceFileFormat ; owl:onProperty opencloning_linkml:sequence_file_format ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:file_content ], - [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:overhang_watson_3prime ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:overhang_crick_3prime ], + owl:onProperty opencloning_linkml:sequence_file_format ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:overhang_watson_3prime ], + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_file_format ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:file_content ], opencloning_linkml:Sequence ; skos:definition "A sequence (may have features) defined by the content of a text file" ; skos:inScheme . @@ -1094,50 +1096,50 @@ opencloning_linkml:UploadedFileSource a owl:Class, linkml:ClassDefinition ; rdfs:label "UploadedFileSource" ; rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:index_in_file ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:circularize ], + [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:file_name ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:coordinates ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:file_name ], + owl:onProperty opencloning_linkml:index_in_file ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:SequenceFileFormat ; owl:onProperty opencloning_linkml:sequence_file_format ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty opencloning_linkml:circularize ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:index_in_file ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:circularize ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:index_in_file ], + owl:onProperty opencloning_linkml:coordinates ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:sequence_range ; owl:onProperty opencloning_linkml:coordinates ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:coordinates ], + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_file_format ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:file_name ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_file_format ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:circularize ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:file_name ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:index_in_file ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:coordinates ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_file_format ], + owl:onProperty opencloning_linkml:circularize ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_file_format ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:index_in_file ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is uploaded as a file" ; skos:inScheme . @@ -1146,13 +1148,16 @@ opencloning_linkml:WekWikGeneIdSource a owl:Class, linkml:ClassDefinition ; rdfs:label "WekWikGeneIdSource" ; rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:repository_id ], + [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; @@ -1160,9 +1165,6 @@ opencloning_linkml:WekWikGeneIdSource a owl:Class, owl:onDatatype xsd:string ; owl:withRestrictions ( [ xsd:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; owl:onProperty opencloning_linkml:sequence_file_url ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:onDatatype xsd:string ; @@ -1261,35 +1263,35 @@ opencloning_linkml:Primer a owl:Class, linkml:ClassDefinition ; rdfs:label "Primer" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:database_id ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:name ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:name ], - [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; owl:onDatatype xsd:string ; owl:withRestrictions ( [ xsd:pattern "^[acgtACGT]+$" ] ) ] ) ] ; owl:onProperty opencloning_linkml:sequence ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:sequence ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:database_id ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:name ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:database_id ], opencloning_linkml:Sequence ; skos:definition "An oligonucleotide or primer" ; skos:inScheme . @@ -1298,22 +1300,22 @@ opencloning_linkml:SequenceCut a owl:Class, linkml:ClassDefinition ; rdfs:label "SequenceCut" ; rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:cut_watson ], + [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:overhang ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:overhang ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:cut_watson ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:overhang ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:cut_watson ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:cut_watson ] ; skos:definition "Represents a cut in a DNA sequence" ; skos:inScheme . @@ -1322,23 +1324,23 @@ opencloning_linkml:SequenceCutSource a owl:Class, linkml:ClassDefinition ; rdfs:label "SequenceCutSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:right_edge ], - [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom opencloning_linkml:SequenceCut ; owl:onProperty opencloning_linkml:left_edge ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:SequenceCut ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:right_edge ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:left_edge ], + owl:onProperty opencloning_linkml:right_edge ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:SequenceCut ; + owl:onProperty opencloning_linkml:right_edge ], + [ a owl:Restriction ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:left_edge ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:right_edge ], + owl:onProperty opencloning_linkml:left_edge ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is a subfragment of another sequence, generated by sequence cutting." ; skos:inScheme . @@ -1621,10 +1623,10 @@ opencloning_linkml:AnnotationReport a owl:Class, linkml:ClassDefinition ; rdfs:label "AnnotationReport" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:minCardinality 0 ; @@ -1636,10 +1638,13 @@ opencloning_linkml:AssociatedFile a owl:Class, linkml:ClassDefinition ; rdfs:label "AssociatedFile" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:type ], + owl:allValuesFrom opencloning_linkml:Sequence ; + owl:onProperty opencloning_linkml:sequence_id ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_id ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:file_name ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:AssociatedFileType ; @@ -1647,30 +1652,27 @@ opencloning_linkml:AssociatedFile a owl:Class, [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence_id ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:Sequence ; - owl:onProperty opencloning_linkml:sequence_id ], [ a owl:Restriction ; owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:file_type ], + owl:onProperty opencloning_linkml:file_name ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:file_type ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:file_name ], - [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:file_name ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_id ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:type ] ; + owl:onProperty opencloning_linkml:type ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:file_type ] ; skos:definition "Represents a file associated with a sequence" ; skos:inScheme . @@ -1692,12 +1694,12 @@ opencloning_linkml:SourceInput a owl:Class, [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:type ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:Sequence ; owl:onProperty opencloning_linkml:sequence ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:sequence ] ; @@ -1760,11 +1762,14 @@ opencloning_linkml:Sequence a owl:Class, linkml:ClassDefinition ; rdfs:label "Sequence" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:id ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:type ], @@ -1774,9 +1779,6 @@ opencloning_linkml:Sequence a owl:Class, [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:id ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:type ], opencloning_linkml:NamedThing ; skos:definition "Represents a sequence" ; skos:exactMatch bioschemas:DNA ; @@ -1816,13 +1818,16 @@ opencloning_linkml:RepositoryIdSource a owl:Class, linkml:ClassDefinition ; rdfs:label "RepositoryIdSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:RepositoryName ; owl:onProperty opencloning_linkml:repository_name ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:repository_name ], + [ a owl:Restriction ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; @@ -1830,9 +1835,6 @@ opencloning_linkml:RepositoryIdSource a owl:Class, [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:repository_id ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:repository_name ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is identified by a repository id" ; skos:inScheme . @@ -1849,13 +1851,13 @@ opencloning_linkml:AssemblySource a owl:Class, linkml:ClassDefinition ; rdfs:label "AssemblySource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:circular ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:circular ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:circular ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is an assembly of other sequences" ; @@ -1875,38 +1877,38 @@ opencloning_linkml:Source a owl:Class, linkml:ClassDefinition ; rdfs:label "Source" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:output_name ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:input ], [ a owl:Restriction ; owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:output_name ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:output_name ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:database_id ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:SourceInput ; owl:onProperty opencloning_linkml:input ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:output_name ], - [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:output_name ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:input ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:type ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:database_id ], opencloning_linkml:NamedThing ; skos:definition "Represents the source of a sequence" ; skos:exactMatch schema1:CreateAction ; @@ -1948,216 +1950,216 @@ opencloning_linkml:type a owl:ObjectProperty, skos:definition "A LinkML data model for OpenCloning" . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:Sequence ; + rdfs:subClassOf opencloning_linkml:SequenceCutSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:Sequence . + owl:someValuesFrom opencloning_linkml:SequenceCutSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:PlannotateAnnotationReport ; + rdfs:subClassOf opencloning_linkml:OpenDNACollectionsSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:PlannotateAnnotationReport . + owl:someValuesFrom opencloning_linkml:OpenDNACollectionsSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:Source ; + rdfs:subClassOf opencloning_linkml:RepositoryIdSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:Source . + owl:someValuesFrom opencloning_linkml:RepositoryIdSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:UploadedFileSource ; + rdfs:subClassOf opencloning_linkml:CRISPRSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:UploadedFileSource . + owl:someValuesFrom opencloning_linkml:CRISPRSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SequencingFile ; + rdfs:subClassOf opencloning_linkml:TemplateSequence ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SequencingFile . + owl:someValuesFrom opencloning_linkml:TemplateSequence . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:GibsonAssemblySource ; + rdfs:subClassOf opencloning_linkml:InVivoAssemblySource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:GibsonAssemblySource . + owl:someValuesFrom opencloning_linkml:InVivoAssemblySource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AnnotationSource ; + rdfs:subClassOf opencloning_linkml:GatewaySource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AnnotationSource . + owl:someValuesFrom opencloning_linkml:GatewaySource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:WekWikGeneIdSource ; + rdfs:subClassOf opencloning_linkml:AnnotationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:WekWikGeneIdSource . + owl:someValuesFrom opencloning_linkml:AnnotationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:IGEMSource ; + rdfs:subClassOf opencloning_linkml:AnnotationReport ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:IGEMSource . + owl:someValuesFrom opencloning_linkml:AnnotationReport . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:OpenDNACollectionsSource ; + rdfs:subClassOf opencloning_linkml:CreLoxRecombinationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:OpenDNACollectionsSource . + owl:someValuesFrom opencloning_linkml:CreLoxRecombinationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:BenchlingUrlSource ; + rdfs:subClassOf opencloning_linkml:PCRSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:BenchlingUrlSource . + owl:someValuesFrom opencloning_linkml:PCRSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:InVivoAssemblySource ; + rdfs:subClassOf opencloning_linkml:AssociatedFile ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:InVivoAssemblySource . + owl:someValuesFrom opencloning_linkml:AssociatedFile . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:RestrictionAndLigationSource ; + rdfs:subClassOf opencloning_linkml:BenchlingUrlSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:RestrictionAndLigationSource . + owl:someValuesFrom opencloning_linkml:BenchlingUrlSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:InFusionSource ; + rdfs:subClassOf opencloning_linkml:AssemblySource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:InFusionSource . + owl:someValuesFrom opencloning_linkml:AssemblySource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SourceInput ; + rdfs:subClassOf opencloning_linkml:Primer ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SourceInput . + owl:someValuesFrom opencloning_linkml:Primer . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:PolymeraseExtensionSource ; + rdfs:subClassOf opencloning_linkml:IGEMSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:PolymeraseExtensionSource . + owl:someValuesFrom opencloning_linkml:IGEMSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:RepositoryIdSource ; + rdfs:subClassOf opencloning_linkml:ManuallyTypedSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:RepositoryIdSource . + owl:someValuesFrom opencloning_linkml:ManuallyTypedSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:Primer ; + rdfs:subClassOf opencloning_linkml:Source ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:Primer . + owl:someValuesFrom opencloning_linkml:Source . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:DatabaseSource ; + rdfs:subClassOf opencloning_linkml:SequencingFile ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:DatabaseSource . + owl:someValuesFrom opencloning_linkml:SequencingFile . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AddgeneIdSource ; + rdfs:subClassOf opencloning_linkml:RestrictionEnzymeDigestionSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AddgeneIdSource . + owl:someValuesFrom opencloning_linkml:RestrictionEnzymeDigestionSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:TemplateSequence ; + rdfs:subClassOf opencloning_linkml:OverlapExtensionPCRLigationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:TemplateSequence . + owl:someValuesFrom opencloning_linkml:OverlapExtensionPCRLigationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:HomologousRecombinationSource ; + rdfs:subClassOf opencloning_linkml:DatabaseSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:HomologousRecombinationSource . + owl:someValuesFrom opencloning_linkml:DatabaseSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:EuroscarfSource ; + rdfs:subClassOf opencloning_linkml:TextFileSequence ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:EuroscarfSource . + owl:someValuesFrom opencloning_linkml:TextFileSequence . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:OverlapExtensionPCRLigationSource ; + rdfs:subClassOf opencloning_linkml:OligoHybridizationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:OverlapExtensionPCRLigationSource . + owl:someValuesFrom opencloning_linkml:OligoHybridizationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:OligoHybridizationSource ; + rdfs:subClassOf opencloning_linkml:SEVASource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:OligoHybridizationSource . + owl:someValuesFrom opencloning_linkml:SEVASource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:CollectionSource ; + rdfs:subClassOf opencloning_linkml:InFusionSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:CollectionSource . + owl:someValuesFrom opencloning_linkml:InFusionSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:GenomeCoordinatesSource ; + rdfs:subClassOf opencloning_linkml:ReverseComplementSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:GenomeCoordinatesSource . + owl:someValuesFrom opencloning_linkml:ReverseComplementSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AssemblyFragment ; + rdfs:subClassOf opencloning_linkml:PolymeraseExtensionSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AssemblyFragment . + owl:someValuesFrom opencloning_linkml:PolymeraseExtensionSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:LigationSource ; + rdfs:subClassOf opencloning_linkml:GenomeCoordinatesSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:LigationSource . + owl:someValuesFrom opencloning_linkml:GenomeCoordinatesSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SnapGenePlasmidSource ; + rdfs:subClassOf opencloning_linkml:CollectionSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SnapGenePlasmidSource . + owl:someValuesFrom opencloning_linkml:CollectionSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:GatewaySource ; + rdfs:subClassOf opencloning_linkml:AssemblyFragment ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:GatewaySource . + owl:someValuesFrom opencloning_linkml:AssemblyFragment . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AnnotationReport ; + rdfs:subClassOf opencloning_linkml:EuroscarfSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AnnotationReport . + owl:someValuesFrom opencloning_linkml:EuroscarfSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AssociatedFile ; + rdfs:subClassOf opencloning_linkml:SourceInput ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AssociatedFile . + owl:someValuesFrom opencloning_linkml:SourceInput . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:TextFileSequence ; + rdfs:subClassOf opencloning_linkml:WekWikGeneIdSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:TextFileSequence . + owl:someValuesFrom opencloning_linkml:WekWikGeneIdSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AssemblySource ; + rdfs:subClassOf opencloning_linkml:AddgeneIdSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AssemblySource . + owl:someValuesFrom opencloning_linkml:AddgeneIdSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:PCRSource ; + rdfs:subClassOf opencloning_linkml:Sequence ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:PCRSource . + owl:someValuesFrom opencloning_linkml:Sequence . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:CRISPRSource ; + rdfs:subClassOf opencloning_linkml:UploadedFileSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:CRISPRSource . + owl:someValuesFrom opencloning_linkml:UploadedFileSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:RestrictionEnzymeDigestionSource ; + rdfs:subClassOf opencloning_linkml:PlannotateAnnotationReport ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:RestrictionEnzymeDigestionSource . + owl:someValuesFrom opencloning_linkml:PlannotateAnnotationReport . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SEVASource ; + rdfs:subClassOf opencloning_linkml:LigationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SEVASource . + owl:someValuesFrom opencloning_linkml:LigationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:ReverseComplementSource ; + rdfs:subClassOf opencloning_linkml:SnapGenePlasmidSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:ReverseComplementSource . + owl:someValuesFrom opencloning_linkml:SnapGenePlasmidSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SequenceCutSource ; + rdfs:subClassOf opencloning_linkml:HomologousRecombinationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SequenceCutSource . + owl:someValuesFrom opencloning_linkml:HomologousRecombinationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:ManuallyTypedSource ; + rdfs:subClassOf opencloning_linkml:RestrictionAndLigationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:ManuallyTypedSource . + owl:someValuesFrom opencloning_linkml:RestrictionAndLigationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:CreLoxRecombinationSource ; + rdfs:subClassOf opencloning_linkml:GibsonAssemblySource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:CreLoxRecombinationSource . + owl:someValuesFrom opencloning_linkml:GibsonAssemblySource . diff --git a/project/python/opencloning_linkml.py b/project/python/opencloning_linkml.py index 47fefd3..16353cd 100644 --- a/project/python/opencloning_linkml.py +++ b/project/python/opencloning_linkml.py @@ -1,5 +1,5 @@ # Auto generated from opencloning_linkml.yaml by pythongen.py version: 0.0.1 -# Generation date: 2025-11-27T11:49:43 +# Generation date: 2025-11-27T13:06:42 # Schema: OpenCloning_LinkML # # id: https://opencloning.github.io/OpenCloning_LinkML @@ -2991,7 +2991,7 @@ class slots: model_uri=OPENCLONING_LINKML.SnapGenePlasmidSource_repository_id, domain=SnapGenePlasmidSource, range=str, - pattern=re.compile(r"^.+\/.+$"), + pattern=re.compile(r"^[^\\]*\\[^\\]$"), ) slots.EuroscarfSource_repository_id = Slot( @@ -3030,6 +3030,7 @@ class slots: model_uri=OPENCLONING_LINKML.OpenDNACollectionsSource_repository_id, domain=OpenDNACollectionsSource, range=str, + pattern=re.compile(r"^[^\\]*\\[^\\]$"), ) slots.RestrictionAndLigationSource_restriction_enzymes = Slot( diff --git a/project/shacl/opencloning_linkml.shacl.ttl b/project/shacl/opencloning_linkml.shacl.ttl index 4f90a59..5923392 100644 --- a/project/shacl/opencloning_linkml.shacl.ttl +++ b/project/shacl/opencloning_linkml.shacl.ttl @@ -8,7 +8,7 @@ schema1:Thing a sh:NodeShape ; sh:closed true ; - sh:ignoredProperties ( opencloning_linkml:annotation_tool opencloning_linkml:greedy opencloning_linkml:gene_id opencloning_linkml:output_name opencloning_linkml:annotation_report opencloning_linkml:addgene_sequence_type opencloning_linkml:user_input schema1:name opencloning_linkml:image opencloning_linkml:circular opencloning_linkml:category_id opencloning_linkml:strand rdf:type opencloning_linkml:primer_design opencloning_linkml:end opencloning_linkml:title opencloning_linkml:left_edge opencloning_linkml:add_primer_features opencloning_linkml:type opencloning_linkml:locus_tag opencloning_linkml:repository_name opencloning_linkml:reaction_type opencloning_linkml:file_content opencloning_linkml:sequence_accession opencloning_linkml:options opencloning_linkml:index_in_file opencloning_linkml:right_edge opencloning_linkml:overhang_crick_3prime schema1:object opencloning_linkml:repository_id opencloning_linkml:sequence opencloning_linkml:restriction_enzymes opencloning_linkml:file_name opencloning_linkml:coordinates opencloning_linkml:sequence_file_url opencloning_linkml:start opencloning_linkml:circularize opencloning_linkml:annotation_tool_version opencloning_linkml:overhang_watson_3prime opencloning_linkml:description opencloning_linkml:sequence_file_format opencloning_linkml:assembly_accession ) ; + sh:ignoredProperties ( opencloning_linkml:sequence_file_url opencloning_linkml:circular opencloning_linkml:sequence_file_format opencloning_linkml:file_content opencloning_linkml:user_input opencloning_linkml:primer_design opencloning_linkml:annotation_tool_version opencloning_linkml:index_in_file opencloning_linkml:type opencloning_linkml:repository_id opencloning_linkml:overhang_crick_3prime opencloning_linkml:greedy opencloning_linkml:strand schema1:object opencloning_linkml:circularize opencloning_linkml:assembly_accession rdf:type opencloning_linkml:locus_tag opencloning_linkml:addgene_sequence_type opencloning_linkml:options opencloning_linkml:annotation_tool opencloning_linkml:sequence opencloning_linkml:output_name opencloning_linkml:start opencloning_linkml:coordinates opencloning_linkml:end opencloning_linkml:category_id opencloning_linkml:repository_name opencloning_linkml:add_primer_features opencloning_linkml:image opencloning_linkml:gene_id opencloning_linkml:file_name opencloning_linkml:overhang_watson_3prime opencloning_linkml:description schema1:name opencloning_linkml:restriction_enzymes opencloning_linkml:reaction_type opencloning_linkml:left_edge opencloning_linkml:annotation_report opencloning_linkml:title opencloning_linkml:sequence_accession opencloning_linkml:right_edge ) ; sh:property [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -21,46 +21,38 @@ opencloning_linkml:AddgeneIdSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is identified by an Addgene id" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 3 ; - sh:path opencloning_linkml:repository_name ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:property [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path schema1:identifier ], + sh:order 5 ; + sh:path opencloning_linkml:output_name ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 7 ; + sh:path schema1:object ], [ sh:datatype xsd:string ; - sh:description "The id of the sequence in the repository" ; + sh:description "Designates the class" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:repository_id ], + sh:order 4 ; + sh:path opencloning_linkml:type ], [ sh:in ( "depositor-full" "addgene-full" ) ; sh:maxCount 1 ; sh:order 1 ; sh:path opencloning_linkml:addgene_sequence_type ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 7 ; - sh:path schema1:object ], [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 8 ; + sh:order 6 ; sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path opencloning_linkml:output_name ], + sh:minCount 1 ; + sh:order 3 ; + sh:path opencloning_linkml:repository_name ], [ sh:datatype xsd:string ; sh:description "The URL of a sequence file" ; sh:maxCount 1 ; @@ -69,18 +61,38 @@ opencloning_linkml:AddgeneIdSource a sh:NodeShape ; sh:path opencloning_linkml:sequence_file_url ; sh:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ], [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:description "The id of the sequence in the repository" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:type ] ; + sh:order 2 ; + sh:path opencloning_linkml:repository_id ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 8 ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:AddgeneIdSource . opencloning_linkml:AnnotationSource a sh:NodeShape ; sh:closed true ; sh:description "Represents a computational step in which sequence features are annotated in a sequence" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class schema1:Role ; + sh:property [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:type ], + [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 6 ; @@ -91,12 +103,6 @@ opencloning_linkml:AnnotationSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:annotation_tool_version ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -104,40 +110,41 @@ opencloning_linkml:AnnotationSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 7 ; sh:path schema1:identifier ], + [ sh:in ( "plannotate" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path opencloning_linkml:annotation_tool ], [ sh:class opencloning_linkml:AnnotationReport ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 2 ; sh:path opencloning_linkml:annotation_report ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:type ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 4 ; - sh:path opencloning_linkml:output_name ], - [ sh:in ( "plannotate" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path opencloning_linkml:annotation_tool ] ; + sh:path opencloning_linkml:output_name ] ; sh:targetClass opencloning_linkml:AnnotationSource . opencloning_linkml:AssemblyFragment a sh:NodeShape ; sh:closed true ; sh:description "Represents a fragment in an assembly" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class bioschemas:DNA ; - sh:description "The input sequence" ; + sh:property [ sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:right_location ], + [ sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:left_location ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 4 ; - sh:path opencloning_linkml:sequence ], + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:boolean ; sh:description "Whether the sequence is reverse complemented in the assembly" ; sh:maxCount 1 ; @@ -145,61 +152,54 @@ opencloning_linkml:AssemblyFragment a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:reverse_complemented ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + [ sh:class bioschemas:DNA ; + sh:description "The input sequence" ; sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:type ], - [ sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:left_location ], - [ sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:right_location ] ; + sh:minCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 4 ; + sh:path opencloning_linkml:sequence ] ; sh:targetClass opencloning_linkml:AssemblyFragment . opencloning_linkml:AssemblySource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is an assembly of other sequences" ; - sh:ignoredProperties ( opencloning_linkml:reaction_type opencloning_linkml:greedy rdf:type opencloning_linkml:restriction_enzymes opencloning_linkml:add_primer_features ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:ignoredProperties ( opencloning_linkml:restriction_enzymes opencloning_linkml:reaction_type rdf:type opencloning_linkml:add_primer_features opencloning_linkml:greedy ) ; + sh:property [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ], + sh:order 3 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ], + sh:order 2 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:boolean ; sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:circular ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 4 ; sh:path schema1:object ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; + sh:order 5 ; sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:AssemblySource . @@ -207,13 +207,7 @@ opencloning_linkml:BenchlingUrlSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is identified by a Benchling URL" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:string ; + sh:property [ sh:datatype xsd:string ; sh:description "The url of the gb file associated with the sequence" ; sh:maxCount 1 ; sh:minCount 1 ; @@ -228,6 +222,12 @@ opencloning_linkml:BenchlingUrlSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 6 ; sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:type ], [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; sh:maxCount 1 ; sh:minCount 1 ; @@ -239,41 +239,46 @@ opencloning_linkml:BenchlingUrlSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path schema1:identifier ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 5 ; - sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:type ] ; + sh:path schema1:object ] ; sh:targetClass opencloning_linkml:BenchlingUrlSource . opencloning_linkml:CRISPRSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by CRISPR" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; + sh:property [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ], + sh:order 2 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:type ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path schema1:identifier ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -281,17 +286,12 @@ opencloning_linkml:CRISPRSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path schema1:identifier ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ] ; + sh:order 0 ; + sh:path opencloning_linkml:circular ] ; sh:targetClass opencloning_linkml:CRISPRSource . opencloning_linkml:CloningStrategy a sh:NodeShape ; @@ -303,6 +303,23 @@ opencloning_linkml:CloningStrategy a sh:NodeShape ; sh:nodeKind sh:IRI ; sh:order 2 ; sh:path opencloning_linkml:primers ], + [ sh:description "The version of the schema that was used to generate this cloning strategy" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path opencloning_linkml:schema_version ], + [ sh:class schema1:CreateAction ; + sh:description "The sources of the sequences that are used in the cloning strategy" ; + sh:minCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 1 ; + sh:path opencloning_linkml:sources ], + [ sh:class bioschemas:DNA ; + sh:description "The sequences that are used in the cloning strategy" ; + sh:minCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 0 ; + sh:path opencloning_linkml:sequences ], [ sh:class opencloning_linkml:AssociatedFile ; sh:description "Files associated with this cloning strategy" ; sh:nodeKind sh:BlankNodeOrIRI ; @@ -313,34 +330,17 @@ opencloning_linkml:CloningStrategy a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 6 ; sh:path opencloning_linkml:backend_version ], - [ sh:class schema1:CreateAction ; - sh:description "The sources of the sequences that are used in the cloning strategy" ; - sh:minCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 1 ; - sh:path opencloning_linkml:sources ], [ sh:datatype xsd:string ; sh:description "A description of the cloning strategy" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:description ], - [ sh:description "The version of the schema that was used to generate this cloning strategy" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path opencloning_linkml:schema_version ], [ sh:description "The version of the frontend that was used to generate this cloning strategy" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 7 ; - sh:path opencloning_linkml:frontend_version ], - [ sh:class bioschemas:DNA ; - sh:description "The sequences that are used in the cloning strategy" ; - sh:minCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 0 ; - sh:path opencloning_linkml:sequences ] ; + sh:path opencloning_linkml:frontend_version ] ; sh:targetClass opencloning_linkml:CloningStrategy . opencloning_linkml:CollectionSource a sh:NodeShape ; @@ -354,12 +354,6 @@ opencloning_linkml:CollectionSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:title ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path opencloning_linkml:type ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; @@ -371,12 +365,17 @@ opencloning_linkml:CollectionSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:description ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + [ sh:datatype xsd:string ; + sh:description "URL and size of the image representing this category. For images with size specification, this is a list with two elements: [url, size]." ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:image ], + [ sh:datatype xsd:string ; + sh:description "The identifier of the category of the part in the template" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path schema1:identifier ], + sh:order 0 ; + sh:path opencloning_linkml:category_id ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -384,64 +383,65 @@ opencloning_linkml:CollectionSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 9 ; sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 6 ; + sh:path opencloning_linkml:output_name ], [ sh:class opencloning_linkml:CollectionOption ; sh:description "The options available in this category." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 4 ; sh:path opencloning_linkml:options ], - [ sh:datatype xsd:string ; - sh:description "The identifier of the category of the part in the template" ; + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:category_id ], - [ sh:datatype xsd:string ; - sh:description "URL and size of the image representing this category. For images with size specification, this is a list with two elements: [url, size]." ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:image ], + sh:order 7 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path opencloning_linkml:output_name ] ; + sh:order 5 ; + sh:path opencloning_linkml:type ] ; sh:targetClass opencloning_linkml:CollectionSource . opencloning_linkml:CreLoxRecombinationSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by Cre - Lox recombination" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; + sh:property [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ], + sh:order 2 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; + sh:order 5 ; sh:path schema1:identifier ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 4 ; sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; + sh:order 3 ; sh:path schema1:identifier ], + [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:circular ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -454,7 +454,13 @@ opencloning_linkml:DatabaseSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is identified by a database id" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; + sh:property [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:minCount 1 ; @@ -462,11 +468,11 @@ opencloning_linkml:DatabaseSource a sh:NodeShape ; sh:order 0 ; sh:path schema1:identifier ], [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ], + sh:order 2 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -478,97 +484,68 @@ opencloning_linkml:DatabaseSource a sh:NodeShape ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 3 ; - sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ] ; + sh:path schema1:object ] ; sh:targetClass opencloning_linkml:DatabaseSource . opencloning_linkml:EuroscarfSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence from the Euroscarf plasmid library" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "The id of the plasmid in the Euroscarf plasmid library" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:repository_id ; - sh:pattern "^P\\d+$" ], + sh:property [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 5 ; + sh:path schema1:object ], [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; + sh:order 4 ; sh:path schema1:identifier ], [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:description "The id of the plasmid in the Euroscarf plasmid library" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:output_name ], + sh:order 0 ; + sh:path opencloning_linkml:repository_id ; + sh:pattern "^P\\d+$" ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:type ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 5 ; - sh:path schema1:object ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path schema1:identifier ], + sh:order 3 ; + sh:path opencloning_linkml:output_name ], [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 1 ; - sh:path opencloning_linkml:repository_name ] ; + sh:path opencloning_linkml:repository_name ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 6 ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:EuroscarfSource . opencloning_linkml:GatewaySource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by Gateway cloning" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:in ( "LR" "BP" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path opencloning_linkml:reaction_type ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:circular ], - [ sh:datatype xsd:boolean ; + sh:property [ sh:datatype xsd:boolean ; sh:description "Whether to use a greedy consensus sequence for att sites (see https://github.com/manulera/GateWayMine)" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:greedy ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:type ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; @@ -580,13 +557,36 @@ opencloning_linkml:GatewaySource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path schema1:identifier ], + [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:circular ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 7 ; - sh:path schema1:identifier ] ; + sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:type ], + [ sh:in ( "LR" "BP" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path opencloning_linkml:reaction_type ] ; sh:targetClass opencloning_linkml:GatewaySource . opencloning_linkml:GenomeCoordinatesSource a sh:NodeShape ; @@ -594,61 +594,56 @@ opencloning_linkml:GenomeCoordinatesSource a sh:NodeShape ; sh:description "Represents the source of a sequence that is identified by genome coordinates, requested from NCBI" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 9 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; - sh:description "The ending coordinate (1-based) of the sequence in the sequence accession" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path opencloning_linkml:end ], - [ sh:datatype xsd:string ; - sh:description "The accession of the sequence" ; + sh:description "The starting coordinate (1-based) of the sequence in the sequence accession" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:sequence_accession ], + sh:order 4 ; + sh:path opencloning_linkml:start ], [ sh:datatype xsd:string ; - sh:description "The locus tag of the sequence" ; + sh:description "The accession of the assembly" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:locus_tag ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:order 0 ; + sh:path opencloning_linkml:assembly_accession ], + [ sh:datatype xsd:integer ; + sh:description "The gene id of the sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:string ; - sh:description "The accession of the assembly" ; + sh:order 3 ; + sh:path opencloning_linkml:gene_id ], + [ sh:datatype xsd:integer ; + sh:description "The strand of the sequence in the sequence accession, should be 1 or -1" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:assembly_accession ], + sh:order 6 ; + sh:path opencloning_linkml:strand ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 10 ; sh:path schema1:object ], - [ sh:datatype xsd:integer ; - sh:description "The strand of the sequence in the sequence accession, should be 1 or -1" ; + [ sh:datatype xsd:string ; + sh:description "The locus tag of the sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:locus_tag ], + [ sh:datatype xsd:string ; + sh:description "The accession of the sequence" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path opencloning_linkml:strand ], + sh:order 1 ; + sh:path opencloning_linkml:sequence_accession ], [ sh:datatype xsd:integer ; - sh:description "The gene id of the sequence" ; + sh:description "The ending coordinate (1-based) of the sequence in the sequence accession" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:gene_id ], + sh:order 5 ; + sh:path opencloning_linkml:end ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -656,13 +651,18 @@ opencloning_linkml:GenomeCoordinatesSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 11 ; sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; - sh:description "The starting coordinate (1-based) of the sequence in the sequence accession" ; - sh:maxCount 1 ; - sh:minCount 1 ; + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:start ], + sh:order 7 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 9 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; @@ -682,29 +682,29 @@ opencloning_linkml:GibsonAssemblySource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path schema1:identifier ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 4 ; sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ], + sh:order 0 ; + sh:path opencloning_linkml:circular ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -717,12 +717,12 @@ opencloning_linkml:HomologousRecombinationSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by homologous recombination" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; + sh:property [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ], + sh:order 1 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -730,24 +730,24 @@ opencloning_linkml:HomologousRecombinationSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path schema1:identifier ], + [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:circular ], [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ], + sh:order 2 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; @@ -760,30 +760,40 @@ opencloning_linkml:IGEMSource a sh:NodeShape ; sh:description "Represents the source of a sequence from an iGEM collection" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 7 ; + sh:order 5 ; sh:path schema1:identifier ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 6 ; + sh:path schema1:object ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path opencloning_linkml:output_name ], [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 2 ; sh:path opencloning_linkml:repository_name ], [ sh:datatype xsd:string ; - sh:description "The unique identifier of the sequence in the iGEM collection (for now, {part_id}-{plasmid_backbone})" ; + sh:description "Designates the class" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:repository_id ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:order 3 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:output_name ], + sh:order 7 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "The URL of the sequence file, for now github repository" ; sh:maxCount 1 ; @@ -793,34 +803,24 @@ opencloning_linkml:IGEMSource a sh:NodeShape ; sh:path opencloning_linkml:sequence_file_url ; sh:pattern "^.*.gb$" ], [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:description "The unique identifier of the sequence in the iGEM collection (for now, {part_id}-{plasmid_backbone}) pattern: ^[^-]*-[^-]$" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 6 ; - sh:path schema1:object ] ; + sh:order 1 ; + sh:path opencloning_linkml:repository_id ] ; sh:targetClass opencloning_linkml:IGEMSource . opencloning_linkml:InFusionSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by In-Fusion cloning by Takara Bio" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; + sh:property [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ], + sh:order 2 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -833,127 +833,120 @@ opencloning_linkml:InFusionSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ], + sh:order 0 ; + sh:path opencloning_linkml:circular ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 5 ; - sh:path schema1:identifier ] ; + sh:path schema1:identifier ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ] ; sh:targetClass opencloning_linkml:InFusionSource . opencloning_linkml:InVivoAssemblySource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by in vivo assembly. Algorithmically equivalent to Gibson assembly." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; + sh:property [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:order 1 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ], + sh:order 2 ; + sh:path opencloning_linkml:output_name ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 4 ; sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:order 3 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:order 5 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path schema1:identifier ] ; + sh:order 0 ; + sh:path opencloning_linkml:circular ] ; sh:targetClass opencloning_linkml:InVivoAssemblySource . opencloning_linkml:LigationSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by ligation with sticky or blunt ends." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:property [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ], + sh:order 5 ; + sh:path schema1:identifier ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path schema1:identifier ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ], [ sh:datatype xsd:boolean ; sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:circular ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ] ; + sh:order 1 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:output_name ] ; sh:targetClass opencloning_linkml:LigationSource . opencloning_linkml:ManuallyTypedSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is manually typed by the user" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:boolean ; - sh:description "Whether the sequence is circular or not" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:circular ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:property [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 8 ; - sh:path schema1:identifier ], + sh:order 5 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; @@ -966,43 +959,68 @@ opencloning_linkml:ManuallyTypedSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:overhang_crick_3prime ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 8 ; + sh:path schema1:identifier ], [ sh:datatype xsd:integer ; sh:description "The equivalent of `overhang_crick_3prime` but for the watson strand" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:overhang_watson_3prime ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 7 ; - sh:path schema1:object ], - [ sh:datatype xsd:string ; + [ sh:datatype xsd:boolean ; + sh:description "Whether the sequence is circular or not" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:user_input ; - sh:pattern "^[acgtACGT]+$" ], + sh:order 3 ; + sh:path opencloning_linkml:circular ], [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path opencloning_linkml:output_name ], + sh:order 4 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:string ; - sh:description "Designates the class" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:type ] ; + sh:order 2 ; + sh:path opencloning_linkml:user_input ; + sh:pattern "^[acgtACGT]+$" ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 7 ; + sh:path schema1:object ] ; sh:targetClass opencloning_linkml:ManuallyTypedSource . opencloning_linkml:OligoHybridizationSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by oligo hybridization" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; + sh:property [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path schema1:identifier ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ], + [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -1019,56 +1037,44 @@ opencloning_linkml:OligoHybridizationSource a sh:NodeShape ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; - sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:string ; + sh:path opencloning_linkml:output_name ] ; + sh:targetClass opencloning_linkml:OligoHybridizationSource . + +opencloning_linkml:OpenDNACollectionsSource a sh:NodeShape ; + sh:closed true ; + sh:description "Represents the source of a sequence from the Open DNA collections" ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; + sh:order 3 ; sh:path opencloning_linkml:type ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; + sh:order 6 ; sh:path schema1:object ], + [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 2 ; + sh:path opencloning_linkml:repository_name ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ] ; - sh:targetClass opencloning_linkml:OligoHybridizationSource . - -opencloning_linkml:OpenDNACollectionsSource a sh:NodeShape ; - sh:closed true ; - sh:description "Represents the source of a sequence from the Open DNA collections" ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; + sh:order 7 ; sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "The URL of a sequence file" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:sequence_file_url ; - sh:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ], [ sh:datatype xsd:string ; sh:description "Subpath of the sequence in the Open DNA collections repository" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; - sh:path opencloning_linkml:repository_id ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 2 ; - sh:path opencloning_linkml:repository_name ], + sh:path opencloning_linkml:repository_id ; + sh:pattern "^[^\\\\]*\\\\[^\\\\]$" ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; @@ -1076,22 +1082,17 @@ opencloning_linkml:OpenDNACollectionsSource a sh:NodeShape ; sh:order 4 ; sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:description "The URL of a sequence file" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:type ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 6 ; - sh:path schema1:object ], + sh:order 0 ; + sh:path opencloning_linkml:sequence_file_url ; + sh:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ], [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 7 ; + sh:order 5 ; sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:OpenDNACollectionsSource . @@ -1100,54 +1101,66 @@ opencloning_linkml:OverlapExtensionPCRLigationSource a sh:NodeShape ; sh:description "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." ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:type ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ], + sh:order 5 ; + sh:path schema1:identifier ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ] ; + sh:order 0 ; + sh:path opencloning_linkml:circular ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ] ; sh:targetClass opencloning_linkml:OverlapExtensionPCRLigationSource . opencloning_linkml:PCRSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by PCR" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:circular ], + [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 6 ; sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; @@ -1159,112 +1172,100 @@ opencloning_linkml:PCRSource a sh:NodeShape ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 5 ; sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:circular ], [ sh:datatype xsd:boolean ; sh:description "Whether to add primer features to the PCR product" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; - sh:path opencloning_linkml:add_primer_features ] ; + sh:path opencloning_linkml:add_primer_features ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:output_name ] ; sh:targetClass opencloning_linkml:PCRSource . opencloning_linkml:PlannotateAnnotationReport a sh:NodeShape ; sh:closed true ; sh:description "Represents a report of an annotation step using Plannotate" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; + sh:property [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path opencloning_linkml:full_length_of_feature_in_db ], + sh:order 0 ; + sh:path opencloning_linkml:sseqid ], [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 10 ; - sh:path opencloning_linkml:Feature ], - [ sh:datatype xsd:float ; + sh:order 14 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:integer ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path opencloning_linkml:percent_match_length ], + sh:order 6 ; + sh:path opencloning_linkml:length_of_found_feature ], [ sh:datatype xsd:integer ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:strand ], + sh:order 1 ; + sh:path opencloning_linkml:start_location ], [ sh:datatype xsd:integer ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:end_location ], + sh:order 5 ; + sh:path opencloning_linkml:full_length_of_feature_in_db ], [ sh:datatype xsd:float ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:percent_identity ], - [ sh:datatype xsd:string ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 11 ; - sh:path opencloning_linkml:Type ], - [ sh:datatype xsd:integer ; + sh:order 7 ; + sh:path opencloning_linkml:percent_match_length ], + [ sh:datatype xsd:float ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path opencloning_linkml:length_of_found_feature ], + sh:order 4 ; + sh:path opencloning_linkml:percent_identity ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 12 ; - sh:path opencloning_linkml:Description ], - [ sh:datatype xsd:string ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 9 ; - sh:path opencloning_linkml:database ], - [ sh:datatype xsd:integer ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:start_location ], + sh:path opencloning_linkml:Description ], [ sh:datatype xsd:string ; - sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 14 ; - sh:path opencloning_linkml:type ], + sh:order 11 ; + sh:path opencloning_linkml:Type ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:sseqid ], + sh:order 9 ; + sh:path opencloning_linkml:database ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 13 ; sh:path opencloning_linkml:sequence ], + [ sh:datatype xsd:integer ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:end_location ], [ sh:datatype xsd:boolean ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 8 ; - sh:path opencloning_linkml:fragment ] ; + sh:path opencloning_linkml:fragment ], + [ sh:datatype xsd:integer ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:strand ], + [ sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 10 ; + sh:path opencloning_linkml:Feature ] ; sh:targetClass opencloning_linkml:PlannotateAnnotationReport . opencloning_linkml:PolymeraseExtensionSource a sh:NodeShape ; @@ -1306,26 +1307,8 @@ opencloning_linkml:PolymeraseExtensionSource a sh:NodeShape ; opencloning_linkml:RepositoryIdSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is identified by a repository id" ; - sh:ignoredProperties ( opencloning_linkml:sequence_file_url rdf:type opencloning_linkml:addgene_sequence_type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:string ; - sh:description "The id of the sequence in the repository" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:repository_id ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 5 ; - sh:path schema1:object ], - [ sh:datatype xsd:integer ; + sh:ignoredProperties ( opencloning_linkml:sequence_file_url opencloning_linkml:addgene_sequence_type rdf:type ) ; + sh:property [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -1342,24 +1325,42 @@ opencloning_linkml:RepositoryIdSource a sh:NodeShape ; sh:minCount 1 ; sh:order 1 ; sh:path opencloning_linkml:repository_name ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 6 ; - sh:path schema1:identifier ] ; + sh:path schema1:identifier ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 5 ; + sh:path schema1:object ], + [ sh:datatype xsd:string ; + sh:description "The id of the sequence in the repository" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:repository_id ] ; sh:targetClass opencloning_linkml:RepositoryIdSource . opencloning_linkml:RestrictionAndLigationSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by restriction and ligation" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:restriction_enzymes ], + sh:property [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 5 ; + sh:path schema1:object ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -1367,35 +1368,35 @@ opencloning_linkml:RestrictionAndLigationSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 6 ; sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:output_name ], + sh:order 1 ; + sh:path opencloning_linkml:circular ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:type ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 5 ; - sh:path schema1:object ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; + [ sh:datatype xsd:string ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:restriction_enzymes ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:circular ] ; + sh:order 3 ; + sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:RestrictionAndLigationSource . opencloning_linkml:RestrictionEnzymeDigestionSource a sh:NodeShape ; @@ -1430,35 +1431,35 @@ opencloning_linkml:RestrictionEnzymeDigestionSource a sh:NodeShape ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 0 ; sh:path opencloning_linkml:left_edge ], - [ sh:class opencloning_linkml:RestrictionSequenceCut ; - sh:maxCount 1 ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 1 ; - sh:path opencloning_linkml:right_edge ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 6 ; - sh:path schema1:identifier ] ; + sh:path schema1:identifier ], + [ sh:class opencloning_linkml:RestrictionSequenceCut ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 1 ; + sh:path opencloning_linkml:right_edge ] ; sh:targetClass opencloning_linkml:RestrictionEnzymeDigestionSource . opencloning_linkml:ReverseComplementSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the in-silico transformation of a sequence into its reverse complement" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class schema1:Role ; + sh:property [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:output_name ], + [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 3 ; sh:path schema1:object ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path schema1:identifier ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -1466,18 +1467,18 @@ opencloning_linkml:ReverseComplementSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; - sh:path opencloning_linkml:type ] ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:ReverseComplementSource . opencloning_linkml:SEVASource a sh:NodeShape ; @@ -1485,18 +1486,22 @@ opencloning_linkml:SEVASource a sh:NodeShape ; sh:description "Represents the source of a sequence that is identified by a SEVA id" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; - sh:description "The SEVA plasmid name" ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:repository_id ; - sh:pattern "^pSEVA\\d+.*$" ], + sh:order 4 ; + sh:path opencloning_linkml:output_name ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 6 ; sh:path schema1:object ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -1505,11 +1510,18 @@ opencloning_linkml:SEVASource a sh:NodeShape ; sh:order 7 ; sh:path schema1:identifier ], [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:description "The SEVA plasmid name" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:output_name ], + sh:order 1 ; + sh:path opencloning_linkml:repository_id ; + sh:pattern "^pSEVA\\d+.*$" ], + [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 2 ; + sh:path opencloning_linkml:repository_name ], [ sh:datatype xsd:string ; sh:description "The URL of the sequence file, which can refer to a a gb file hosted on the SEVA website or an entry in the NCBI." ; sh:maxCount 1 ; @@ -1517,17 +1529,6 @@ opencloning_linkml:SEVASource a sh:NodeShape ; sh:order 0 ; sh:path opencloning_linkml:sequence_file_url ; sh:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:type ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 2 ; - sh:path opencloning_linkml:repository_name ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; @@ -1540,23 +1541,22 @@ opencloning_linkml:SequenceCutSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is a subfragment of another sequence, generated by sequence cutting." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:type ], - [ sh:class opencloning_linkml:SequenceCut ; + sh:property [ sh:class opencloning_linkml:SequenceCut ; sh:maxCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 0 ; sh:path opencloning_linkml:left_edge ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path schema1:identifier ], + sh:order 2 ; + sh:path opencloning_linkml:type ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 5 ; + sh:path schema1:object ], [ sh:class opencloning_linkml:SequenceCut ; sh:maxCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; @@ -1569,11 +1569,12 @@ opencloning_linkml:SequenceCutSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 6 ; sh:path schema1:identifier ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 5 ; - sh:path schema1:object ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; @@ -1586,51 +1587,70 @@ opencloning_linkml:SequencingFile a sh:NodeShape ; sh:closed true ; sh:description "Represents a sequencing file and its alignment to a sequence" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; + sh:property [ sh:class bioschemas:DNA ; + sh:description "The sequence this file is associated with" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 2 ; + sh:path opencloning_linkml:sequence_id ], + [ sh:datatype xsd:string ; sh:description "The name of the file" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:file_name ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + [ sh:description "The type of file" ; + sh:in ( NCIT:C171177 ) ; sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ], + sh:minCount 1 ; + sh:order 4 ; + sh:path opencloning_linkml:file_type ], [ sh:datatype xsd:string ; sh:description "The alignment of the sequencing read to the sequence. List of strings representing aligned sequences." ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:alignment ], - [ sh:description "The type of file" ; - sh:in ( NCIT:C171177 ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 4 ; - sh:path opencloning_linkml:file_type ], - [ sh:class bioschemas:DNA ; - sh:description "The sequence this file is associated with" ; + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 2 ; - sh:path opencloning_linkml:sequence_id ] ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:type ] ; sh:targetClass opencloning_linkml:SequencingFile . opencloning_linkml:SnapGenePlasmidSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence from the SnapGene plasmid library identified by a SnapGene subpath of https://www.snapgene.com/plasmids/" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; + sh:property [ sh:datatype xsd:string ; + sh:description "The subpath of the plasmid in the SnapGene plasmid library. Requesting the plasmid is possible with https://www.snapgene.com/local/fetch.php?set={category_path}&plasmid={plasmid['subpath']} where category_path is the left part of the subpath before the first / and plasmid is the subpath after the /." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:repository_id ; + sh:pattern "^[^\\\\]*\\\\[^\\\\]$" ], + [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path opencloning_linkml:repository_name ], + [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 6 ; sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -1643,43 +1663,18 @@ opencloning_linkml:SnapGenePlasmidSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "The subpath of the plasmid in the SnapGene plasmid library. Requesting the plasmid is possible with https://www.snapgene.com/local/fetch.php?set={category_path}&plasmid={plasmid['subpath']} where category_path is the left part of the subpath before the first / and plasmid is the subpath after the /." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:repository_id ; - sh:pattern "^.+\\/.+$" ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 5 ; - sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:output_name ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path opencloning_linkml:repository_name ] ; + sh:path schema1:object ] ; sh:targetClass opencloning_linkml:SnapGenePlasmidSource . opencloning_linkml:TemplateSequence a sh:NodeShape ; sh:closed true ; sh:description "Represents a sequence that is part of a template, where the actual sequence content will be determined by the user's actions" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:boolean ; - sh:description "Whether the sequence is circular or linear" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ], - [ sh:datatype xsd:integer ; + sh:property [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; @@ -1687,40 +1682,46 @@ opencloning_linkml:TemplateSequence a sh:NodeShape ; sh:order 2 ; sh:path schema1:identifier ], [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:description "Can be used to indicate the intended primer design for this sequence in the template" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:type ], + sh:order 1 ; + sh:path opencloning_linkml:primer_design ], + [ sh:datatype xsd:boolean ; + sh:description "Whether the sequence is circular or linear" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:circular ], [ sh:datatype xsd:string ; - sh:description "Can be used to indicate the intended primer design for this sequence in the template" ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:primer_design ] ; + sh:order 3 ; + sh:path opencloning_linkml:type ] ; sh:targetClass opencloning_linkml:TemplateSequence . opencloning_linkml:TextFileSequence a sh:NodeShape ; sh:closed true ; sh:description "A sequence (may have features) defined by the content of a text file" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:file_content ], - [ sh:description "The format of a sequence file" ; + sh:property [ sh:description "The format of a sequence file" ; sh:in ( "fasta" "genbank" "snapgene" "embl" ) ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 0 ; sh:path opencloning_linkml:sequence_file_format ], - [ sh:datatype xsd:integer ; - sh:description "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" ; + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:overhang_crick_3prime ], + sh:order 5 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:file_content ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -1728,12 +1729,12 @@ opencloning_linkml:TextFileSequence a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + [ sh:datatype xsd:integer ; + sh:description "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" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path opencloning_linkml:type ], + sh:order 1 ; + sh:path opencloning_linkml:overhang_crick_3prime ], [ sh:datatype xsd:integer ; sh:description "The equivalent of `overhang_crick_3prime` but for the watson strand" ; sh:maxCount 1 ; @@ -1746,23 +1747,24 @@ opencloning_linkml:UploadedFileSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is uploaded as a file" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "The name of the file" ; + sh:property [ sh:description "The format of a sequence file" ; + sh:in ( "fasta" "genbank" "snapgene" "embl" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path opencloning_linkml:sequence_file_format ], + [ sh:datatype xsd:integer ; + sh:description "The index of the sequence in the file" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:file_name ], + sh:order 2 ; + sh:path opencloning_linkml:index_in_file ], [ sh:datatype xsd:boolean ; sh:description "Whether the sequence should be circularized (FASTA only)" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:circularize ], - [ sh:description "If provided, coordinates within the sequence of the file to extract a subsequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:coordinates ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -1770,41 +1772,40 @@ opencloning_linkml:UploadedFileSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 9 ; sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 7 ; sh:path schema1:identifier ], - [ sh:description "The format of a sequence file" ; - sh:in ( "fasta" "genbank" "snapgene" "embl" ) ; + [ sh:datatype xsd:string ; + sh:description "The name of the file" ; sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path opencloning_linkml:sequence_file_format ], + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:file_name ], + [ sh:description "If provided, coordinates within the sequence of the file to extract a subsequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path opencloning_linkml:coordinates ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path opencloning_linkml:type ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 6 ; + sh:path opencloning_linkml:output_name ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 8 ; - sh:path schema1:object ], - [ sh:datatype xsd:integer ; - sh:description "The index of the sequence in the file" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:index_in_file ] ; + sh:path schema1:object ] ; sh:targetClass opencloning_linkml:UploadedFileSource . opencloning_linkml:WekWikGeneIdSource a sh:NodeShape ; @@ -1812,27 +1813,16 @@ opencloning_linkml:WekWikGeneIdSource a sh:NodeShape ; sh:description "Represents the source of a sequence that is identified by a WeKwikGene id" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:output_name ], + sh:order 3 ; + sh:path opencloning_linkml:type ], [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 2 ; sh:path opencloning_linkml:repository_name ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 6 ; - sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -1840,6 +1830,12 @@ opencloning_linkml:WekWikGeneIdSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 7 ; sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:string ; sh:description "The id of the gene in the WeKwikGene database" ; sh:maxCount 1 ; @@ -1848,25 +1844,30 @@ opencloning_linkml:WekWikGeneIdSource a sh:NodeShape ; sh:order 1 ; sh:path opencloning_linkml:repository_id ; sh:pattern "^\\d+$" ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 6 ; + sh:path schema1:object ], [ sh:datatype xsd:string ; sh:description "The URL of a sequence file" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:sequence_file_url ; - sh:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ; + sh:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:WekWikGeneIdSource . opencloning_linkml:AnnotationReport a sh:NodeShape ; sh:closed true ; sh:description "Represents a report of an annotation step" ; - sh:ignoredProperties ( opencloning_linkml:Description opencloning_linkml:fragment opencloning_linkml:percent_match_length opencloning_linkml:strand opencloning_linkml:sseqid opencloning_linkml:Type opencloning_linkml:start_location opencloning_linkml:length_of_found_feature opencloning_linkml:Feature opencloning_linkml:sequence rdf:type opencloning_linkml:percent_identity opencloning_linkml:end_location opencloning_linkml:full_length_of_feature_in_db opencloning_linkml:database ) ; + sh:ignoredProperties ( opencloning_linkml:length_of_found_feature opencloning_linkml:end_location opencloning_linkml:sseqid opencloning_linkml:sequence opencloning_linkml:fragment opencloning_linkml:start_location opencloning_linkml:percent_match_length rdf:type opencloning_linkml:Description opencloning_linkml:database opencloning_linkml:Type opencloning_linkml:full_length_of_feature_in_db opencloning_linkml:percent_identity opencloning_linkml:Feature opencloning_linkml:strand ) ; sh:property [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -1878,33 +1879,33 @@ opencloning_linkml:AnnotationReport a sh:NodeShape ; opencloning_linkml:AssociatedFile a sh:NodeShape ; sh:closed true ; sh:description "Represents a file associated with a sequence" ; - sh:ignoredProperties ( rdf:type opencloning_linkml:alignment ) ; + sh:ignoredProperties ( opencloning_linkml:alignment rdf:type ) ; sh:property [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:description "The name of the file" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:type ], + sh:order 2 ; + sh:path opencloning_linkml:file_name ], [ sh:description "The type of file" ; sh:in ( NCIT:C171177 ) ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 3 ; sh:path opencloning_linkml:file_type ], - [ sh:datatype xsd:string ; - sh:description "The name of the file" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:file_name ], [ sh:class bioschemas:DNA ; sh:description "The sequence this file is associated with" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:IRI ; sh:order 1 ; - sh:path opencloning_linkml:sequence_id ] ; + sh:path opencloning_linkml:sequence_id ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:type ] ; sh:targetClass opencloning_linkml:AssociatedFile . opencloning_linkml:CollectionOption a sh:NodeShape ; @@ -1937,35 +1938,35 @@ opencloning_linkml:CollectionOptionInfo a sh:NodeShape ; sh:closed true ; sh:description "Additional information about a collection option" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "The type of the option, this is redundant with the type of the source, and could be removed." ; - sh:in ( "OligoPair" "AddgenePlasmid" ) ; - sh:maxCount 1 ; - sh:order 2 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:string ; + sh:property [ sh:datatype xsd:string ; sh:description "The antibiotic resistance of the plasmid" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:resistance ], - [ sh:datatype xsd:string ; - sh:description "A human-readable name for a thing" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path schema1:name ], [ sh:datatype xsd:string ; sh:description "The well position in the kit plate" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path opencloning_linkml:well ], + [ sh:datatype xsd:string ; + sh:description "A human-readable name for a thing" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path schema1:name ], [ sh:datatype xsd:string ; sh:description "A description of the option" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; - sh:path opencloning_linkml:description ] ; + sh:path opencloning_linkml:description ], + [ sh:description "The type of the option, this is redundant with the type of the source, and could be removed." ; + sh:in ( "OligoPair" "AddgenePlasmid" ) ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path opencloning_linkml:type ] ; sh:targetClass opencloning_linkml:CollectionOptionInfo . opencloning_linkml:Primer a sh:NodeShape ; @@ -1973,6 +1974,12 @@ opencloning_linkml:Primer a sh:NodeShape ; sh:description "An oligonucleotide or primer" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:sequence ; + sh:pattern "^[acgtACGT]+$" ], + [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -1984,12 +1991,6 @@ opencloning_linkml:Primer a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path schema1:name ], - [ sh:datatype xsd:string ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:sequence ; - sh:pattern "^[acgtACGT]+$" ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -2008,24 +2009,19 @@ opencloning_linkml:Primer a sh:NodeShape ; schema1:CreateAction a sh:NodeShape ; sh:closed false ; sh:description "Represents the source of a sequence" ; - sh:ignoredProperties ( opencloning_linkml:annotation_tool opencloning_linkml:greedy opencloning_linkml:gene_id opencloning_linkml:annotation_report opencloning_linkml:addgene_sequence_type opencloning_linkml:user_input opencloning_linkml:image opencloning_linkml:circular opencloning_linkml:category_id opencloning_linkml:strand rdf:type opencloning_linkml:end opencloning_linkml:title opencloning_linkml:left_edge opencloning_linkml:add_primer_features opencloning_linkml:locus_tag opencloning_linkml:repository_name opencloning_linkml:reaction_type opencloning_linkml:sequence_accession opencloning_linkml:options opencloning_linkml:index_in_file opencloning_linkml:right_edge opencloning_linkml:overhang_crick_3prime opencloning_linkml:repository_id opencloning_linkml:restriction_enzymes opencloning_linkml:file_name opencloning_linkml:coordinates opencloning_linkml:sequence_file_url opencloning_linkml:start opencloning_linkml:circularize opencloning_linkml:annotation_tool_version opencloning_linkml:overhang_watson_3prime opencloning_linkml:description opencloning_linkml:sequence_file_format opencloning_linkml:assembly_accession ) ; - sh:property [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 3 ; - sh:path schema1:object ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:ignoredProperties ( opencloning_linkml:sequence_file_url opencloning_linkml:circular opencloning_linkml:sequence_file_format opencloning_linkml:user_input opencloning_linkml:annotation_tool_version opencloning_linkml:index_in_file opencloning_linkml:repository_id opencloning_linkml:overhang_crick_3prime opencloning_linkml:greedy opencloning_linkml:strand opencloning_linkml:circularize opencloning_linkml:assembly_accession rdf:type opencloning_linkml:locus_tag opencloning_linkml:addgene_sequence_type opencloning_linkml:options opencloning_linkml:annotation_tool opencloning_linkml:start opencloning_linkml:coordinates opencloning_linkml:end opencloning_linkml:category_id opencloning_linkml:repository_name opencloning_linkml:add_primer_features opencloning_linkml:image opencloning_linkml:gene_id opencloning_linkml:file_name opencloning_linkml:description opencloning_linkml:overhang_watson_3prime opencloning_linkml:restriction_enzymes opencloning_linkml:reaction_type opencloning_linkml:left_edge opencloning_linkml:annotation_report opencloning_linkml:title opencloning_linkml:sequence_accession opencloning_linkml:right_edge ) ; + sh:property [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; + sh:order 2 ; sh:path schema1:identifier ], [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; + sh:order 4 ; sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; @@ -2038,7 +2034,12 @@ schema1:CreateAction a sh:NodeShape ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; - sh:path opencloning_linkml:output_name ] ; + sh:path opencloning_linkml:output_name ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 3 ; + sh:path schema1:object ] ; sh:targetClass schema1:CreateAction . opencloning_linkml:RestrictionSequenceCut a sh:NodeShape ; @@ -2070,7 +2071,7 @@ opencloning_linkml:RestrictionSequenceCut a sh:NodeShape ; opencloning_linkml:SequenceCut a sh:NodeShape ; sh:closed true ; sh:description "Represents a cut in a DNA sequence" ; - sh:ignoredProperties ( rdf:type opencloning_linkml:restriction_enzyme ) ; + sh:ignoredProperties ( opencloning_linkml:restriction_enzyme rdf:type ) ; sh:property [ sh:datatype xsd:integer ; sh:description "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`." ; sh:maxCount 1 ; @@ -2090,7 +2091,7 @@ opencloning_linkml:SequenceCut a sh:NodeShape ; bioschemas:DNA a sh:NodeShape ; sh:closed false ; sh:description "Represents a sequence" ; - sh:ignoredProperties ( opencloning_linkml:file_content schema1:name opencloning_linkml:overhang_watson_3prime opencloning_linkml:overhang_crick_3prime opencloning_linkml:circular opencloning_linkml:sequence_file_format rdf:type opencloning_linkml:primer_design opencloning_linkml:sequence ) ; + sh:ignoredProperties ( opencloning_linkml:overhang_watson_3prime opencloning_linkml:circular opencloning_linkml:sequence schema1:name opencloning_linkml:sequence_file_format opencloning_linkml:file_content rdf:type opencloning_linkml:primer_design opencloning_linkml:overhang_crick_3prime ) ; sh:property [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -2109,7 +2110,7 @@ bioschemas:DNA a sh:NodeShape ; schema1:Role a sh:NodeShape ; sh:closed true ; sh:description "Represents an input to a source" ; - sh:ignoredProperties ( opencloning_linkml:right_location rdf:type opencloning_linkml:left_location opencloning_linkml:reverse_complemented ) ; + sh:ignoredProperties ( opencloning_linkml:left_location opencloning_linkml:reverse_complemented rdf:type opencloning_linkml:right_location ) ; sh:property [ sh:class bioschemas:DNA ; sh:description "The input sequence" ; sh:maxCount 1 ; diff --git a/project/sqlschema/opencloning_linkml.sql b/project/sqlschema/opencloning_linkml.sql index bedecda..c92de28 100644 --- a/project/sqlschema/opencloning_linkml.sql +++ b/project/sqlschema/opencloning_linkml.sql @@ -175,7 +175,7 @@ -- * Slot: id Description: A unique identifier for a thing -- # Class: "IGEMSource" Description: "Represents the source of a sequence from an iGEM collection" -- * Slot: sequence_file_url Description: The URL of the sequence file, for now github repository --- * Slot: repository_id Description: The unique identifier of the sequence in the iGEM collection (for now, {part_id}-{plasmid_backbone}) +-- * Slot: repository_id Description: The unique identifier of the sequence in the iGEM collection (for now, {part_id}-{plasmid_backbone}) pattern: ^[^-]*-[^-]$ -- * Slot: repository_name Description: -- * Slot: type Description: Designates the class -- * Slot: output_name Description: Used to specify the name of the output sequence diff --git a/src/opencloning_linkml/datamodel/_models.py b/src/opencloning_linkml/datamodel/_models.py index c2a1731..ff515bd 100644 --- a/src/opencloning_linkml/datamodel/_models.py +++ b/src/opencloning_linkml/datamodel/_models.py @@ -1597,7 +1597,7 @@ class SnapGenePlasmidSource(RepositoryIdSource): "plasmid is the subpath after " "the /.", "name": "repository_id", - "pattern": "^.+\\/.+$", + "pattern": "^[^\\\\]*\\\\[^\\\\]$", } }, } @@ -1661,7 +1661,7 @@ class SnapGenePlasmidSource(RepositoryIdSource): @field_validator("repository_id") def pattern_repository_id(cls, v): - pattern = re.compile(r"^.+\/.+$") + pattern = re.compile(r"^[^\\]*\\[^\\]$") if isinstance(v, list): for element in v: if isinstance(element, str) and not pattern.match(element): @@ -1774,7 +1774,8 @@ class IGEMSource(RepositoryIdSource): "description": "The unique identifier of the " "sequence in the iGEM " "collection (for now, " - "{part_id}-{plasmid_backbone})", + "{part_id}-{plasmid_backbone}) " + "pattern: ^[^-]*-[^-]$", "name": "repository_id", }, "sequence_file_url": { @@ -1805,7 +1806,7 @@ class IGEMSource(RepositoryIdSource): ) repository_id: str = Field( default=..., - description="""The unique identifier of the sequence in the iGEM collection (for now, {part_id}-{plasmid_backbone})""", + description="""The unique identifier of the sequence in the iGEM collection (for now, {part_id}-{plasmid_backbone}) pattern: ^[^-]*-[^-]$""", json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, ) repository_name: RepositoryName = Field( @@ -1885,6 +1886,7 @@ class OpenDNACollectionsSource(RepositoryIdSource): "repository_id": { "description": "Subpath of the sequence in " "the Open DNA collections " "repository", "name": "repository_id", + "pattern": "^[^\\\\]*\\\\[^\\\\]$", } }, } @@ -1977,6 +1979,19 @@ def pattern_sequence_file_url(cls, v): raise ValueError(err_msg) return v + @field_validator("repository_id") + def pattern_repository_id(cls, v): + pattern = re.compile(r"^[^\\]*\\[^\\]$") + if isinstance(v, list): + for element in v: + if isinstance(element, str) and not pattern.match(element): + err_msg = f"Invalid repository_id format: {element}" + raise ValueError(err_msg) + elif isinstance(v, str) and not pattern.match(v): + err_msg = f"Invalid repository_id format: {v}" + raise ValueError(err_msg) + return v + class GenomeCoordinatesSource(Source): """ diff --git a/src/opencloning_linkml/schema/opencloning_linkml.yaml b/src/opencloning_linkml/schema/opencloning_linkml.yaml index 06a6026..9031752 100644 --- a/src/opencloning_linkml/schema/opencloning_linkml.yaml +++ b/src/opencloning_linkml/schema/opencloning_linkml.yaml @@ -390,7 +390,7 @@ classes: The subpath of the plasmid in the SnapGene plasmid library. Requesting the plasmid is possible with https://www.snapgene.com/local/fetch.php?set={category_path}&plasmid={plasmid['subpath']} where category_path is the left part of the subpath before the first / and plasmid is the subpath after the /. - pattern: ^.+\/.+$ + pattern: ^[^\\]*\\[^\\]$ EuroscarfSource: is_a: RepositoryIdSource @@ -412,6 +412,7 @@ classes: repository_id: description: >- The unique identifier of the sequence in the iGEM collection (for now, {part_id}-{plasmid_backbone}) + pattern: ^[^-]*-[^-]$ sequence_file_url: required: true description: >- @@ -428,6 +429,7 @@ classes: repository_id: description: >- Subpath of the sequence in the Open DNA collections repository + pattern: ^[^\\]*\\[^\\]$ GenomeCoordinatesSource: is_a: Source From 99f4bdf4a3fd55e5a9a2de40e94ec7b0701bc0b3 Mon Sep 17 00:00:00 2001 From: Manuel Lera-Ramirez Date: Thu, 27 Nov 2025 13:26:38 +0000 Subject: [PATCH 3/5] fix regex --- src/opencloning_linkml/schema/opencloning_linkml.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/opencloning_linkml/schema/opencloning_linkml.yaml b/src/opencloning_linkml/schema/opencloning_linkml.yaml index 9031752..0be3934 100644 --- a/src/opencloning_linkml/schema/opencloning_linkml.yaml +++ b/src/opencloning_linkml/schema/opencloning_linkml.yaml @@ -390,7 +390,7 @@ classes: The subpath of the plasmid in the SnapGene plasmid library. Requesting the plasmid is possible with https://www.snapgene.com/local/fetch.php?set={category_path}&plasmid={plasmid['subpath']} where category_path is the left part of the subpath before the first / and plasmid is the subpath after the /. - pattern: ^[^\\]*\\[^\\]$ + pattern: ^[^/]*\/[^/]$ EuroscarfSource: is_a: RepositoryIdSource @@ -429,7 +429,7 @@ classes: repository_id: description: >- Subpath of the sequence in the Open DNA collections repository - pattern: ^[^\\]*\\[^\\]$ + pattern: ^[^/]*\/[^/]$ GenomeCoordinatesSource: is_a: Source From 0b132aef6a874070bd63feebb75358a1cbcae53b Mon Sep 17 00:00:00 2001 From: Manuel Lera-Ramirez Date: Thu, 27 Nov 2025 13:28:55 +0000 Subject: [PATCH 4/5] fix regex --- project/excel/opencloning_linkml.xlsx | Bin 30966 -> 30966 bytes .../jsonld/opencloning_linkml.context.jsonld | 2 +- project/jsonld/opencloning_linkml.jsonld | 10 +- .../jsonschema/opencloning_linkml.schema.json | 4 +- project/owl/opencloning_linkml.owl.ttl | 952 +++++----- project/python/opencloning_linkml.py | 6 +- project/shacl/opencloning_linkml.shacl.ttl | 1588 ++++++++--------- src/opencloning_linkml/datamodel/_models.py | 8 +- 8 files changed, 1285 insertions(+), 1285 deletions(-) diff --git a/project/excel/opencloning_linkml.xlsx b/project/excel/opencloning_linkml.xlsx index 7153541477a1dc3bd257427415a1331885d067c7..efe2b0e9a990714fd29e71b9ca93b303ada7133e 100644 GIT binary patch delta 1351 zcmezNk@4F{MxFp~W)=|!1_lm>{_Kf7>je9=tD{#giJbWkD0Z5WfkAL`V3tVz)QP^{ zM+^ko{-3&3ZSC7F-;$%>rOtYg^=Pz5T6yzX_LCmF|KHp4t}OhE(vwM*^DEPwTDW3< zcAUS+-jiam*6sH0BcT!E)r$@=PP(;t>dI3srypK(*Vc@G%-0kmU(|l#%2(3}m6fWV zGg?w3dX5IJyt;^I{>J&NQHt2u*QfSE&Nu__*KjQK?%nWJ-?IL)#dvuHFhn_ zTjzD`)U&k1QTOgV`)s$f?#ukvYuTGk{~K@n+WJxD14@c-Mn5E>lbm?kfYsRq%mmZd19vfky~rxD;f)p0i^5DmFG_CS5$pvK z-+gkc(Osap8Y@^_GxRN3pG3GEIGAh#)HcUO7BljKf@!gAsK^1J+DVfQfT8pw>H=8l zsTf9((#>b%s=->k5}$*(#!2s(L9}w(Gq5u5jF%vK^0!PI4p=UmY?WmW5-ZNK2T@zH zTtL(>2<4Cs=CwhnGZ0EB2P_x?q2@uTClE?2*A=9_5JK&MQ2!y+hkTjINqL$e`QALR zvbqA9$sZshAf|afSQ4bJ4#7MMW5Trr7l75(6@W#KLMWa>FpsBDW^#TZSbi2nn$B3xx)i9iT7147-0P-^91xm*afrQ8w}Xz$Cx5v5UK4dSI%xPhp( G6`lYbYZm+f delta 1351 zcmezNk@4F{MxFp~W)=|!1_lm>8yORM)(PIosE)q3?!DGKpx9|f1_r^&fmtH;Qz!cR zA2#4=`+sUm_3LG+%&xKe3VsTThMY%qz4quX`WcXP<=y?u)7DBio$mYi`^Uz$SF|{u zD(`cVH<)yA%ZuFClL8XYesghTP}%CP9c(9%$Fbcm%JZ=CI|Yxgn&lj+fol#ZdFpx| z(l~P{C&hhf*k+@eqh&%FtTz_9x^q^Xdsu%)$Zht&+!>Q*zL`98<+|6O*3H_HsLc2N zy#M;kpJo94d*PWe}AGs^CAaIb@a@b&375C z*_du*Y?k84VFb|~oRh$`47VB+i0{HX70kcQR}H2k1RB8fEx`$3I!Aa0m}V0_0j4jA zH8FC6f?98D(7Y>?FUH7iu9SEJmWr1;2d4F9+(1T8j@D7#JV#C%Y|T!EGB9nZ90-;( zR92hppU=8^y(-ulV6}hL!D_*5J1vO5XdMTrdezN`^mO2CQ9~UjK9Do`OTXK#2F7+6 z%Va}Ssm+UP<;y?{An~ z=q|VUoi)VQ4Yo_6%2YS|*n>l4a)YhvWP@V1%|9Kg;BvE^5OVu~a_%k&xfiaGkj!%5 z47OU{6XHFfIhzx`;rcdn_(Ifm`E3BJvk909rmqL?Vg!4URbs;%E1(yJnSfrD+`J>$ z3nISzFako&gHTT(lvb`QNP8iK+5w^dL#Pk=GLw_?G(qyc zd0=IA1u~OAKtw=H^L(%*NL?L*c@)NkYY8p@tE(#jiyVbeJcVE$Pod1@{6et&EQrX% zLRWA)ha?V#64A*nMPT`dK&9OX<|PDEvKX!)0l{33V7`MeB}>3|CO{~Vd525jI=M>0 zOw&@Zn)_uklV?Cg4nst^%D@tV5NZa5x(}h$%E5BE5Nb=gB`DC|mxCipqrw`*ORaDN IQEMwa0q(mqZU6uP diff --git a/project/jsonld/opencloning_linkml.context.jsonld b/project/jsonld/opencloning_linkml.context.jsonld index f9aff2c..3591b61 100644 --- a/project/jsonld/opencloning_linkml.context.jsonld +++ b/project/jsonld/opencloning_linkml.context.jsonld @@ -1,7 +1,7 @@ { "comments": { "description": "Auto generated by LinkML jsonld context generator", - "generation_date": "2025-11-27T13:06:42", + "generation_date": "2025-11-27T13:28:24", "source": "opencloning_linkml.yaml" }, "@context": { diff --git a/project/jsonld/opencloning_linkml.jsonld b/project/jsonld/opencloning_linkml.jsonld index f5c43b1..4e20981 100644 --- a/project/jsonld/opencloning_linkml.jsonld +++ b/project/jsonld/opencloning_linkml.jsonld @@ -2021,7 +2021,7 @@ "usage_slot_name": "repository_id", "range": "string", "required": true, - "pattern": "^[^\\\\]*\\\\[^\\\\]$", + "pattern": "^[^/]*\\/[^/]$", "@type": "SlotDefinition" }, { @@ -2100,7 +2100,7 @@ "usage_slot_name": "repository_id", "range": "string", "required": true, - "pattern": "^[^\\\\]*\\\\[^\\\\]$", + "pattern": "^[^/]*\\/[^/]$", "@type": "SlotDefinition" }, { @@ -3542,9 +3542,9 @@ ], "metamodel_version": "1.7.0", "source_file": "opencloning_linkml.yaml", - "source_file_date": "2025-11-27T13:06:37", - "source_file_size": 26125, - "generation_date": "2025-11-27T13:06:42", + "source_file_date": "2025-11-27T13:26:30", + "source_file_size": 26121, + "generation_date": "2025-11-27T13:28:24", "@type": "SchemaDefinition", "@context": [ "project/jsonld/opencloning_linkml.context.jsonld", diff --git a/project/jsonschema/opencloning_linkml.schema.json b/project/jsonschema/opencloning_linkml.schema.json index 4437533..9bb12aa 100644 --- a/project/jsonschema/opencloning_linkml.schema.json +++ b/project/jsonschema/opencloning_linkml.schema.json @@ -1895,7 +1895,7 @@ }, "repository_id": { "description": "Subpath of the sequence in the Open DNA collections repository", - "pattern": "^[^\\\\]*\\\\[^\\\\]$", + "pattern": "^[^/]*\\/[^/]$", "type": "string" }, "repository_name": { @@ -2837,7 +2837,7 @@ }, "repository_id": { "description": "The subpath of the plasmid in the SnapGene plasmid library. Requesting the plasmid is possible with https://www.snapgene.com/local/fetch.php?set={category_path}&plasmid={plasmid['subpath']} where category_path is the left part of the subpath before the first / and plasmid is the subpath after the /.", - "pattern": "^[^\\\\]*\\\\[^\\\\]$", + "pattern": "^[^/]*\\/[^/]$", "type": "string" }, "repository_name": { diff --git a/project/owl/opencloning_linkml.owl.ttl b/project/owl/opencloning_linkml.owl.ttl index 18328a6..c93bda8 100644 --- a/project/owl/opencloning_linkml.owl.ttl +++ b/project/owl/opencloning_linkml.owl.ttl @@ -15,65 +15,65 @@ opencloning_linkml:CloningStrategy a owl:Class, linkml:ClassDefinition ; rdfs:label "CloningStrategy" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:Source ; - owl:onProperty opencloning_linkml:sources ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:version_number ; - owl:onProperty opencloning_linkml:backend_version ], - [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:backend_version ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:version_number ; - owl:onProperty opencloning_linkml:schema_version ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:primers ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:version_number ; - owl:onProperty opencloning_linkml:frontend_version ], + owl:allValuesFrom opencloning_linkml:AssociatedFile ; + owl:onProperty opencloning_linkml:files ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:schema_version ], + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:sequences ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:backend_version ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:description ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:AssociatedFile ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:files ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:frontend_version ], + owl:allValuesFrom opencloning_linkml:Primer ; + owl:onProperty opencloning_linkml:primers ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:version_number ; + owl:onProperty opencloning_linkml:backend_version ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:frontend_version ], + owl:onProperty opencloning_linkml:schema_version ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom opencloning_linkml:Sequence ; owl:onProperty opencloning_linkml:sequences ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:primers ], [ a owl:Restriction ; owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:frontend_version ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:version_number ; + owl:onProperty opencloning_linkml:frontend_version ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:schema_version ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:Primer ; - owl:onProperty opencloning_linkml:primers ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:Sequence ; - owl:onProperty opencloning_linkml:sequences ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:files ], + owl:onProperty opencloning_linkml:frontend_version ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:sources ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:description ] ; + owl:allValuesFrom opencloning_linkml:Source ; + owl:onProperty opencloning_linkml:sources ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:description ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:version_number ; + owl:onProperty opencloning_linkml:schema_version ] ; skos:definition "Represents a cloning strategy" ; skos:inScheme . @@ -91,31 +91,31 @@ opencloning_linkml:CollectionOption a owl:Class, linkml:ClassDefinition ; rdfs:label "CollectionOption" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:name ], - [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:source ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:Source ; owl:onProperty opencloning_linkml:source ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:info ], + owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:name ], + owl:onProperty opencloning_linkml:source ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:source ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:CollectionOptionInfo ; owl:onProperty opencloning_linkml:info ], [ a owl:Restriction ; owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:info ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:CollectionOptionInfo ; owl:onProperty opencloning_linkml:info ] ; skos:definition "Represents an option in a collection" ; skos:inScheme . @@ -124,50 +124,50 @@ opencloning_linkml:CollectionOptionInfo a owl:Class, linkml:ClassDefinition ; rdfs:label "CollectionOptionInfo" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:description ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:name ], + [ a owl:Restriction ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:resistance ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:type ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:type ], + owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:well ], + owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:well ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:description ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:well ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:resistance ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:CollectionOptionType ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:name ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:well ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:name ], + owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:name ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:well ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:resistance ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:resistance ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:description ] ; + owl:onProperty opencloning_linkml:type ] ; skos:definition "Additional information about a collection option" ; skos:inScheme . @@ -178,23 +178,23 @@ opencloning_linkml:AddgeneIdSource a owl:Class, owl:allValuesFrom opencloning_linkml:AddgeneSequenceType ; owl:onProperty opencloning_linkml:addgene_sequence_type ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:sequence_file_url ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom [ a rdfs:Datatype ; + owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; + owl:onDatatype xsd:string ; + owl:withRestrictions ( [ xsd:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:addgene_sequence_type ], [ a owl:Restriction ; - owl:allValuesFrom [ a rdfs:Datatype ; - owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; - owl:onDatatype xsd:string ; - owl:withRestrictions ( [ xsd:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:addgene_sequence_type ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:sequence_file_url ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence that is identified by an Addgene id" ; skos:inScheme . @@ -213,29 +213,29 @@ opencloning_linkml:AnnotationSource a owl:Class, linkml:ClassDefinition ; rdfs:label "AnnotationSource" ; rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:annotation_tool_version ], + [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:AnnotationReport ; owl:onProperty opencloning_linkml:annotation_report ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:annotation_tool ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:annotation_tool_version ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:annotation_tool_version ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:annotation_report ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:annotation_tool ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:AnnotationTool ; owl:onProperty opencloning_linkml:annotation_tool ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:annotation_report ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:annotation_tool_version ], opencloning_linkml:Source ; skos:definition "Represents a computational step in which sequence features are annotated in a sequence" ; skos:inScheme . @@ -244,32 +244,32 @@ opencloning_linkml:AssemblyFragment a owl:Class, linkml:ClassDefinition ; rdfs:label "AssemblyFragment" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:reverse_complemented ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:reverse_complemented ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:right_location ], [ a owl:Restriction ; owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:reverse_complemented ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:sequence_range ; - owl:onProperty opencloning_linkml:right_location ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:right_location ], + owl:onProperty opencloning_linkml:left_location ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:left_location ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:right_location ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:sequence_range ; - owl:onProperty opencloning_linkml:left_location ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:left_location ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:sequence_range ; + owl:onProperty opencloning_linkml:right_location ], opencloning_linkml:SourceInput ; skos:definition "Represents a fragment in an assembly" ; skos:inScheme . @@ -323,44 +323,44 @@ opencloning_linkml:CollectionSource a owl:Class, linkml:ClassDefinition ; rdfs:label "CollectionSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:category_id ], + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:title ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:CollectionOption ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:options ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:title ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:description ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:description ], + owl:onProperty opencloning_linkml:category_id ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:description ], + owl:allValuesFrom opencloning_linkml:CollectionOption ; + owl:onProperty opencloning_linkml:options ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:category_id ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:description ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:title ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:options ], + owl:onProperty opencloning_linkml:image ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:title ], + owl:onProperty opencloning_linkml:description ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:image ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:category_id ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:image ], opencloning_linkml:Source ; skos:definition "Represents a collection of possible sources in a template" ; skos:inScheme . @@ -379,10 +379,10 @@ opencloning_linkml:DatabaseSource a owl:Class, owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:database_id ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is identified by a database id" ; @@ -392,10 +392,10 @@ opencloning_linkml:EuroscarfSource a owl:Class, linkml:ClassDefinition ; rdfs:label "EuroscarfSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; @@ -420,23 +420,23 @@ opencloning_linkml:GatewaySource a owl:Class, linkml:ClassDefinition ; rdfs:label "GatewaySource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:GatewayReactionType ; - owl:onProperty opencloning_linkml:reaction_type ], - [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:reaction_type ], [ a owl:Restriction ; owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:greedy ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:GatewayReactionType ; owl:onProperty opencloning_linkml:reaction_type ], [ a owl:Restriction ; owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:greedy ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:greedy ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:greedy ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:reaction_type ], opencloning_linkml:AssemblySource ; skos:definition "Represents the source of a sequence that is generated by Gateway cloning" ; skos:inScheme . @@ -445,68 +445,68 @@ opencloning_linkml:GenomeCoordinatesSource a owl:Class, linkml:ClassDefinition ; rdfs:label "GenomeCoordinatesSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:end ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:start ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:gene_id ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_accession ], - [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:gene_id ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:locus_tag ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:sequence_accession ], + owl:onProperty opencloning_linkml:assembly_accession ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:start ], + owl:onProperty opencloning_linkml:gene_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:start ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:strand ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:locus_tag ], + owl:onProperty opencloning_linkml:strand ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:strand ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:sequence_accession ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:end ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:gene_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:strand ], + owl:onProperty opencloning_linkml:sequence_accession ], [ a owl:Restriction ; owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:strand ], + owl:onProperty opencloning_linkml:start ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:strand ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:locus_tag ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:assembly_accession ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:locus_tag ], + [ a owl:Restriction ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:assembly_accession ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_accession ], + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:start ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:end ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:assembly_accession ], + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:end ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_accession ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:locus_tag ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:gene_id ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is identified by genome coordinates, requested from NCBI" ; skos:inScheme . @@ -522,25 +522,25 @@ opencloning_linkml:IGEMSource a owl:Class, linkml:ClassDefinition ; rdfs:label "IGEMSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], + owl:allValuesFrom [ a rdfs:Datatype ; + owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; + owl:onDatatype xsd:string ; + owl:withRestrictions ( [ xsd:pattern "^.*.gb$" ] ) ] ) ] ; + owl:onProperty opencloning_linkml:sequence_file_url ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:repository_id ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_file_url ], + owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:allValuesFrom [ a rdfs:Datatype ; - owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; - owl:onDatatype xsd:string ; - owl:withRestrictions ( [ xsd:pattern "^.*.gb$" ] ) ] ) ] ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_url ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence from an iGEM collection" ; @@ -572,18 +572,18 @@ opencloning_linkml:ManuallyTypedSource a owl:Class, rdfs:label "ManuallyTypedSource" ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:overhang_watson_3prime ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:user_input ], + owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:overhang_crick_3prime ], + owl:onProperty opencloning_linkml:overhang_watson_3prime ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:circular ], [ a owl:Restriction ; owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:overhang_watson_3prime ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; owl:minCardinality 0 ; @@ -597,18 +597,18 @@ opencloning_linkml:ManuallyTypedSource a owl:Class, owl:onDatatype xsd:string ; owl:withRestrictions ( [ xsd:pattern "^[acgtACGT]+$" ] ) ] ) ] ; owl:onProperty opencloning_linkml:user_input ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:circular ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:user_input ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:overhang_watson_3prime ], + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:user_input ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:overhang_crick_3prime ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Boolean ; + owl:onProperty opencloning_linkml:circular ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is manually typed by the user" ; skos:inScheme . @@ -617,13 +617,13 @@ opencloning_linkml:NamedThing a owl:Class, linkml:ClassDefinition ; rdfs:label "NamedThing" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:id ], - [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:id ], [ a owl:Restriction ; owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:id ], + [ a owl:Restriction ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:id ] ; skos:exactMatch schema1:Thing ; skos:inScheme . @@ -635,10 +635,10 @@ opencloning_linkml:OligoHybridizationSource a owl:Class, owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:overhang_crick_3prime ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is generated by oligo hybridization" ; @@ -648,27 +648,27 @@ opencloning_linkml:OpenDNACollectionsSource a owl:Class, linkml:ClassDefinition ; rdfs:label "OpenDNACollectionsSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], - [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; - owl:allValuesFrom [ a rdfs:Datatype ; - owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; - owl:onDatatype xsd:string ; - owl:withRestrictions ( [ xsd:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; - owl:onProperty opencloning_linkml:sequence_file_url ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_file_url ], + [ a owl:Restriction ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:onDatatype xsd:string ; - owl:withRestrictions ( [ xsd:pattern "^[^\\\\]*\\\\[^\\\\]$" ] ) ] ; + owl:withRestrictions ( [ xsd:pattern "^[^/]*\\/[^/]$" ] ) ] ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom [ a rdfs:Datatype ; + owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; + owl:onDatatype xsd:string ; + owl:withRestrictions ( [ xsd:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; owl:onProperty opencloning_linkml:sequence_file_url ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence from the Open DNA collections" ; @@ -685,13 +685,13 @@ opencloning_linkml:PCRSource a owl:Class, linkml:ClassDefinition ; rdfs:label "PCRSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:add_primer_features ], [ a owl:Restriction ; owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:add_primer_features ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:add_primer_features ], opencloning_linkml:AssemblySource ; skos:definition "Represents the source of a sequence that is generated by PCR" ; @@ -701,131 +701,131 @@ opencloning_linkml:PlannotateAnnotationReport a owl:Class, linkml:ClassDefinition ; rdfs:label "PlannotateAnnotationReport" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:Type ], - [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:Feature ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty opencloning_linkml:fragment ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:Feature ], + owl:onProperty opencloning_linkml:Type ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:end_location ], + owl:onProperty opencloning_linkml:start_location ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:Type ], + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:strand ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:length_of_found_feature ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Float ; - owl:onProperty opencloning_linkml:percent_match_length ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Float ; - owl:onProperty opencloning_linkml:percent_identity ], + owl:onProperty opencloning_linkml:Feature ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:database ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:percent_match_length ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:sseqid ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:Feature ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:sseqid ], + owl:onProperty opencloning_linkml:Description ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:Description ], + owl:onProperty opencloning_linkml:strand ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:sequence ], + owl:onProperty opencloning_linkml:database ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:percent_identity ], + owl:allValuesFrom linkml:Float ; + owl:onProperty opencloning_linkml:percent_match_length ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:Description ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:fragment ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:Type ], + owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sseqid ], + owl:allValuesFrom linkml:Float ; + owl:onProperty opencloning_linkml:percent_identity ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:start_location ], + owl:onProperty opencloning_linkml:sseqid ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:length_of_found_feature ], + owl:onProperty opencloning_linkml:end_location ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:length_of_found_feature ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:database ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:start_location ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:strand ], + owl:onProperty opencloning_linkml:start_location ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:percent_identity ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:strand ], + owl:onProperty opencloning_linkml:fragment ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:percent_match_length ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:end_location ], + owl:onProperty opencloning_linkml:sseqid ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:end_location ], + owl:onProperty opencloning_linkml:percent_identity ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:fragment ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:Type ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:Feature ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:Description ], + owl:onProperty opencloning_linkml:Type ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:database ], + owl:onProperty opencloning_linkml:end_location ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:database ], + owl:onProperty opencloning_linkml:Description ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:Feature ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:start_location ], + owl:onProperty opencloning_linkml:length_of_found_feature ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:start_location ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:sequence ], + owl:onProperty opencloning_linkml:Description ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:percent_identity ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:sseqid ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:percent_match_length ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:strand ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:percent_match_length ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:length_of_found_feature ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Boolean ; + owl:onProperty opencloning_linkml:fragment ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:end_location ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:sequence ], opencloning_linkml:AnnotationReport ; skos:definition "Represents a report of an annotation step using Plannotate" ; skos:inScheme . @@ -903,18 +903,18 @@ opencloning_linkml:RestrictionEnzymeDigestionSource a owl:Class, owl:onProperty opencloning_linkml:left_edge ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:right_edge ], + owl:onProperty opencloning_linkml:left_edge ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:left_edge ], + owl:onProperty opencloning_linkml:right_edge ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:RestrictionSequenceCut ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:right_edge ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:left_edge ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom opencloning_linkml:RestrictionSequenceCut ; owl:onProperty opencloning_linkml:right_edge ], opencloning_linkml:SequenceCutSource ; skos:definition "Represents the source of a sequence that is a subfragment of another sequence, generated by sequence cutting using restriction enzymes." ; @@ -927,10 +927,10 @@ opencloning_linkml:RestrictionSequenceCut a owl:Class, owl:minCardinality 1 ; owl:onProperty opencloning_linkml:restriction_enzyme ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:restriction_enzyme ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:restriction_enzyme ], opencloning_linkml:SequenceCut ; skos:definition "Represents a cut in a DNA sequence that is made by a restriction enzyme" ; @@ -947,27 +947,27 @@ opencloning_linkml:SEVASource a owl:Class, linkml:ClassDefinition ; rdfs:label "SEVASource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom [ a rdfs:Datatype ; - owl:onDatatype xsd:string ; - owl:withRestrictions ( [ xsd:pattern "^pSEVA\\d+.*$" ] ) ] ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:allValuesFrom [ a rdfs:Datatype ; - owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; - owl:onDatatype xsd:string ; - owl:withRestrictions ( [ xsd:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom [ a rdfs:Datatype ; + owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; + owl:onDatatype xsd:string ; + owl:withRestrictions ( [ xsd:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom [ a rdfs:Datatype ; + owl:onDatatype xsd:string ; + owl:withRestrictions ( [ xsd:pattern "^pSEVA\\d+.*$" ] ) ] ; owl:onProperty opencloning_linkml:repository_id ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence that is identified by a SEVA id" ; @@ -997,10 +997,10 @@ opencloning_linkml:SequencingFile a owl:Class, linkml:ClassDefinition ; rdfs:label "SequencingFile" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:alignment ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:alignment ], opencloning_linkml:AssociatedFile ; skos:definition "Represents a sequencing file and its alignment to a sequence" ; @@ -1010,15 +1010,15 @@ opencloning_linkml:SnapGenePlasmidSource a owl:Class, linkml:ClassDefinition ; rdfs:label "SnapGenePlasmidSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom [ a rdfs:Datatype ; + owl:onDatatype xsd:string ; + owl:withRestrictions ( [ xsd:pattern "^[^/]*\\/[^/]$" ] ) ] ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:allValuesFrom [ a rdfs:Datatype ; - owl:onDatatype xsd:string ; - owl:withRestrictions ( [ xsd:pattern "^[^\\\\]*\\\\[^\\\\]$" ] ) ] ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence from the SnapGene plasmid library identified by a SnapGene subpath of https://www.snapgene.com/plasmids/" ; @@ -1031,20 +1031,20 @@ opencloning_linkml:TemplateSequence a owl:Class, owl:minCardinality 0 ; owl:onProperty opencloning_linkml:circular ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:primer_design ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty opencloning_linkml:circular ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:circular ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:primer_design ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty opencloning_linkml:circular ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:primer_design ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:primer_design ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:circular ], opencloning_linkml:Sequence ; skos:definition "Represents a sequence that is part of a template, where the actual sequence content will be determined by the user's actions" ; skos:inScheme . @@ -1054,39 +1054,39 @@ opencloning_linkml:TextFileSequence a owl:Class, rdfs:label "TextFileSequence" ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:overhang_watson_3prime ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:overhang_watson_3prime ], + owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:file_content ], + owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:file_content ], + owl:allValuesFrom opencloning_linkml:SequenceFileFormat ; + owl:onProperty opencloning_linkml:sequence_file_format ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:overhang_crick_3prime ], + owl:onProperty opencloning_linkml:file_content ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:overhang_crick_3prime ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:SequenceFileFormat ; - owl:onProperty opencloning_linkml:sequence_file_format ], + owl:onProperty opencloning_linkml:file_content ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:overhang_watson_3prime ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_format ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:overhang_watson_3prime ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:overhang_watson_3prime ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_format ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:file_content ], opencloning_linkml:Sequence ; skos:definition "A sequence (may have features) defined by the content of a text file" ; @@ -1096,49 +1096,49 @@ opencloning_linkml:UploadedFileSource a owl:Class, linkml:ClassDefinition ; rdfs:label "UploadedFileSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:index_in_file ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:circularize ], - [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:file_name ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:index_in_file ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:coordinates ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:SequenceFileFormat ; owl:onProperty opencloning_linkml:sequence_file_format ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:coordinates ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:sequence_range ; - owl:onProperty opencloning_linkml:coordinates ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_format ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:file_name ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:index_in_file ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_format ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:index_in_file ], + [ a owl:Restriction ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:circularize ], [ a owl:Restriction ; owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:circularize ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:file_name ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom opencloning_linkml:sequence_range ; owl:onProperty opencloning_linkml:coordinates ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:circularize ], [ a owl:Restriction ; owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:file_name ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:index_in_file ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is uploaded as a file" ; @@ -1148,28 +1148,28 @@ opencloning_linkml:WekWikGeneIdSource a owl:Class, linkml:ClassDefinition ; rdfs:label "WekWikGeneIdSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_file_url ], - [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:sequence_file_url ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; owl:onDatatype xsd:string ; owl:withRestrictions ( [ xsd:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; owl:onProperty opencloning_linkml:sequence_file_url ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_file_url ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:onDatatype xsd:string ; owl:withRestrictions ( [ xsd:pattern "^\\d+$" ] ) ] ; owl:onProperty opencloning_linkml:repository_id ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:repository_id ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence that is identified by a WeKwikGene id" ; skos:inScheme . @@ -1263,17 +1263,26 @@ opencloning_linkml:Primer a owl:Class, linkml:ClassDefinition ; rdfs:label "Primer" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom [ a rdfs:Datatype ; - owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; - owl:onDatatype xsd:string ; - owl:withRestrictions ( [ xsd:pattern "^[acgtACGT]+$" ] ) ] ) ] ; - owl:onProperty opencloning_linkml:sequence ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:database_id ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:database_id ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:sequence ], + [ a owl:Restriction ; + owl:allValuesFrom [ a rdfs:Datatype ; + owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; + owl:onDatatype xsd:string ; + owl:withRestrictions ( [ xsd:pattern "^[acgtACGT]+$" ] ) ] ) ] ; + owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:name ], @@ -1283,15 +1292,6 @@ opencloning_linkml:Primer a owl:Class, [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:name ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:name ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:database_id ], opencloning_linkml:Sequence ; skos:definition "An oligonucleotide or primer" ; skos:inScheme . @@ -1300,23 +1300,23 @@ opencloning_linkml:SequenceCut a owl:Class, linkml:ClassDefinition ; rdfs:label "SequenceCut" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:cut_watson ], - [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:overhang ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:overhang ], + owl:onProperty opencloning_linkml:cut_watson ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:overhang ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:cut_watson ], [ a owl:Restriction ; owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:overhang ], + owl:onProperty opencloning_linkml:cut_watson ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:cut_watson ] ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:overhang ] ; skos:definition "Represents a cut in a DNA sequence" ; skos:inScheme . @@ -1325,22 +1325,22 @@ opencloning_linkml:SequenceCutSource a owl:Class, rdfs:label "SequenceCutSource" ; rdfs:subClassOf [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:SequenceCut ; - owl:onProperty opencloning_linkml:left_edge ], + owl:onProperty opencloning_linkml:right_edge ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:right_edge ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:right_edge ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:left_edge ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:SequenceCut ; - owl:onProperty opencloning_linkml:right_edge ], - [ a owl:Restriction ; - owl:minCardinality 0 ; owl:onProperty opencloning_linkml:left_edge ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:left_edge ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:right_edge ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is a subfragment of another sequence, generated by sequence cutting." ; skos:inScheme . @@ -1623,41 +1623,32 @@ opencloning_linkml:AnnotationReport a owl:Class, linkml:ClassDefinition ; rdfs:label "AnnotationReport" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:type ], - [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:type ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:type ] ; skos:definition "Represents a report of an annotation step" ; skos:inScheme . opencloning_linkml:AssociatedFile a owl:Class, - linkml:ClassDefinition ; - rdfs:label "AssociatedFile" ; - rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:Sequence ; - owl:onProperty opencloning_linkml:sequence_id ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_id ], + linkml:ClassDefinition ; + rdfs:label "AssociatedFile" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:file_name ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:file_name ], + owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:AssociatedFileType ; owl:onProperty opencloning_linkml:file_type ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom opencloning_linkml:Sequence ; owl:onProperty opencloning_linkml:sequence_id ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:file_name ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:type ], @@ -1665,14 +1656,23 @@ opencloning_linkml:AssociatedFile a owl:Class, owl:minCardinality 1 ; owl:onProperty opencloning_linkml:file_type ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:file_name ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:file_type ] ; + owl:onProperty opencloning_linkml:file_type ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_id ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_id ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:file_name ] ; skos:definition "Represents a file associated with a sequence" ; skos:inScheme . @@ -1686,22 +1686,22 @@ opencloning_linkml:SourceInput a owl:Class, linkml:ClassDefinition ; rdfs:label "SourceInput" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:type ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom opencloning_linkml:Sequence ; owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:type ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:Sequence ; - owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:type ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:sequence ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence ] ; skos:definition "Represents an input to a source" ; skos:exactMatch schema1:Role ; @@ -1763,22 +1763,22 @@ opencloning_linkml:Sequence a owl:Class, rdfs:label "Sequence" ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:type ], + owl:onProperty opencloning_linkml:id ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:id ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:id ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:id ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:type ], opencloning_linkml:NamedThing ; skos:definition "Represents a sequence" ; skos:exactMatch bioschemas:DNA ; @@ -1820,20 +1820,20 @@ opencloning_linkml:RepositoryIdSource a owl:Class, rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:RepositoryName ; - owl:onProperty opencloning_linkml:repository_name ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_name ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_name ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:allValuesFrom opencloning_linkml:RepositoryName ; + owl:onProperty opencloning_linkml:repository_name ], + [ a owl:Restriction ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is identified by a repository id" ; @@ -1878,37 +1878,37 @@ opencloning_linkml:Source a owl:Class, rdfs:label "Source" ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:type ], - [ a owl:Restriction ; - owl:minCardinality 0 ; owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:input ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:output_name ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:output_name ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:database_id ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:output_name ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:SourceInput ; owl:onProperty opencloning_linkml:input ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:output_name ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:type ], + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:database_id ], opencloning_linkml:NamedThing ; skos:definition "Represents the source of a sequence" ; skos:exactMatch schema1:CreateAction ; @@ -1950,216 +1950,216 @@ opencloning_linkml:type a owl:ObjectProperty, skos:definition "A LinkML data model for OpenCloning" . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SequenceCutSource ; + rdfs:subClassOf opencloning_linkml:RestrictionEnzymeDigestionSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SequenceCutSource . + owl:someValuesFrom opencloning_linkml:RestrictionEnzymeDigestionSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:OpenDNACollectionsSource ; + rdfs:subClassOf opencloning_linkml:CollectionSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:OpenDNACollectionsSource . + owl:someValuesFrom opencloning_linkml:CollectionSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:RepositoryIdSource ; + rdfs:subClassOf opencloning_linkml:CRISPRSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:RepositoryIdSource . + owl:someValuesFrom opencloning_linkml:CRISPRSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:CRISPRSource ; + rdfs:subClassOf opencloning_linkml:PlannotateAnnotationReport ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:CRISPRSource . + owl:someValuesFrom opencloning_linkml:PlannotateAnnotationReport . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:TemplateSequence ; + rdfs:subClassOf opencloning_linkml:AssemblyFragment ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:TemplateSequence . + owl:someValuesFrom opencloning_linkml:AssemblyFragment . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:InVivoAssemblySource ; + rdfs:subClassOf opencloning_linkml:HomologousRecombinationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:InVivoAssemblySource . + owl:someValuesFrom opencloning_linkml:HomologousRecombinationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:GatewaySource ; + rdfs:subClassOf opencloning_linkml:DatabaseSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:GatewaySource . + owl:someValuesFrom opencloning_linkml:DatabaseSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AnnotationSource ; + rdfs:subClassOf opencloning_linkml:WekWikGeneIdSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AnnotationSource . + owl:someValuesFrom opencloning_linkml:WekWikGeneIdSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AnnotationReport ; + rdfs:subClassOf opencloning_linkml:TextFileSequence ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AnnotationReport . + owl:someValuesFrom opencloning_linkml:TextFileSequence . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:CreLoxRecombinationSource ; + rdfs:subClassOf opencloning_linkml:PolymeraseExtensionSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:CreLoxRecombinationSource . + owl:someValuesFrom opencloning_linkml:PolymeraseExtensionSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:PCRSource ; + rdfs:subClassOf opencloning_linkml:SEVASource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:PCRSource . + owl:someValuesFrom opencloning_linkml:SEVASource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AssociatedFile ; + rdfs:subClassOf opencloning_linkml:SequencingFile ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AssociatedFile . + owl:someValuesFrom opencloning_linkml:SequencingFile . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:BenchlingUrlSource ; + rdfs:subClassOf opencloning_linkml:EuroscarfSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:BenchlingUrlSource . + owl:someValuesFrom opencloning_linkml:EuroscarfSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AssemblySource ; + rdfs:subClassOf opencloning_linkml:AssociatedFile ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AssemblySource . + owl:someValuesFrom opencloning_linkml:AssociatedFile . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:Primer ; + rdfs:subClassOf opencloning_linkml:OverlapExtensionPCRLigationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:Primer . + owl:someValuesFrom opencloning_linkml:OverlapExtensionPCRLigationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:IGEMSource ; + rdfs:subClassOf opencloning_linkml:InVivoAssemblySource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:IGEMSource . + owl:someValuesFrom opencloning_linkml:InVivoAssemblySource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:ManuallyTypedSource ; + rdfs:subClassOf opencloning_linkml:GibsonAssemblySource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:ManuallyTypedSource . + owl:someValuesFrom opencloning_linkml:GibsonAssemblySource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:Source ; + rdfs:subClassOf opencloning_linkml:GatewaySource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:Source . + owl:someValuesFrom opencloning_linkml:GatewaySource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SequencingFile ; + rdfs:subClassOf opencloning_linkml:OpenDNACollectionsSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SequencingFile . + owl:someValuesFrom opencloning_linkml:OpenDNACollectionsSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:RestrictionEnzymeDigestionSource ; + rdfs:subClassOf opencloning_linkml:UploadedFileSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:RestrictionEnzymeDigestionSource . + owl:someValuesFrom opencloning_linkml:UploadedFileSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:OverlapExtensionPCRLigationSource ; + rdfs:subClassOf opencloning_linkml:PCRSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:OverlapExtensionPCRLigationSource . + owl:someValuesFrom opencloning_linkml:PCRSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:DatabaseSource ; + rdfs:subClassOf opencloning_linkml:InFusionSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:DatabaseSource . + owl:someValuesFrom opencloning_linkml:InFusionSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:TextFileSequence ; + rdfs:subClassOf opencloning_linkml:TemplateSequence ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:TextFileSequence . + owl:someValuesFrom opencloning_linkml:TemplateSequence . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:OligoHybridizationSource ; + rdfs:subClassOf opencloning_linkml:Primer ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:OligoHybridizationSource . + owl:someValuesFrom opencloning_linkml:Primer . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SEVASource ; + rdfs:subClassOf opencloning_linkml:AssemblySource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SEVASource . + owl:someValuesFrom opencloning_linkml:AssemblySource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:InFusionSource ; + rdfs:subClassOf opencloning_linkml:LigationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:InFusionSource . + owl:someValuesFrom opencloning_linkml:LigationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:ReverseComplementSource ; + rdfs:subClassOf opencloning_linkml:IGEMSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:ReverseComplementSource . + owl:someValuesFrom opencloning_linkml:IGEMSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:PolymeraseExtensionSource ; + rdfs:subClassOf opencloning_linkml:Sequence ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:PolymeraseExtensionSource . + owl:someValuesFrom opencloning_linkml:Sequence . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:GenomeCoordinatesSource ; + rdfs:subClassOf opencloning_linkml:SnapGenePlasmidSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:GenomeCoordinatesSource . + owl:someValuesFrom opencloning_linkml:SnapGenePlasmidSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:CollectionSource ; + rdfs:subClassOf opencloning_linkml:RestrictionAndLigationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:CollectionSource . + owl:someValuesFrom opencloning_linkml:RestrictionAndLigationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AssemblyFragment ; + rdfs:subClassOf opencloning_linkml:AddgeneIdSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AssemblyFragment . + owl:someValuesFrom opencloning_linkml:AddgeneIdSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:EuroscarfSource ; + rdfs:subClassOf opencloning_linkml:BenchlingUrlSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:EuroscarfSource . + owl:someValuesFrom opencloning_linkml:BenchlingUrlSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SourceInput ; + rdfs:subClassOf opencloning_linkml:ReverseComplementSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SourceInput . + owl:someValuesFrom opencloning_linkml:ReverseComplementSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:WekWikGeneIdSource ; + rdfs:subClassOf opencloning_linkml:RepositoryIdSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:WekWikGeneIdSource . + owl:someValuesFrom opencloning_linkml:RepositoryIdSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AddgeneIdSource ; + rdfs:subClassOf opencloning_linkml:SequenceCutSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AddgeneIdSource . + owl:someValuesFrom opencloning_linkml:SequenceCutSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:Sequence ; + rdfs:subClassOf opencloning_linkml:AnnotationReport ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:Sequence . + owl:someValuesFrom opencloning_linkml:AnnotationReport . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:UploadedFileSource ; + rdfs:subClassOf opencloning_linkml:CreLoxRecombinationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:UploadedFileSource . + owl:someValuesFrom opencloning_linkml:CreLoxRecombinationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:PlannotateAnnotationReport ; + rdfs:subClassOf opencloning_linkml:OligoHybridizationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:PlannotateAnnotationReport . + owl:someValuesFrom opencloning_linkml:OligoHybridizationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:LigationSource ; + rdfs:subClassOf opencloning_linkml:AnnotationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:LigationSource . + owl:someValuesFrom opencloning_linkml:AnnotationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SnapGenePlasmidSource ; + rdfs:subClassOf opencloning_linkml:Source ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SnapGenePlasmidSource . + owl:someValuesFrom opencloning_linkml:Source . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:HomologousRecombinationSource ; + rdfs:subClassOf opencloning_linkml:GenomeCoordinatesSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:HomologousRecombinationSource . + owl:someValuesFrom opencloning_linkml:GenomeCoordinatesSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:RestrictionAndLigationSource ; + rdfs:subClassOf opencloning_linkml:ManuallyTypedSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:RestrictionAndLigationSource . + owl:someValuesFrom opencloning_linkml:ManuallyTypedSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:GibsonAssemblySource ; + rdfs:subClassOf opencloning_linkml:SourceInput ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:GibsonAssemblySource . + owl:someValuesFrom opencloning_linkml:SourceInput . diff --git a/project/python/opencloning_linkml.py b/project/python/opencloning_linkml.py index 16353cd..b15da69 100644 --- a/project/python/opencloning_linkml.py +++ b/project/python/opencloning_linkml.py @@ -1,5 +1,5 @@ # Auto generated from opencloning_linkml.yaml by pythongen.py version: 0.0.1 -# Generation date: 2025-11-27T13:06:42 +# Generation date: 2025-11-27T13:28:24 # Schema: OpenCloning_LinkML # # id: https://opencloning.github.io/OpenCloning_LinkML @@ -2991,7 +2991,7 @@ class slots: model_uri=OPENCLONING_LINKML.SnapGenePlasmidSource_repository_id, domain=SnapGenePlasmidSource, range=str, - pattern=re.compile(r"^[^\\]*\\[^\\]$"), + pattern=re.compile(r"^[^/]*\/[^/]$"), ) slots.EuroscarfSource_repository_id = Slot( @@ -3030,7 +3030,7 @@ class slots: model_uri=OPENCLONING_LINKML.OpenDNACollectionsSource_repository_id, domain=OpenDNACollectionsSource, range=str, - pattern=re.compile(r"^[^\\]*\\[^\\]$"), + pattern=re.compile(r"^[^/]*\/[^/]$"), ) slots.RestrictionAndLigationSource_restriction_enzymes = Slot( diff --git a/project/shacl/opencloning_linkml.shacl.ttl b/project/shacl/opencloning_linkml.shacl.ttl index 5923392..94f1a03 100644 --- a/project/shacl/opencloning_linkml.shacl.ttl +++ b/project/shacl/opencloning_linkml.shacl.ttl @@ -8,7 +8,7 @@ schema1:Thing a sh:NodeShape ; sh:closed true ; - sh:ignoredProperties ( opencloning_linkml:sequence_file_url opencloning_linkml:circular opencloning_linkml:sequence_file_format opencloning_linkml:file_content opencloning_linkml:user_input opencloning_linkml:primer_design opencloning_linkml:annotation_tool_version opencloning_linkml:index_in_file opencloning_linkml:type opencloning_linkml:repository_id opencloning_linkml:overhang_crick_3prime opencloning_linkml:greedy opencloning_linkml:strand schema1:object opencloning_linkml:circularize opencloning_linkml:assembly_accession rdf:type opencloning_linkml:locus_tag opencloning_linkml:addgene_sequence_type opencloning_linkml:options opencloning_linkml:annotation_tool opencloning_linkml:sequence opencloning_linkml:output_name opencloning_linkml:start opencloning_linkml:coordinates opencloning_linkml:end opencloning_linkml:category_id opencloning_linkml:repository_name opencloning_linkml:add_primer_features opencloning_linkml:image opencloning_linkml:gene_id opencloning_linkml:file_name opencloning_linkml:overhang_watson_3prime opencloning_linkml:description schema1:name opencloning_linkml:restriction_enzymes opencloning_linkml:reaction_type opencloning_linkml:left_edge opencloning_linkml:annotation_report opencloning_linkml:title opencloning_linkml:sequence_accession opencloning_linkml:right_edge ) ; + sh:ignoredProperties ( opencloning_linkml:addgene_sequence_type opencloning_linkml:sequence opencloning_linkml:description schema1:name opencloning_linkml:sequence_file_format opencloning_linkml:left_edge opencloning_linkml:type opencloning_linkml:restriction_enzymes opencloning_linkml:annotation_report opencloning_linkml:index_in_file opencloning_linkml:start opencloning_linkml:sequence_file_url opencloning_linkml:gene_id opencloning_linkml:assembly_accession opencloning_linkml:primer_design opencloning_linkml:image opencloning_linkml:options rdf:type opencloning_linkml:reaction_type opencloning_linkml:annotation_tool opencloning_linkml:category_id opencloning_linkml:circular opencloning_linkml:repository_id opencloning_linkml:sequence_accession schema1:object opencloning_linkml:annotation_tool_version opencloning_linkml:greedy opencloning_linkml:file_name opencloning_linkml:overhang_crick_3prime opencloning_linkml:user_input opencloning_linkml:end opencloning_linkml:output_name opencloning_linkml:coordinates opencloning_linkml:locus_tag opencloning_linkml:circularize opencloning_linkml:strand opencloning_linkml:right_edge opencloning_linkml:file_content opencloning_linkml:title opencloning_linkml:repository_name opencloning_linkml:add_primer_features opencloning_linkml:overhang_watson_3prime ) ; sh:property [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -21,38 +21,46 @@ opencloning_linkml:AddgeneIdSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is identified by an Addgene id" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path opencloning_linkml:output_name ], - [ sh:class schema1:Role ; + sh:property [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 7 ; sh:path schema1:object ], + [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 3 ; + sh:path opencloning_linkml:repository_name ], [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:type ], - [ sh:in ( "depositor-full" "addgene-full" ) ; + sh:order 5 ; + sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:string ; + sh:description "The id of the sequence in the repository" ; sh:maxCount 1 ; - sh:order 1 ; - sh:path opencloning_linkml:addgene_sequence_type ], + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:repository_id ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 6 ; sh:path schema1:identifier ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; - sh:order 3 ; - sh:path opencloning_linkml:repository_name ], + sh:nodeKind sh:Literal ; + sh:order 8 ; + sh:path schema1:identifier ], + [ sh:in ( "depositor-full" "addgene-full" ) ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path opencloning_linkml:addgene_sequence_type ], [ sh:datatype xsd:string ; sh:description "The URL of a sequence file" ; sh:maxCount 1 ; @@ -61,48 +69,22 @@ opencloning_linkml:AddgeneIdSource a sh:NodeShape ; sh:path opencloning_linkml:sequence_file_url ; sh:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ], [ sh:datatype xsd:string ; - sh:description "The id of the sequence in the repository" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:repository_id ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:description "Designates the class" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 8 ; - sh:path schema1:identifier ] ; + sh:order 4 ; + sh:path opencloning_linkml:type ] ; sh:targetClass opencloning_linkml:AddgeneIdSource . opencloning_linkml:AnnotationSource a sh:NodeShape ; sh:closed true ; sh:description "Represents a computational step in which sequence features are annotated in a sequence" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:type ], - [ sh:class schema1:Role ; + sh:property [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 6 ; sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "The version of the annotation tool" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:annotation_tool_version ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -110,28 +92,52 @@ opencloning_linkml:AnnotationSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 7 ; sh:path schema1:identifier ], + [ sh:class opencloning_linkml:AnnotationReport ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 2 ; + sh:path opencloning_linkml:annotation_report ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path schema1:identifier ], [ sh:in ( "plannotate" ) ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 0 ; sh:path opencloning_linkml:annotation_tool ], - [ sh:class opencloning_linkml:AnnotationReport ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 2 ; - sh:path opencloning_linkml:annotation_report ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 4 ; - sh:path opencloning_linkml:output_name ] ; + sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:string ; + sh:description "The version of the annotation tool" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:annotation_tool_version ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:type ] ; sh:targetClass opencloning_linkml:AnnotationSource . opencloning_linkml:AssemblyFragment a sh:NodeShape ; sh:closed true ; sh:description "Represents a fragment in an assembly" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:maxCount 1 ; + sh:property [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:type ], + [ sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:right_location ], @@ -139,55 +145,32 @@ opencloning_linkml:AssemblyFragment a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:left_location ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + [ sh:class bioschemas:DNA ; + sh:description "The input sequence" ; sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:type ], + sh:minCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 4 ; + sh:path opencloning_linkml:sequence ], [ sh:datatype xsd:boolean ; sh:description "Whether the sequence is reverse complemented in the assembly" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; - sh:path opencloning_linkml:reverse_complemented ], - [ sh:class bioschemas:DNA ; - sh:description "The input sequence" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 4 ; - sh:path opencloning_linkml:sequence ] ; + sh:path opencloning_linkml:reverse_complemented ] ; sh:targetClass opencloning_linkml:AssemblyFragment . opencloning_linkml:AssemblySource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is an assembly of other sequences" ; - sh:ignoredProperties ( opencloning_linkml:restriction_enzymes opencloning_linkml:reaction_type rdf:type opencloning_linkml:add_primer_features opencloning_linkml:greedy ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:string ; + sh:ignoredProperties ( opencloning_linkml:greedy rdf:type opencloning_linkml:reaction_type opencloning_linkml:restriction_enzymes opencloning_linkml:add_primer_features ) ; + sh:property [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -200,68 +183,80 @@ opencloning_linkml:AssemblySource a sh:NodeShape ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 5 ; - sh:path schema1:identifier ] ; + sh:path schema1:identifier ], + [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:circular ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path schema1:identifier ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ] ; sh:targetClass opencloning_linkml:AssemblySource . opencloning_linkml:BenchlingUrlSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is identified by a Benchling URL" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "The url of the gb file associated with the sequence" ; + sh:property [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:repository_id ; - sh:pattern "^https:\\/\\/benchling\\.com\\/.+\\.gb$" ], + sh:order 6 ; + sh:path schema1:identifier ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 5 ; + sh:path schema1:object ], [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; + sh:order 4 ; sh:path schema1:identifier ], [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:type ], + sh:order 3 ; + sh:path opencloning_linkml:output_name ], [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 1 ; sh:path opencloning_linkml:repository_name ], [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:order 2 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:string ; + sh:description "The url of the gb file associated with the sequence" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path schema1:identifier ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 5 ; - sh:path schema1:object ] ; + sh:order 0 ; + sh:path opencloning_linkml:repository_id ; + sh:pattern "^https:\\/\\/benchling\\.com\\/.+\\.gb$" ] ; sh:targetClass opencloning_linkml:BenchlingUrlSource . opencloning_linkml:CRISPRSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by CRISPR" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ], - [ sh:datatype xsd:string ; + sh:property [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -273,6 +268,17 @@ opencloning_linkml:CRISPRSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:type ], + [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:circular ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; @@ -285,24 +291,18 @@ opencloning_linkml:CRISPRSource a sh:NodeShape ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 5 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ] ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:CRISPRSource . opencloning_linkml:CloningStrategy a sh:NodeShape ; sh:closed true ; sh:description "Represents a cloning strategy" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class opencloning_linkml:Primer ; - sh:description "The primers that are used in the cloning strategy" ; - sh:nodeKind sh:IRI ; - sh:order 2 ; - sh:path opencloning_linkml:primers ], + sh:property [ sh:description "The version of the frontend that was used to generate this cloning strategy" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 7 ; + sh:path opencloning_linkml:frontend_version ], [ sh:description "The version of the schema that was used to generate this cloning strategy" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -314,17 +314,17 @@ opencloning_linkml:CloningStrategy a sh:NodeShape ; sh:nodeKind sh:IRI ; sh:order 1 ; sh:path opencloning_linkml:sources ], + [ sh:class opencloning_linkml:AssociatedFile ; + sh:description "Files associated with this cloning strategy" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path opencloning_linkml:files ], [ sh:class bioschemas:DNA ; sh:description "The sequences that are used in the cloning strategy" ; sh:minCount 1 ; sh:nodeKind sh:IRI ; sh:order 0 ; sh:path opencloning_linkml:sequences ], - [ sh:class opencloning_linkml:AssociatedFile ; - sh:description "Files associated with this cloning strategy" ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path opencloning_linkml:files ], [ sh:description "The version of the backend that was used to generate this cloning strategy" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -336,40 +336,40 @@ opencloning_linkml:CloningStrategy a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:description ], - [ sh:description "The version of the frontend that was used to generate this cloning strategy" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path opencloning_linkml:frontend_version ] ; + [ sh:class opencloning_linkml:Primer ; + sh:description "The primers that are used in the cloning strategy" ; + sh:nodeKind sh:IRI ; + sh:order 2 ; + sh:path opencloning_linkml:primers ] ; sh:targetClass opencloning_linkml:CloningStrategy . opencloning_linkml:CollectionSource a sh:NodeShape ; sh:closed true ; sh:description "Represents a collection of possible sources in a template" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "The title of the category" ; + sh:property [ sh:class opencloning_linkml:CollectionOption ; + sh:description "The options available in this category." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path opencloning_linkml:options ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:title ], + sh:order 5 ; + sh:path opencloning_linkml:type ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 8 ; sh:path schema1:object ], [ sh:datatype xsd:string ; - sh:description "A description of the category" ; + sh:description "The title of the category" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:description ], - [ sh:datatype xsd:string ; - sh:description "URL and size of the image representing this category. For images with size specification, this is a list with two elements: [url, size]." ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:image ], + sh:order 1 ; + sh:path opencloning_linkml:title ], [ sh:datatype xsd:string ; sh:description "The identifier of the category of the part in the template" ; sh:maxCount 1 ; @@ -389,23 +389,23 @@ opencloning_linkml:CollectionSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 6 ; sh:path opencloning_linkml:output_name ], - [ sh:class opencloning_linkml:CollectionOption ; - sh:description "The options available in this category." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path opencloning_linkml:options ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + [ sh:datatype xsd:string ; + sh:description "A description of the category" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path schema1:identifier ], + sh:order 2 ; + sh:path opencloning_linkml:description ], [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:description "URL and size of the image representing this category. For images with size specification, this is a list with two elements: [url, size]." ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:image ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path opencloning_linkml:type ] ; + sh:order 7 ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:CollectionSource . opencloning_linkml:CreLoxRecombinationSource a sh:NodeShape ; @@ -418,6 +418,12 @@ opencloning_linkml:CreLoxRecombinationSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -425,29 +431,23 @@ opencloning_linkml:CreLoxRecombinationSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path schema1:identifier ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path schema1:identifier ], [ sh:datatype xsd:boolean ; sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:circular ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ] ; + sh:order 3 ; + sh:path schema1:identifier ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ] ; sh:targetClass opencloning_linkml:CreLoxRecombinationSource . opencloning_linkml:DatabaseSource a sh:NodeShape ; @@ -467,12 +467,11 @@ opencloning_linkml:DatabaseSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 3 ; + sh:path schema1:object ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -480,28 +479,36 @@ opencloning_linkml:DatabaseSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path schema1:identifier ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 3 ; - sh:path schema1:object ] ; + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:output_name ] ; sh:targetClass opencloning_linkml:DatabaseSource . opencloning_linkml:EuroscarfSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence from the Euroscarf plasmid library" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 5 ; - sh:path schema1:object ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:property [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; + sh:order 6 ; sh:path schema1:identifier ], + [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path opencloning_linkml:repository_name ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:string ; sh:description "The id of the plasmid in the Euroscarf plasmid library" ; sh:maxCount 1 ; @@ -510,30 +517,23 @@ opencloning_linkml:EuroscarfSource a sh:NodeShape ; sh:order 0 ; sh:path opencloning_linkml:repository_id ; sh:pattern "^P\\d+$" ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:type ], + sh:order 4 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:output_name ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path opencloning_linkml:repository_name ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path schema1:identifier ] ; + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 5 ; + sh:path schema1:object ] ; sh:targetClass opencloning_linkml:EuroscarfSource . opencloning_linkml:GatewaySource a sh:NodeShape ; @@ -541,23 +541,6 @@ opencloning_linkml:GatewaySource a sh:NodeShape ; sh:description "Represents the source of a sequence that is generated by Gateway cloning" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:boolean ; - sh:description "Whether to use a greedy consensus sequence for att sites (see https://github.com/manulera/GateWayMine)" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:greedy ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 6 ; - sh:path schema1:object ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:boolean ; sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -576,17 +559,34 @@ opencloning_linkml:GatewaySource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:type ], + sh:order 5 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:boolean ; + sh:description "Whether to use a greedy consensus sequence for att sites (see https://github.com/manulera/GateWayMine)" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:greedy ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 6 ; + sh:path schema1:object ], [ sh:in ( "LR" "BP" ) ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 0 ; - sh:path opencloning_linkml:reaction_type ] ; + sh:path opencloning_linkml:reaction_type ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:type ] ; sh:targetClass opencloning_linkml:GatewaySource . opencloning_linkml:GenomeCoordinatesSource a sh:NodeShape ; @@ -594,6 +594,12 @@ opencloning_linkml:GenomeCoordinatesSource a sh:NodeShape ; sh:description "Represents the source of a sequence that is identified by genome coordinates, requested from NCBI" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 9 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:integer ; sh:description "The starting coordinate (1-based) of the sequence in the sequence accession" ; sh:maxCount 1 ; sh:minCount 1 ; @@ -601,42 +607,54 @@ opencloning_linkml:GenomeCoordinatesSource a sh:NodeShape ; sh:order 4 ; sh:path opencloning_linkml:start ], [ sh:datatype xsd:string ; - sh:description "The accession of the assembly" ; + sh:description "The locus tag of the sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:assembly_accession ], + sh:order 2 ; + sh:path opencloning_linkml:locus_tag ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 11 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 7 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:string ; + sh:description "The accession of the sequence" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:sequence_accession ], [ sh:datatype xsd:integer ; sh:description "The gene id of the sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:gene_id ], - [ sh:datatype xsd:integer ; - sh:description "The strand of the sequence in the sequence accession, should be 1 or -1" ; + [ sh:datatype xsd:string ; + sh:description "The accession of the assembly" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path opencloning_linkml:strand ], + sh:order 0 ; + sh:path opencloning_linkml:assembly_accession ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 10 ; sh:path schema1:object ], [ sh:datatype xsd:string ; - sh:description "The locus tag of the sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:locus_tag ], - [ sh:datatype xsd:string ; - sh:description "The accession of the sequence" ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:sequence_accession ], + sh:order 8 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:integer ; sh:description "The ending coordinate (1-based) of the sequence in the sequence accession" ; sh:maxCount 1 ; @@ -645,55 +663,30 @@ opencloning_linkml:GenomeCoordinatesSource a sh:NodeShape ; sh:order 5 ; sh:path opencloning_linkml:end ], [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:description "The strand of the sequence in the sequence accession, should be 1 or -1" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 11 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:string ; + sh:order 6 ; + sh:path opencloning_linkml:strand ] ; + sh:targetClass opencloning_linkml:GenomeCoordinatesSource . + +opencloning_linkml:GibsonAssemblySource a sh:NodeShape ; + sh:closed true ; + sh:description "Represents the source of a sequence that is generated by Gibson assembly" ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 7 ; + sh:order 1 ; sh:path opencloning_linkml:type ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 9 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 8 ; - sh:path opencloning_linkml:output_name ] ; - sh:targetClass opencloning_linkml:GenomeCoordinatesSource . - -opencloning_linkml:GibsonAssemblySource a sh:NodeShape ; - sh:closed true ; - sh:description "Represents the source of a sequence that is generated by Gibson assembly" ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path schema1:identifier ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; @@ -705,24 +698,31 @@ opencloning_linkml:GibsonAssemblySource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:circular ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ] ; + sh:order 3 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:GibsonAssemblySource . opencloning_linkml:HomologousRecombinationSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by homologous recombination" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ], + sh:order 0 ; + sh:path opencloning_linkml:circular ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -730,18 +730,18 @@ opencloning_linkml:HomologousRecombinationSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path schema1:identifier ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; @@ -759,34 +759,11 @@ opencloning_linkml:IGEMSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence from an iGEM collection" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ], - [ sh:class schema1:Role ; + sh:property [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 6 ; sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:output_name ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 2 ; - sh:path opencloning_linkml:repository_name ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -808,7 +785,30 @@ opencloning_linkml:IGEMSource a sh:NodeShape ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; - sh:path opencloning_linkml:repository_id ] ; + sh:path opencloning_linkml:repository_id ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:type ], + [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 2 ; + sh:path opencloning_linkml:repository_name ] ; sh:targetClass opencloning_linkml:IGEMSource . opencloning_linkml:InFusionSource a sh:NodeShape ; @@ -816,22 +816,22 @@ opencloning_linkml:InFusionSource a sh:NodeShape ; sh:description "Represents the source of a sequence that is generated by In-Fusion cloning by Takara Bio" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:type ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ], [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; + sh:order 5 ; sh:path schema1:identifier ], [ sh:datatype xsd:boolean ; sh:description "Whether the assembly is circular or not" ; @@ -840,17 +840,17 @@ opencloning_linkml:InFusionSource a sh:NodeShape ; sh:order 0 ; sh:path opencloning_linkml:circular ], [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; + sh:order 3 ; sh:path schema1:identifier ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ] ; + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:output_name ] ; sh:targetClass opencloning_linkml:InFusionSource . opencloning_linkml:InVivoAssemblySource a sh:NodeShape ; @@ -858,22 +858,11 @@ opencloning_linkml:InVivoAssemblySource a sh:NodeShape ; sh:description "Represents the source of a sequence that is generated by in vivo assembly. Algorithmically equivalent to Gibson assembly." ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:output_name ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; @@ -887,54 +876,65 @@ opencloning_linkml:InVivoAssemblySource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:boolean ; sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; - sh:path opencloning_linkml:circular ] ; + sh:path opencloning_linkml:circular ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ] ; sh:targetClass opencloning_linkml:InVivoAssemblySource . opencloning_linkml:LigationSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by ligation with sticky or blunt ends." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class schema1:Role ; + sh:property [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:output_name ], + [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 4 ; sh:path schema1:object ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path schema1:identifier ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ], + sh:order 5 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:type ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ] ; + sh:order 0 ; + sh:path opencloning_linkml:circular ] ; sh:targetClass opencloning_linkml:LigationSource . opencloning_linkml:ManuallyTypedSource a sh:NodeShape ; @@ -942,48 +942,35 @@ opencloning_linkml:ManuallyTypedSource a sh:NodeShape ; sh:description "Represents the source of a sequence that is manually typed by the user" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path schema1:identifier ], + sh:order 4 ; + sh:path opencloning_linkml:type ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 7 ; + sh:path schema1:object ], [ sh:datatype xsd:integer ; sh:description "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" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:overhang_crick_3prime ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 8 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; - sh:description "The equivalent of `overhang_crick_3prime` but for the watson strand" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:overhang_watson_3prime ], [ sh:datatype xsd:boolean ; sh:description "Whether the sequence is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:circular ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:type ], + sh:order 8 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:minCount 1 ; @@ -991,11 +978,24 @@ opencloning_linkml:ManuallyTypedSource a sh:NodeShape ; sh:order 2 ; sh:path opencloning_linkml:user_input ; sh:pattern "^[acgtACGT]+$" ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 7 ; - sh:path schema1:object ] ; + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:integer ; + sh:description "The equivalent of `overhang_crick_3prime` but for the watson strand" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:overhang_watson_3prime ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 6 ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:ManuallyTypedSource . opencloning_linkml:OligoHybridizationSource a sh:NodeShape ; @@ -1003,23 +1003,17 @@ opencloning_linkml:OligoHybridizationSource a sh:NodeShape ; sh:description "Represents the source of a sequence that is generated by oligo hybridization" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ], + sh:order 2 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:description "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" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ], + sh:order 0 ; + sh:path opencloning_linkml:overhang_crick_3prime ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; @@ -1027,46 +1021,46 @@ opencloning_linkml:OligoHybridizationSource a sh:NodeShape ; sh:order 3 ; sh:path schema1:identifier ], [ sh:datatype xsd:integer ; - sh:description "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" ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:overhang_crick_3prime ], + sh:order 5 ; + sh:path schema1:identifier ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ], [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ] ; + sh:order 1 ; + sh:path opencloning_linkml:type ] ; sh:targetClass opencloning_linkml:OligoHybridizationSource . opencloning_linkml:OpenDNACollectionsSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence from the Open DNA collections" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; + sh:property [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:type ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 6 ; - sh:path schema1:object ], [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 2 ; sh:path opencloning_linkml:repository_name ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Subpath of the sequence in the Open DNA collections repository" ; sh:maxCount 1 ; @@ -1074,13 +1068,7 @@ opencloning_linkml:OpenDNACollectionsSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:repository_id ; - sh:pattern "^[^\\\\]*\\\\[^\\\\]$" ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:output_name ], + sh:pattern "^[^/]*\\/[^/]$" ], [ sh:datatype xsd:string ; sh:description "The URL of a sequence file" ; sh:maxCount 1 ; @@ -1089,29 +1077,47 @@ opencloning_linkml:OpenDNACollectionsSource a sh:NodeShape ; sh:path opencloning_linkml:sequence_file_url ; sh:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ], [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ] ; + sh:order 7 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path opencloning_linkml:output_name ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 6 ; + sh:path schema1:object ] ; sh:targetClass opencloning_linkml:OpenDNACollectionsSource . opencloning_linkml:OverlapExtensionPCRLigationSource a sh:NodeShape ; sh:closed true ; sh:description "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." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:property [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ], + sh:order 3 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:type ], + [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:circular ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -1119,30 +1125,41 @@ opencloning_linkml:OverlapExtensionPCRLigationSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 4 ; - sh:path schema1:object ] ; + sh:path schema1:object ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:output_name ] ; sh:targetClass opencloning_linkml:OverlapExtensionPCRLigationSource . opencloning_linkml:PCRSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by PCR" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:boolean ; + sh:property [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 5 ; + sh:path schema1:object ], + [ sh:datatype xsd:boolean ; + sh:description "Whether to add primer features to the PCR product" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:add_primer_features ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:boolean ; sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -1166,24 +1183,7 @@ opencloning_linkml:PCRSource a sh:NodeShape ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 4 ; - sh:path schema1:identifier ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 5 ; - sh:path schema1:object ], - [ sh:datatype xsd:boolean ; - sh:description "Whether to add primer features to the PCR product" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:add_primer_features ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:output_name ] ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:PCRSource . opencloning_linkml:PlannotateAnnotationReport a sh:NodeShape ; @@ -1191,26 +1191,21 @@ opencloning_linkml:PlannotateAnnotationReport a sh:NodeShape ; sh:description "Represents a report of an annotation step using Plannotate" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:sseqid ], - [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 14 ; sh:path opencloning_linkml:type ], - [ sh:datatype xsd:integer ; + [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path opencloning_linkml:length_of_found_feature ], - [ sh:datatype xsd:integer ; + sh:order 10 ; + sh:path opencloning_linkml:Feature ], + [ sh:datatype xsd:float ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:start_location ], + sh:order 4 ; + sh:path opencloning_linkml:percent_identity ], [ sh:datatype xsd:integer ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -1221,16 +1216,11 @@ opencloning_linkml:PlannotateAnnotationReport a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 7 ; sh:path opencloning_linkml:percent_match_length ], - [ sh:datatype xsd:float ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:percent_identity ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 12 ; - sh:path opencloning_linkml:Description ], + sh:order 0 ; + sh:path opencloning_linkml:sseqid ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -1239,18 +1229,13 @@ opencloning_linkml:PlannotateAnnotationReport a sh:NodeShape ; [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 9 ; - sh:path opencloning_linkml:database ], - [ sh:datatype xsd:string ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 13 ; - sh:path opencloning_linkml:sequence ], + sh:order 12 ; + sh:path opencloning_linkml:Description ], [ sh:datatype xsd:integer ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:end_location ], + sh:order 1 ; + sh:path opencloning_linkml:start_location ], [ sh:datatype xsd:boolean ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -1259,30 +1244,52 @@ opencloning_linkml:PlannotateAnnotationReport a sh:NodeShape ; [ sh:datatype xsd:integer ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:strand ], + sh:order 2 ; + sh:path opencloning_linkml:end_location ], + [ sh:datatype xsd:integer ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 6 ; + sh:path opencloning_linkml:length_of_found_feature ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 10 ; - sh:path opencloning_linkml:Feature ] ; + sh:order 13 ; + sh:path opencloning_linkml:sequence ], + [ sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 9 ; + sh:path opencloning_linkml:database ], + [ sh:datatype xsd:integer ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:strand ] ; sh:targetClass opencloning_linkml:PlannotateAnnotationReport . opencloning_linkml:PolymeraseExtensionSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by polymerase extension" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class schema1:Role ; + sh:property [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:output_name ], + [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 3 ; sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:output_name ], + sh:order 4 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -1290,77 +1297,71 @@ opencloning_linkml:PolymeraseExtensionSource a sh:NodeShape ; sh:order 0 ; sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; + sh:order 2 ; sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:PolymeraseExtensionSource . opencloning_linkml:RepositoryIdSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is identified by a repository id" ; - sh:ignoredProperties ( opencloning_linkml:sequence_file_url opencloning_linkml:addgene_sequence_type rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path schema1:identifier ], + sh:ignoredProperties ( opencloning_linkml:addgene_sequence_type rdf:type opencloning_linkml:sequence_file_url ) ; + sh:property [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 5 ; + sh:path schema1:object ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:type ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path opencloning_linkml:repository_name ], + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path schema1:identifier ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 5 ; - sh:path schema1:object ], [ sh:datatype xsd:string ; sh:description "The id of the sequence in the repository" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; - sh:path opencloning_linkml:repository_id ] ; + sh:path opencloning_linkml:repository_id ], + [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path opencloning_linkml:repository_name ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 6 ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:RepositoryIdSource . opencloning_linkml:RestrictionAndLigationSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by restriction and ligation" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 5 ; - sh:path schema1:object ], + sh:property [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -1374,29 +1375,28 @@ opencloning_linkml:RestrictionAndLigationSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:circular ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:type ], [ sh:datatype xsd:string ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:restriction_enzymes ], [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:output_name ], + sh:order 2 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 4 ; - sh:path schema1:identifier ] ; + sh:path schema1:identifier ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 5 ; + sh:path schema1:object ] ; sh:targetClass opencloning_linkml:RestrictionAndLigationSource . opencloning_linkml:RestrictionEnzymeDigestionSource a sh:NodeShape ; @@ -1409,40 +1409,40 @@ opencloning_linkml:RestrictionEnzymeDigestionSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:type ], + [ sh:class opencloning_linkml:RestrictionSequenceCut ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 1 ; + sh:path opencloning_linkml:right_edge ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 5 ; + sh:path schema1:object ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path schema1:identifier ], + [ sh:class opencloning_linkml:RestrictionSequenceCut ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 0 ; + sh:path opencloning_linkml:left_edge ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:output_name ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 5 ; - sh:path schema1:object ], - [ sh:class opencloning_linkml:RestrictionSequenceCut ; - sh:maxCount 1 ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 0 ; - sh:path opencloning_linkml:left_edge ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 6 ; - sh:path schema1:identifier ], - [ sh:class opencloning_linkml:RestrictionSequenceCut ; - sh:maxCount 1 ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 1 ; - sh:path opencloning_linkml:right_edge ] ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:RestrictionEnzymeDigestionSource . opencloning_linkml:ReverseComplementSource a sh:NodeShape ; @@ -1455,6 +1455,12 @@ opencloning_linkml:ReverseComplementSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:type ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; @@ -1467,12 +1473,6 @@ opencloning_linkml:ReverseComplementSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; @@ -1496,12 +1496,6 @@ opencloning_linkml:SEVASource a sh:NodeShape ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 6 ; sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -1509,19 +1503,6 @@ opencloning_linkml:SEVASource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 7 ; sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "The SEVA plasmid name" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:repository_id ; - sh:pattern "^pSEVA\\d+.*$" ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 2 ; - sh:path opencloning_linkml:repository_name ], [ sh:datatype xsd:string ; sh:description "The URL of the sequence file, which can refer to a a gb file hosted on the SEVA website or an entry in the NCBI." ; sh:maxCount 1 ; @@ -1534,34 +1515,49 @@ opencloning_linkml:SEVASource a sh:NodeShape ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 5 ; - sh:path schema1:identifier ] ; + sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:string ; + sh:description "The SEVA plasmid name" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:repository_id ; + sh:pattern "^pSEVA\\d+.*$" ], + [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 2 ; + sh:path opencloning_linkml:repository_name ] ; sh:targetClass opencloning_linkml:SEVASource . opencloning_linkml:SequenceCutSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is a subfragment of another sequence, generated by sequence cutting." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class opencloning_linkml:SequenceCut ; + sh:property [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 0 ; - sh:path opencloning_linkml:left_edge ], + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:type ], + sh:order 3 ; + sh:path opencloning_linkml:output_name ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 5 ; sh:path schema1:object ], - [ sh:class opencloning_linkml:SequenceCut ; - sh:maxCount 1 ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 1 ; - sh:path opencloning_linkml:right_edge ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -1569,18 +1565,22 @@ opencloning_linkml:SequenceCutSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 6 ; sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + [ sh:class opencloning_linkml:SequenceCut ; sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path schema1:identifier ], + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 1 ; + sh:path opencloning_linkml:right_edge ], [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:output_name ] ; + sh:order 2 ; + sh:path opencloning_linkml:type ], + [ sh:class opencloning_linkml:SequenceCut ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 0 ; + sh:path opencloning_linkml:left_edge ] ; sh:targetClass opencloning_linkml:SequenceCutSource . opencloning_linkml:SequencingFile a sh:NodeShape ; @@ -1601,6 +1601,12 @@ opencloning_linkml:SequencingFile a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:file_name ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:type ], [ sh:description "The type of file" ; sh:in ( NCIT:C171177 ) ; sh:maxCount 1 ; @@ -1612,13 +1618,7 @@ opencloning_linkml:SequencingFile a sh:NodeShape ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; - sh:path opencloning_linkml:alignment ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ] ; + sh:path opencloning_linkml:alignment ] ; sh:targetClass opencloning_linkml:SequencingFile . opencloning_linkml:SnapGenePlasmidSource a sh:NodeShape ; @@ -1632,18 +1632,17 @@ opencloning_linkml:SnapGenePlasmidSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:repository_id ; - sh:pattern "^[^\\\\]*\\\\[^\\\\]$" ], + sh:pattern "^[^/]*\\/[^/]$" ], [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 1 ; sh:path opencloning_linkml:repository_name ], [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; + sh:order 4 ; sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; @@ -1657,17 +1656,18 @@ opencloning_linkml:SnapGenePlasmidSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:type ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path schema1:identifier ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 5 ; - sh:path schema1:object ] ; + sh:path schema1:object ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 6 ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:SnapGenePlasmidSource . opencloning_linkml:TemplateSequence a sh:NodeShape ; @@ -1687,85 +1687,67 @@ opencloning_linkml:TemplateSequence a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:primer_design ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the sequence is circular or linear" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; - sh:path opencloning_linkml:type ] ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:boolean ; + sh:description "Whether the sequence is circular or linear" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:circular ] ; sh:targetClass opencloning_linkml:TemplateSequence . opencloning_linkml:TextFileSequence a sh:NodeShape ; sh:closed true ; sh:description "A sequence (may have features) defined by the content of a text file" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "The format of a sequence file" ; + sh:property [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path schema1:identifier ], + [ sh:description "The format of a sequence file" ; sh:in ( "fasta" "genbank" "snapgene" "embl" ) ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 0 ; sh:path opencloning_linkml:sequence_file_format ], + [ sh:datatype xsd:integer ; + sh:description "The equivalent of `overhang_crick_3prime` but for the watson strand" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:overhang_watson_3prime ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path opencloning_linkml:type ], - [ sh:datatype xsd:string ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:file_content ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path schema1:identifier ], [ sh:datatype xsd:integer ; sh:description "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" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:overhang_crick_3prime ], - [ sh:datatype xsd:integer ; - sh:description "The equivalent of `overhang_crick_3prime` but for the watson strand" ; + [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:overhang_watson_3prime ] ; + sh:order 3 ; + sh:path opencloning_linkml:file_content ] ; sh:targetClass opencloning_linkml:TextFileSequence . opencloning_linkml:UploadedFileSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is uploaded as a file" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "The format of a sequence file" ; - sh:in ( "fasta" "genbank" "snapgene" "embl" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path opencloning_linkml:sequence_file_format ], - [ sh:datatype xsd:integer ; - sh:description "The index of the sequence in the file" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:index_in_file ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the sequence should be circularized (FASTA only)" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:circularize ], - [ sh:datatype xsd:integer ; + sh:property [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; @@ -1778,17 +1760,29 @@ opencloning_linkml:UploadedFileSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 7 ; sh:path schema1:identifier ], + [ sh:description "If provided, coordinates within the sequence of the file to extract a subsequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path opencloning_linkml:coordinates ], + [ sh:description "The format of a sequence file" ; + sh:in ( "fasta" "genbank" "snapgene" "embl" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path opencloning_linkml:sequence_file_format ], + [ sh:datatype xsd:integer ; + sh:description "The index of the sequence in the file" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:index_in_file ], [ sh:datatype xsd:string ; sh:description "The name of the file" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:file_name ], - [ sh:description "If provided, coordinates within the sequence of the file to extract a subsequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:coordinates ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -1801,6 +1795,12 @@ opencloning_linkml:UploadedFileSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 6 ; sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:boolean ; + sh:description "Whether the sequence should be circularized (FASTA only)" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:circularize ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; @@ -1812,43 +1812,24 @@ opencloning_linkml:WekWikGeneIdSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is identified by a WeKwikGene id" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:type ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 2 ; - sh:path opencloning_linkml:repository_name ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path schema1:identifier ], + sh:property [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 6 ; + sh:path schema1:object ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:string ; - sh:description "The id of the gene in the WeKwikGene database" ; + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:repository_id ; - sh:pattern "^\\d+$" ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 6 ; - sh:path schema1:object ], + sh:order 7 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "The URL of a sequence file" ; sh:maxCount 1 ; @@ -1856,18 +1837,37 @@ opencloning_linkml:WekWikGeneIdSource a sh:NodeShape ; sh:order 0 ; sh:path opencloning_linkml:sequence_file_url ; sh:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 5 ; - sh:path schema1:identifier ] ; + sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "The id of the gene in the WeKwikGene database" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:repository_id ; + sh:pattern "^\\d+$" ], + [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 2 ; + sh:path opencloning_linkml:repository_name ] ; sh:targetClass opencloning_linkml:WekWikGeneIdSource . opencloning_linkml:AnnotationReport a sh:NodeShape ; sh:closed true ; sh:description "Represents a report of an annotation step" ; - sh:ignoredProperties ( opencloning_linkml:length_of_found_feature opencloning_linkml:end_location opencloning_linkml:sseqid opencloning_linkml:sequence opencloning_linkml:fragment opencloning_linkml:start_location opencloning_linkml:percent_match_length rdf:type opencloning_linkml:Description opencloning_linkml:database opencloning_linkml:Type opencloning_linkml:full_length_of_feature_in_db opencloning_linkml:percent_identity opencloning_linkml:Feature opencloning_linkml:strand ) ; + sh:ignoredProperties ( opencloning_linkml:end_location opencloning_linkml:percent_match_length opencloning_linkml:sequence rdf:type opencloning_linkml:Type opencloning_linkml:sseqid opencloning_linkml:Feature opencloning_linkml:percent_identity opencloning_linkml:start_location opencloning_linkml:strand opencloning_linkml:fragment opencloning_linkml:full_length_of_feature_in_db opencloning_linkml:database opencloning_linkml:length_of_found_feature opencloning_linkml:Description ) ; sh:property [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -1879,53 +1879,53 @@ opencloning_linkml:AnnotationReport a sh:NodeShape ; opencloning_linkml:AssociatedFile a sh:NodeShape ; sh:closed true ; sh:description "Represents a file associated with a sequence" ; - sh:ignoredProperties ( opencloning_linkml:alignment rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "The name of the file" ; + sh:ignoredProperties ( rdf:type opencloning_linkml:alignment ) ; + sh:property [ sh:class bioschemas:DNA ; + sh:description "The sequence this file is associated with" ; sh:maxCount 1 ; sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:file_name ], + sh:nodeKind sh:IRI ; + sh:order 1 ; + sh:path opencloning_linkml:sequence_id ], [ sh:description "The type of file" ; sh:in ( NCIT:C171177 ) ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 3 ; sh:path opencloning_linkml:file_type ], - [ sh:class bioschemas:DNA ; - sh:description "The sequence this file is associated with" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 1 ; - sh:path opencloning_linkml:sequence_id ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; - sh:path opencloning_linkml:type ] ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:string ; + sh:description "The name of the file" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:file_name ] ; sh:targetClass opencloning_linkml:AssociatedFile . opencloning_linkml:CollectionOption a sh:NodeShape ; sh:closed true ; sh:description "Represents an option in a collection" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class schema1:CreateAction ; - sh:description "The source of the sequence for this option" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 1 ; - sh:path opencloning_linkml:source ], - [ sh:datatype xsd:string ; + sh:property [ sh:datatype xsd:string ; sh:description "A human-readable name for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path schema1:name ], + [ sh:class schema1:CreateAction ; + sh:description "The source of the sequence for this option" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 1 ; + sh:path opencloning_linkml:source ], [ sh:class opencloning_linkml:CollectionOptionInfo ; sh:description "Additional information about this option" ; sh:maxCount 1 ; @@ -1944,12 +1944,6 @@ opencloning_linkml:CollectionOptionInfo a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:resistance ], - [ sh:datatype xsd:string ; - sh:description "The well position in the kit plate" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:well ], [ sh:datatype xsd:string ; sh:description "A human-readable name for a thing" ; sh:maxCount 1 ; @@ -1957,89 +1951,95 @@ opencloning_linkml:CollectionOptionInfo a sh:NodeShape ; sh:order 0 ; sh:path schema1:name ], [ sh:datatype xsd:string ; - sh:description "A description of the option" ; + sh:description "The well position in the kit plate" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:description ], + sh:order 4 ; + sh:path opencloning_linkml:well ], [ sh:description "The type of the option, this is redundant with the type of the source, and could be removed." ; sh:in ( "OligoPair" "AddgenePlasmid" ) ; sh:maxCount 1 ; sh:order 2 ; - sh:path opencloning_linkml:type ] ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:string ; + sh:description "A description of the option" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:description ] ; sh:targetClass opencloning_linkml:CollectionOptionInfo . opencloning_linkml:Primer a sh:NodeShape ; sh:closed true ; sh:description "An oligonucleotide or primer" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; + sh:property [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:sequence ; - sh:pattern "^[acgtACGT]+$" ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:order 3 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:type ], + sh:order 1 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "A human-readable name for a thing" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path schema1:name ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:order 4 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path schema1:identifier ] ; + sh:order 2 ; + sh:path opencloning_linkml:sequence ; + sh:pattern "^[acgtACGT]+$" ] ; sh:targetClass opencloning_linkml:Primer . schema1:CreateAction a sh:NodeShape ; sh:closed false ; sh:description "Represents the source of a sequence" ; - sh:ignoredProperties ( opencloning_linkml:sequence_file_url opencloning_linkml:circular opencloning_linkml:sequence_file_format opencloning_linkml:user_input opencloning_linkml:annotation_tool_version opencloning_linkml:index_in_file opencloning_linkml:repository_id opencloning_linkml:overhang_crick_3prime opencloning_linkml:greedy opencloning_linkml:strand opencloning_linkml:circularize opencloning_linkml:assembly_accession rdf:type opencloning_linkml:locus_tag opencloning_linkml:addgene_sequence_type opencloning_linkml:options opencloning_linkml:annotation_tool opencloning_linkml:start opencloning_linkml:coordinates opencloning_linkml:end opencloning_linkml:category_id opencloning_linkml:repository_name opencloning_linkml:add_primer_features opencloning_linkml:image opencloning_linkml:gene_id opencloning_linkml:file_name opencloning_linkml:description opencloning_linkml:overhang_watson_3prime opencloning_linkml:restriction_enzymes opencloning_linkml:reaction_type opencloning_linkml:left_edge opencloning_linkml:annotation_report opencloning_linkml:title opencloning_linkml:sequence_accession opencloning_linkml:right_edge ) ; + sh:ignoredProperties ( opencloning_linkml:addgene_sequence_type opencloning_linkml:description opencloning_linkml:left_edge opencloning_linkml:sequence_file_format opencloning_linkml:restriction_enzymes opencloning_linkml:annotation_report opencloning_linkml:index_in_file opencloning_linkml:start opencloning_linkml:sequence_file_url opencloning_linkml:gene_id opencloning_linkml:assembly_accession opencloning_linkml:image opencloning_linkml:options rdf:type opencloning_linkml:reaction_type opencloning_linkml:annotation_tool opencloning_linkml:category_id opencloning_linkml:circular opencloning_linkml:repository_id opencloning_linkml:sequence_accession opencloning_linkml:annotation_tool_version opencloning_linkml:greedy opencloning_linkml:file_name opencloning_linkml:overhang_crick_3prime opencloning_linkml:user_input opencloning_linkml:end opencloning_linkml:coordinates opencloning_linkml:locus_tag opencloning_linkml:circularize opencloning_linkml:strand opencloning_linkml:right_edge opencloning_linkml:title opencloning_linkml:repository_name opencloning_linkml:add_primer_features opencloning_linkml:overhang_watson_3prime ) ; sh:property [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:type ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:type ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 3 ; - sh:path schema1:object ] ; + sh:path schema1:object ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path schema1:identifier ] ; sh:targetClass schema1:CreateAction . opencloning_linkml:RestrictionSequenceCut a sh:NodeShape ; @@ -2091,26 +2091,26 @@ opencloning_linkml:SequenceCut a sh:NodeShape ; bioschemas:DNA a sh:NodeShape ; sh:closed false ; sh:description "Represents a sequence" ; - sh:ignoredProperties ( opencloning_linkml:overhang_watson_3prime opencloning_linkml:circular opencloning_linkml:sequence schema1:name opencloning_linkml:sequence_file_format opencloning_linkml:file_content rdf:type opencloning_linkml:primer_design opencloning_linkml:overhang_crick_3prime ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:integer ; + sh:ignoredProperties ( opencloning_linkml:sequence rdf:type opencloning_linkml:overhang_crick_3prime schema1:name opencloning_linkml:sequence_file_format opencloning_linkml:circular opencloning_linkml:file_content opencloning_linkml:overhang_watson_3prime opencloning_linkml:primer_design ) ; + sh:property [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; - sh:path schema1:identifier ] ; + sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:type ] ; sh:targetClass bioschemas:DNA . schema1:Role a sh:NodeShape ; sh:closed true ; sh:description "Represents an input to a source" ; - sh:ignoredProperties ( opencloning_linkml:left_location opencloning_linkml:reverse_complemented rdf:type opencloning_linkml:right_location ) ; + sh:ignoredProperties ( opencloning_linkml:right_location rdf:type opencloning_linkml:reverse_complemented opencloning_linkml:left_location ) ; sh:property [ sh:class bioschemas:DNA ; sh:description "The input sequence" ; sh:maxCount 1 ; diff --git a/src/opencloning_linkml/datamodel/_models.py b/src/opencloning_linkml/datamodel/_models.py index ff515bd..8323a08 100644 --- a/src/opencloning_linkml/datamodel/_models.py +++ b/src/opencloning_linkml/datamodel/_models.py @@ -1597,7 +1597,7 @@ class SnapGenePlasmidSource(RepositoryIdSource): "plasmid is the subpath after " "the /.", "name": "repository_id", - "pattern": "^[^\\\\]*\\\\[^\\\\]$", + "pattern": "^[^/]*\\/[^/]$", } }, } @@ -1661,7 +1661,7 @@ class SnapGenePlasmidSource(RepositoryIdSource): @field_validator("repository_id") def pattern_repository_id(cls, v): - pattern = re.compile(r"^[^\\]*\\[^\\]$") + pattern = re.compile(r"^[^/]*\/[^/]$") if isinstance(v, list): for element in v: if isinstance(element, str) and not pattern.match(element): @@ -1886,7 +1886,7 @@ class OpenDNACollectionsSource(RepositoryIdSource): "repository_id": { "description": "Subpath of the sequence in " "the Open DNA collections " "repository", "name": "repository_id", - "pattern": "^[^\\\\]*\\\\[^\\\\]$", + "pattern": "^[^/]*\\/[^/]$", } }, } @@ -1981,7 +1981,7 @@ def pattern_sequence_file_url(cls, v): @field_validator("repository_id") def pattern_repository_id(cls, v): - pattern = re.compile(r"^[^\\]*\\[^\\]$") + pattern = re.compile(r"^[^/]*\/[^/]$") if isinstance(v, list): for element in v: if isinstance(element, str) and not pattern.match(element): From fc03e9893c5f3cf95105d82145712e18d23d8fcc Mon Sep 17 00:00:00 2001 From: Manuel Lera-Ramirez Date: Thu, 27 Nov 2025 13:31:40 +0000 Subject: [PATCH 5/5] fix regex --- project/excel/opencloning_linkml.xlsx | Bin 30966 -> 30965 bytes .../jsonld/opencloning_linkml.context.jsonld | 2 +- project/jsonld/opencloning_linkml.jsonld | 12 +- .../jsonschema/opencloning_linkml.schema.json | 6 +- project/owl/opencloning_linkml.owl.ttl | 928 +++++----- project/python/opencloning_linkml.py | 6 +- project/shacl/opencloning_linkml.shacl.ttl | 1550 ++++++++--------- project/sqlschema/opencloning_linkml.sql | 2 +- src/opencloning_linkml/datamodel/_models.py | 12 +- .../schema/opencloning_linkml.yaml | 6 +- 10 files changed, 1262 insertions(+), 1262 deletions(-) diff --git a/project/excel/opencloning_linkml.xlsx b/project/excel/opencloning_linkml.xlsx index efe2b0e9a990714fd29e71b9ca93b303ada7133e..1be39a90ed0db6d60dab80d747923078f113d120 100644 GIT binary patch delta 2118 zcmZvcdr;I>6vuzRA1=eXyq0BGM1Hu4u!`HdfDpm(D8&uIWyO@yc(gDY>;lWvT@^;M z0jD%YZ)uoXgfW(y)GyN!6$Gb7#0QRJqXy-eN)A4-OvzX0T-Z&}{pZ}@=bZCB_uPB# z{xiVdA7CYhWT!FS48yoE{Tn6wr2XcVZ+|UcKjRjllPtqX$vl(ys!ui^(|2fHYqOW! zJW@eS%EUz)rCu2jDn9F2o7rR}*Ah^=qT2;RFUij^RyuTVAxE%i0(iV`vJE>!`x+6!epJP@m zdAP1e-R#^vbIlH~<`0jpstH=Bd2&&!lDyWmtfAJpt9I%2d$V18clc*tzjpG1>Rj(T z4Lc*+XPrN9!faF1c5NA<_bwVDci;NViWx_W930UNy(uzhKn1)Vmpo*kgM8dwH;OAo>t1#A)8W&>! z6bjXvp}b(BU8A-y<)LcM9rxl<@gQzDT=v2-Bs9WT$PYgRJ0WKyRV1NABp4!A;l|EJ z?nYA?wG&N1bkk5Dxo^I^p_-KF{Ds>wb(j_qtrD7IF$I>vLP~t~@RDfDoQ1)J6?V_o zHyoa$;L*);c={62BjoFTK;xg}hdV|wW3oL(aG6VEKG1)MF)@a%XfDiaVQEJqpXUB( z=t#yvN8^Qq^XCllmJ|EKdVmLuD4)9E7N(6$pNJJ=3@RaOQ5oxoXVSo;Rf+LQ#yJupyGWgB5{+r;TN@Pxb)_7`_}Bx$R=?*)x=kw39yIaXN-?<-sURA& zCxCb}&v{75>w$7oW|k_k(zTFrW+SNl`hv= zrlVe+h61w#T-7274SU%E{r~nDX8efzjtr+VgH%RR!gD?m6eN^jApq=gQe1*f)Pu7) ziaJkIXLlLT$)hQdmrCg*4!u)lxtu#3LmhWwMmK|5WwF%RSc)|e_{Kx)a`I=X*DyGi zK!LVw7_fQ7Scbd6XpdRcdDQOYeoUl5RF2U;`wA~1$HQgq}us3DQ+1akO9DhwWNcFpRBWy46x@&aqg`FB`@*uiTHC;RtH{7{+&msDiAvO$DJnHlBS-I&HzuH}Wyy EKO~ybBme*a delta 2107 zcmZXTe@s(X6vz7>6#3b-6w1#BqS7K_DI%`J0b;wI zrzWZCNyKnc;c(nJEv;Uk2wJptJ3BiH+MZxEKyf$%q}2EwJlVQAt4GFfn(e+(wEUad+)*%^Ny#>9-gReuPxiy=&Anu=#Ake$M?w2 zZTh*pXIp+i-I*)Yi8~*h?CftG7`?4nwepPzytlT7R~;F;HI7-76>@nmiDM zU@r;HgFE{rIzU^3?`woc0{)*AQ_GP{CrKv*5Bps5yA5F=*a4GY0bwri;cLhSM_kceF_VLKyNIW+%B zKttq7(L`PllRBppvvz6BizWKh;Kl~WiSb`HHGULtgj7Z$lBWn!veAvrO*l9Yu~X{~ zLo0Ri4xsjQF}o?zHrMvG_{kMhSjpr`wj$hRUd1SM+LVP@1Y)F5inEDMLP*ge)Pm&3cEIh;WJh8#az z0}l;pBv?PAVd#1f6qhJMtF?R#lC=!Y_d+GrBAL`$p;Km2w4ck1C%Is<7CXv)u!}#s zq!nP7e(Z9CN5CwP>$AWG@pTNH%_qq;onR?6>b^ldqsEOkJ2iS;K!nG1VEZ1fEEWJ1DPiT|qX#vV4@d|&`4ad<6EN};xp`275F*SrX+yAuR1s8P=utw?4j`mWmh*4D65|5MeRq$)zG}7 zlAlIIm*g9t0IhPSyBgb!(mwg_u3*BY6bA zW(JsxEoQb7aLDXS9?{<2&xgkGz9!ejQ|!Hi2>VGTY#vhpK)5!+sed$FDD?h+Lar5( z%6tp#skJclWia&X7#`c5Rf9y!HLjV8( diff --git a/project/jsonld/opencloning_linkml.context.jsonld b/project/jsonld/opencloning_linkml.context.jsonld index 3591b61..20b625f 100644 --- a/project/jsonld/opencloning_linkml.context.jsonld +++ b/project/jsonld/opencloning_linkml.context.jsonld @@ -1,7 +1,7 @@ { "comments": { "description": "Auto generated by LinkML jsonld context generator", - "generation_date": "2025-11-27T13:28:24", + "generation_date": "2025-11-27T13:31:19", "source": "opencloning_linkml.yaml" }, "@context": { diff --git a/project/jsonld/opencloning_linkml.jsonld b/project/jsonld/opencloning_linkml.jsonld index 4e20981..adaf183 100644 --- a/project/jsonld/opencloning_linkml.jsonld +++ b/project/jsonld/opencloning_linkml.jsonld @@ -2021,7 +2021,7 @@ "usage_slot_name": "repository_id", "range": "string", "required": true, - "pattern": "^[^/]*\\/[^/]$", + "pattern": "^[^\\/]+\\/[^\\/]+$", "@type": "SlotDefinition" }, { @@ -2047,7 +2047,7 @@ { "name": "IGEMSource_repository_id", "definition_uri": "https://opencloning.github.io/OpenCloning_LinkML/repository_id", - "description": "The unique identifier of the sequence in the iGEM collection (for now, {part_id}-{plasmid_backbone}) pattern: ^[^-]*-[^-]$", + "description": "The unique identifier of the sequence in the iGEM collection (for now, {part_id}-{plasmid_backbone}) pattern: ^[^-]+-[^-]+$", "from_schema": "https://opencloning.github.io/OpenCloning_LinkML", "is_a": "repository_id", "domain": "IGEMSource", @@ -2100,7 +2100,7 @@ "usage_slot_name": "repository_id", "range": "string", "required": true, - "pattern": "^[^/]*\\/[^/]$", + "pattern": "^[^\\/]+\\/[^\\/]+$", "@type": "SlotDefinition" }, { @@ -3542,9 +3542,9 @@ ], "metamodel_version": "1.7.0", "source_file": "opencloning_linkml.yaml", - "source_file_date": "2025-11-27T13:26:30", - "source_file_size": 26121, - "generation_date": "2025-11-27T13:28:24", + "source_file_date": "2025-11-27T13:31:15", + "source_file_size": 26128, + "generation_date": "2025-11-27T13:31:19", "@type": "SchemaDefinition", "@context": [ "project/jsonld/opencloning_linkml.context.jsonld", diff --git a/project/jsonschema/opencloning_linkml.schema.json b/project/jsonschema/opencloning_linkml.schema.json index 9bb12aa..98efd97 100644 --- a/project/jsonschema/opencloning_linkml.schema.json +++ b/project/jsonschema/opencloning_linkml.schema.json @@ -1471,7 +1471,7 @@ ] }, "repository_id": { - "description": "The unique identifier of the sequence in the iGEM collection (for now, {part_id}-{plasmid_backbone}) pattern: ^[^-]*-[^-]$", + "description": "The unique identifier of the sequence in the iGEM collection (for now, {part_id}-{plasmid_backbone}) pattern: ^[^-]+-[^-]+$", "type": "string" }, "repository_name": { @@ -1895,7 +1895,7 @@ }, "repository_id": { "description": "Subpath of the sequence in the Open DNA collections repository", - "pattern": "^[^/]*\\/[^/]$", + "pattern": "^[^\\/]+\\/[^\\/]+$", "type": "string" }, "repository_name": { @@ -2837,7 +2837,7 @@ }, "repository_id": { "description": "The subpath of the plasmid in the SnapGene plasmid library. Requesting the plasmid is possible with https://www.snapgene.com/local/fetch.php?set={category_path}&plasmid={plasmid['subpath']} where category_path is the left part of the subpath before the first / and plasmid is the subpath after the /.", - "pattern": "^[^/]*\\/[^/]$", + "pattern": "^[^\\/]+\\/[^\\/]+$", "type": "string" }, "repository_name": { diff --git a/project/owl/opencloning_linkml.owl.ttl b/project/owl/opencloning_linkml.owl.ttl index c93bda8..2455b83 100644 --- a/project/owl/opencloning_linkml.owl.ttl +++ b/project/owl/opencloning_linkml.owl.ttl @@ -16,64 +16,64 @@ opencloning_linkml:CloningStrategy a owl:Class, rdfs:label "CloningStrategy" ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:backend_version ], + owl:onProperty opencloning_linkml:schema_version ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:primers ], + owl:allValuesFrom opencloning_linkml:version_number ; + owl:onProperty opencloning_linkml:frontend_version ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:AssociatedFile ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:files ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:sequences ], + owl:allValuesFrom opencloning_linkml:version_number ; + owl:onProperty opencloning_linkml:schema_version ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:backend_version ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:files ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:Primer ; owl:onProperty opencloning_linkml:primers ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:schema_version ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:version_number ; owl:onProperty opencloning_linkml:backend_version ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:schema_version ], + owl:onProperty opencloning_linkml:description ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:frontend_version ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:Sequence ; owl:onProperty opencloning_linkml:sequences ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:frontend_version ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:version_number ; - owl:onProperty opencloning_linkml:frontend_version ], + owl:onProperty opencloning_linkml:backend_version ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:description ], + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:sequences ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:schema_version ], + owl:allValuesFrom opencloning_linkml:AssociatedFile ; + owl:onProperty opencloning_linkml:files ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:description ], + owl:allValuesFrom opencloning_linkml:Primer ; + owl:onProperty opencloning_linkml:primers ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:frontend_version ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:sources ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:Source ; owl:onProperty opencloning_linkml:sources ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:description ], + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:sources ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:version_number ; - owl:onProperty opencloning_linkml:schema_version ] ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:description ] ; skos:definition "Represents a cloning strategy" ; skos:inScheme . @@ -91,32 +91,32 @@ opencloning_linkml:CollectionOption a owl:Class, linkml:ClassDefinition ; rdfs:label "CollectionOption" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:source ], - [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:name ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:Source ; - owl:onProperty opencloning_linkml:source ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:name ], + owl:onProperty opencloning_linkml:info ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:source ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:info ], [ a owl:Restriction ; owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:name ], + owl:onProperty opencloning_linkml:source ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:info ], + owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom opencloning_linkml:CollectionOptionInfo ; owl:onProperty opencloning_linkml:info ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:CollectionOptionInfo ; - owl:onProperty opencloning_linkml:info ] ; + owl:allValuesFrom opencloning_linkml:Source ; + owl:onProperty opencloning_linkml:source ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:name ] ; skos:definition "Represents an option in a collection" ; skos:inScheme . @@ -124,49 +124,49 @@ opencloning_linkml:CollectionOptionInfo a owl:Class, linkml:ClassDefinition ; rdfs:label "CollectionOptionInfo" ; rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:resistance ], + [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:name ], + owl:onProperty opencloning_linkml:well ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:resistance ], - [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:description ], + owl:onProperty opencloning_linkml:resistance ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom opencloning_linkml:CollectionOptionType ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:well ], + owl:onProperty opencloning_linkml:resistance ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:CollectionOptionType ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:well ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:well ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:resistance ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:resistance ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:name ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:type ] ; skos:definition "Additional information about a collection option" ; skos:inScheme . @@ -175,8 +175,8 @@ opencloning_linkml:AddgeneIdSource a owl:Class, linkml:ClassDefinition ; rdfs:label "AddgeneIdSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:AddgeneSequenceType ; - owl:onProperty opencloning_linkml:addgene_sequence_type ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; @@ -187,14 +187,14 @@ opencloning_linkml:AddgeneIdSource a owl:Class, owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:addgene_sequence_type ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:addgene_sequence_type ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:sequence_file_url ], + owl:allValuesFrom opencloning_linkml:AddgeneSequenceType ; + owl:onProperty opencloning_linkml:addgene_sequence_type ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence that is identified by an Addgene id" ; skos:inScheme . @@ -213,29 +213,29 @@ opencloning_linkml:AnnotationSource a owl:Class, linkml:ClassDefinition ; rdfs:label "AnnotationSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:annotation_tool_version ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:AnnotationReport ; - owl:onProperty opencloning_linkml:annotation_report ], - [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:annotation_tool ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:annotation_tool_version ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:annotation_tool_version ], + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:annotation_tool ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom opencloning_linkml:AnnotationReport ; owl:onProperty opencloning_linkml:annotation_report ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:annotation_tool ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:AnnotationTool ; owl:onProperty opencloning_linkml:annotation_tool ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:annotation_tool_version ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:annotation_report ], opencloning_linkml:Source ; skos:definition "Represents a computational step in which sequence features are annotated in a sequence" ; skos:inScheme . @@ -244,29 +244,29 @@ opencloning_linkml:AssemblyFragment a owl:Class, linkml:ClassDefinition ; rdfs:label "AssemblyFragment" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:reverse_complemented ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:right_location ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:left_location ], [ a owl:Restriction ; owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:left_location ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:reverse_complemented ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:right_location ], + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:reverse_complemented ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:reverse_complemented ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:sequence_range ; owl:onProperty opencloning_linkml:left_location ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:left_location ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:right_location ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:left_location ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:sequence_range ; owl:onProperty opencloning_linkml:right_location ], @@ -278,7 +278,7 @@ opencloning_linkml:BenchlingUrlSource a owl:Class, linkml:ClassDefinition ; rdfs:label "BenchlingUrlSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; @@ -286,7 +286,7 @@ opencloning_linkml:BenchlingUrlSource a owl:Class, owl:withRestrictions ( [ xsd:pattern "^https:\\/\\/benchling\\.com\\/.+\\.gb$" ] ) ] ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence that is identified by a Benchling URL" ; @@ -323,43 +323,43 @@ opencloning_linkml:CollectionSource a owl:Class, linkml:ClassDefinition ; rdfs:label "CollectionSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:title ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:image ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:options ], + owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:title ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:category_id ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:CollectionOption ; - owl:onProperty opencloning_linkml:options ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:category_id ], + owl:onProperty opencloning_linkml:image ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:title ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:image ], + owl:allValuesFrom opencloning_linkml:CollectionOption ; + owl:onProperty opencloning_linkml:options ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:title ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:description ], + owl:onProperty opencloning_linkml:title ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:description ], + owl:onProperty opencloning_linkml:category_id ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:image ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:options ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:category_id ], opencloning_linkml:Source ; skos:definition "Represents a collection of possible sources in a template" ; @@ -392,15 +392,15 @@ opencloning_linkml:EuroscarfSource a owl:Class, linkml:ClassDefinition ; rdfs:label "EuroscarfSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom [ a rdfs:Datatype ; + owl:onDatatype xsd:string ; + owl:withRestrictions ( [ xsd:pattern "^P\\d+$" ] ) ] ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:allValuesFrom [ a rdfs:Datatype ; - owl:onDatatype xsd:string ; - owl:withRestrictions ( [ xsd:pattern "^P\\d+$" ] ) ] ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence from the Euroscarf plasmid library" ; @@ -420,7 +420,10 @@ opencloning_linkml:GatewaySource a owl:Class, linkml:ClassDefinition ; rdfs:label "GatewaySource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:greedy ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:reaction_type ], [ a owl:Restriction ; owl:maxCardinality 1 ; @@ -429,14 +432,11 @@ opencloning_linkml:GatewaySource a owl:Class, owl:allValuesFrom opencloning_linkml:GatewayReactionType ; owl:onProperty opencloning_linkml:reaction_type ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty opencloning_linkml:greedy ], + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:reaction_type ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:greedy ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:reaction_type ], opencloning_linkml:AssemblySource ; skos:definition "Represents the source of a sequence that is generated by Gateway cloning" ; skos:inScheme . @@ -447,66 +447,66 @@ opencloning_linkml:GenomeCoordinatesSource a owl:Class, rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:gene_id ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:strand ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:assembly_accession ], + owl:onProperty opencloning_linkml:sequence_accession ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:gene_id ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:start ], + owl:onProperty opencloning_linkml:strand ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:strand ], + owl:onProperty opencloning_linkml:end ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:strand ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:locus_tag ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:start ], [ a owl:Restriction ; owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:strand ], + owl:onProperty opencloning_linkml:start ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:sequence_accession ], + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:gene_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:end ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_accession ], + owl:onProperty opencloning_linkml:start ], [ a owl:Restriction ; owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:start ], + owl:onProperty opencloning_linkml:strand ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:locus_tag ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:assembly_accession ], + owl:onProperty opencloning_linkml:gene_id ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:locus_tag ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:assembly_accession ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:start ], + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_accession ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:end ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:assembly_accession ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:end ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_accession ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:locus_tag ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:assembly_accession ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:gene_id ], + owl:onProperty opencloning_linkml:sequence_accession ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is identified by genome coordinates, requested from NCBI" ; skos:inScheme . @@ -522,26 +522,26 @@ opencloning_linkml:IGEMSource a owl:Class, linkml:ClassDefinition ; rdfs:label "IGEMSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom [ a rdfs:Datatype ; - owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; - owl:onDatatype xsd:string ; - owl:withRestrictions ( [ xsd:pattern "^.*.gb$" ] ) ] ) ] ; - owl:onProperty opencloning_linkml:sequence_file_url ], - [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_url ], + [ a owl:Restriction ; + owl:allValuesFrom [ a rdfs:Datatype ; + owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; + owl:onDatatype xsd:string ; + owl:withRestrictions ( [ xsd:pattern "^.*.gb$" ] ) ] ) ] ; + owl:onProperty opencloning_linkml:sequence_file_url ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence from an iGEM collection" ; skos:inScheme . @@ -571,26 +571,20 @@ opencloning_linkml:ManuallyTypedSource a owl:Class, linkml:ClassDefinition ; rdfs:label "ManuallyTypedSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:overhang_crick_3prime ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:overhang_watson_3prime ], - [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:circular ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:overhang_watson_3prime ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:overhang_watson_3prime ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:user_input ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:circular ], + owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; @@ -598,17 +592,23 @@ opencloning_linkml:ManuallyTypedSource a owl:Class, owl:withRestrictions ( [ xsd:pattern "^[acgtACGT]+$" ] ) ] ) ] ; owl:onProperty opencloning_linkml:user_input ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:user_input ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:overhang_watson_3prime ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:user_input ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:overhang_crick_3prime ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:circular ], [ a owl:Restriction ; owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:circular ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:overhang_watson_3prime ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is manually typed by the user" ; skos:inScheme . @@ -617,13 +617,13 @@ opencloning_linkml:NamedThing a owl:Class, linkml:ClassDefinition ; rdfs:label "NamedThing" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:id ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:id ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:id ] ; skos:exactMatch schema1:Thing ; skos:inScheme . @@ -648,21 +648,21 @@ opencloning_linkml:OpenDNACollectionsSource a owl:Class, linkml:ClassDefinition ; rdfs:label "OpenDNACollectionsSource" ; rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:repository_id ], + [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom [ a rdfs:Datatype ; + owl:onDatatype xsd:string ; + owl:withRestrictions ( [ xsd:pattern "^[^\\/]+\\/[^\\/]+$" ] ) ] ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], - [ a owl:Restriction ; - owl:allValuesFrom [ a rdfs:Datatype ; - owl:onDatatype xsd:string ; - owl:withRestrictions ( [ xsd:pattern "^[^/]*\\/[^/]$" ] ) ] ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; @@ -688,10 +688,10 @@ opencloning_linkml:PCRSource a owl:Class, owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:add_primer_features ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:add_primer_features ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:add_primer_features ], opencloning_linkml:AssemblySource ; skos:definition "Represents the source of a sequence that is generated by PCR" ; @@ -702,130 +702,130 @@ opencloning_linkml:PlannotateAnnotationReport a owl:Class, rdfs:label "PlannotateAnnotationReport" ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:Type ], + owl:onProperty opencloning_linkml:percent_identity ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:database ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:start_location ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:strand ], + owl:allValuesFrom linkml:Float ; + owl:onProperty opencloning_linkml:percent_match_length ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:Feature ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:sequence ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:sseqid ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:Description ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:database ], + owl:onProperty opencloning_linkml:fragment ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:end_location ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:Description ], + owl:onProperty opencloning_linkml:database ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:strand ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:database ], + owl:onProperty opencloning_linkml:Feature ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; owl:allValuesFrom linkml:Float ; - owl:onProperty opencloning_linkml:percent_match_length ], + owl:onProperty opencloning_linkml:percent_identity ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence ], + owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:Feature ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:sequence ], + owl:onProperty opencloning_linkml:end_location ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Float ; - owl:onProperty opencloning_linkml:percent_identity ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty opencloning_linkml:fragment ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:Type ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:sseqid ], + owl:onProperty opencloning_linkml:Description ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:end_location ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sequence ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:start_location ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:length_of_found_feature ], + owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:database ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:start_location ], + owl:onProperty opencloning_linkml:percent_identity ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:start_location ], + owl:onProperty opencloning_linkml:Type ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:percent_identity ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:length_of_found_feature ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:length_of_found_feature ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:fragment ], + owl:onProperty opencloning_linkml:percent_match_length ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:percent_match_length ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sseqid ], + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:strand ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:percent_identity ], + owl:onProperty opencloning_linkml:Feature ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], - [ a owl:Restriction ; - owl:minCardinality 0 ; owl:onProperty opencloning_linkml:fragment ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:Type ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:Feature ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:Type ], + owl:onProperty opencloning_linkml:sseqid ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:end_location ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:Description ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:Feature ], + owl:onProperty opencloning_linkml:start_location ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:length_of_found_feature ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:Description ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:sseqid ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:percent_match_length ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:strand ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:length_of_found_feature ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty opencloning_linkml:fragment ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:end_location ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:sequence ], + owl:onProperty opencloning_linkml:sseqid ], opencloning_linkml:AnnotationReport ; skos:definition "Represents a report of an annotation step using Plannotate" ; skos:inScheme . @@ -886,10 +886,10 @@ opencloning_linkml:RestrictionAndLigationSource a owl:Class, linkml:ClassDefinition ; rdfs:label "RestrictionAndLigationSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:restriction_enzymes ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:restriction_enzymes ], opencloning_linkml:AssemblySource ; skos:definition "Represents the source of a sequence that is generated by restriction and ligation" ; @@ -902,19 +902,19 @@ opencloning_linkml:RestrictionEnzymeDigestionSource a owl:Class, owl:allValuesFrom opencloning_linkml:RestrictionSequenceCut ; owl:onProperty opencloning_linkml:left_edge ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:left_edge ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:right_edge ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom opencloning_linkml:RestrictionSequenceCut ; owl:onProperty opencloning_linkml:right_edge ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:left_edge ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:RestrictionSequenceCut ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:right_edge ], opencloning_linkml:SequenceCutSource ; skos:definition "Represents the source of a sequence that is a subfragment of another sequence, generated by sequence cutting using restriction enzymes." ; @@ -927,10 +927,10 @@ opencloning_linkml:RestrictionSequenceCut a owl:Class, owl:minCardinality 1 ; owl:onProperty opencloning_linkml:restriction_enzyme ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:restriction_enzyme ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:restriction_enzyme ], opencloning_linkml:SequenceCut ; skos:definition "Represents a cut in a DNA sequence that is made by a restriction enzyme" ; @@ -947,15 +947,6 @@ opencloning_linkml:SEVASource a owl:Class, linkml:ClassDefinition ; rdfs:label "SEVASource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:sequence_file_url ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_file_url ], - [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; owl:onDatatype xsd:string ; @@ -963,12 +954,21 @@ opencloning_linkml:SEVASource a owl:Class, owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_file_url ], + [ a owl:Restriction ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:onDatatype xsd:string ; owl:withRestrictions ( [ xsd:pattern "^pSEVA\\d+.*$" ] ) ] ; owl:onProperty opencloning_linkml:repository_id ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:repository_id ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence that is identified by a SEVA id" ; skos:inScheme . @@ -997,10 +997,10 @@ opencloning_linkml:SequencingFile a owl:Class, linkml:ClassDefinition ; rdfs:label "SequencingFile" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:alignment ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:alignment ], opencloning_linkml:AssociatedFile ; skos:definition "Represents a sequencing file and its alignment to a sequence" ; @@ -1012,13 +1012,13 @@ opencloning_linkml:SnapGenePlasmidSource a owl:Class, rdfs:subClassOf [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:onDatatype xsd:string ; - owl:withRestrictions ( [ xsd:pattern "^[^/]*\\/[^/]$" ] ) ] ; + owl:withRestrictions ( [ xsd:pattern "^[^\\/]+\\/[^\\/]+$" ] ) ] ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence from the SnapGene plasmid library identified by a SnapGene subpath of https://www.snapgene.com/plasmids/" ; @@ -1030,20 +1030,20 @@ opencloning_linkml:TemplateSequence a owl:Class, rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:circular ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty opencloning_linkml:circular ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:circular ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:primer_design ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:primer_design ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:allValuesFrom linkml:Boolean ; + owl:onProperty opencloning_linkml:circular ], + [ a owl:Restriction ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:primer_design ], opencloning_linkml:Sequence ; skos:definition "Represents a sequence that is part of a template, where the actual sequence content will be determined by the user's actions" ; @@ -1054,37 +1054,37 @@ opencloning_linkml:TextFileSequence a owl:Class, rdfs:label "TextFileSequence" ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:overhang_crick_3prime ], + owl:onProperty opencloning_linkml:file_content ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:overhang_watson_3prime ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:overhang_crick_3prime ], + owl:onProperty opencloning_linkml:overhang_watson_3prime ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:SequenceFileFormat ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_format ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:overhang_watson_3prime ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:file_content ], + owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:file_content ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:overhang_watson_3prime ], + owl:allValuesFrom opencloning_linkml:SequenceFileFormat ; + owl:onProperty opencloning_linkml:sequence_file_format ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_format ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:overhang_watson_3prime ], + owl:onProperty opencloning_linkml:file_content ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:overhang_watson_3prime ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_file_format ], + owl:onProperty opencloning_linkml:overhang_crick_3prime ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:file_content ], @@ -1096,49 +1096,49 @@ opencloning_linkml:UploadedFileSource a owl:Class, linkml:ClassDefinition ; rdfs:label "UploadedFileSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:file_name ], + owl:allValuesFrom opencloning_linkml:sequence_range ; + owl:onProperty opencloning_linkml:coordinates ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:index_in_file ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:coordinates ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:SequenceFileFormat ; - owl:onProperty opencloning_linkml:sequence_file_format ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:coordinates ], + owl:onProperty opencloning_linkml:index_in_file ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_file_format ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty opencloning_linkml:circularize ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:file_name ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:index_in_file ], + owl:onProperty opencloning_linkml:file_name ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_format ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:index_in_file ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:coordinates ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:circularize ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_file_format ], + [ a owl:Restriction ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:circularize ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:file_name ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:sequence_range ; - owl:onProperty opencloning_linkml:coordinates ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty opencloning_linkml:circularize ], + owl:allValuesFrom opencloning_linkml:SequenceFileFormat ; + owl:onProperty opencloning_linkml:sequence_file_format ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:file_name ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:index_in_file ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is uploaded as a file" ; @@ -1150,18 +1150,12 @@ opencloning_linkml:WekWikGeneIdSource a owl:Class, rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:sequence_file_url ], - [ a owl:Restriction ; - owl:allValuesFrom [ a rdfs:Datatype ; - owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; - owl:onDatatype xsd:string ; - owl:withRestrictions ( [ xsd:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; - owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_file_url ], + owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], + owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:onDatatype xsd:string ; @@ -1170,6 +1164,12 @@ opencloning_linkml:WekWikGeneIdSource a owl:Class, [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], + [ a owl:Restriction ; + owl:allValuesFrom [ a rdfs:Datatype ; + owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; + owl:onDatatype xsd:string ; + owl:withRestrictions ( [ xsd:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ) ] ) ] ; + owl:onProperty opencloning_linkml:sequence_file_url ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence that is identified by a WeKwikGene id" ; skos:inScheme . @@ -1263,32 +1263,32 @@ opencloning_linkml:Primer a owl:Class, linkml:ClassDefinition ; rdfs:label "Primer" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:name ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:database_id ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:database_id ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:sequence ], - [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; owl:onDatatype xsd:string ; owl:withRestrictions ( [ xsd:pattern "^[acgtACGT]+$" ] ) ] ) ] ; owl:onProperty opencloning_linkml:sequence ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:database_id ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:name ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:sequence ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:database_id ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:name ], @@ -1300,8 +1300,8 @@ opencloning_linkml:SequenceCut a owl:Class, linkml:ClassDefinition ; rdfs:label "SequenceCut" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:overhang ], + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:cut_watson ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:cut_watson ], @@ -1312,8 +1312,8 @@ opencloning_linkml:SequenceCut a owl:Class, owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:cut_watson ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:cut_watson ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:overhang ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:overhang ] ; @@ -1324,22 +1324,22 @@ opencloning_linkml:SequenceCutSource a owl:Class, linkml:ClassDefinition ; rdfs:label "SequenceCutSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:SequenceCut ; - owl:onProperty opencloning_linkml:right_edge ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:left_edge ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:right_edge ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:left_edge ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:SequenceCut ; owl:onProperty opencloning_linkml:left_edge ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:right_edge ], + [ a owl:Restriction ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:left_edge ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom opencloning_linkml:SequenceCut ; owl:onProperty opencloning_linkml:right_edge ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is a subfragment of another sequence, generated by sequence cutting." ; @@ -1623,10 +1623,10 @@ opencloning_linkml:AnnotationReport a owl:Class, linkml:ClassDefinition ; rdfs:label "AnnotationReport" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:maxCardinality 1 ; @@ -1640,39 +1640,39 @@ opencloning_linkml:AssociatedFile a owl:Class, rdfs:subClassOf [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:file_name ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:Sequence ; + owl:onProperty opencloning_linkml:sequence_id ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:type ], + owl:onProperty opencloning_linkml:file_name ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:AssociatedFileType ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:file_type ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:Sequence ; - owl:onProperty opencloning_linkml:sequence_id ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom opencloning_linkml:AssociatedFileType ; owl:onProperty opencloning_linkml:file_type ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:file_name ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:type ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:file_type ], [ a owl:Restriction ; owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_id ], + owl:onProperty opencloning_linkml:file_type ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence_id ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:file_name ] ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_id ] ; skos:definition "Represents a file associated with a sequence" ; skos:inScheme . @@ -1686,11 +1686,14 @@ opencloning_linkml:SourceInput a owl:Class, linkml:ClassDefinition ; rdfs:label "SourceInput" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:Sequence ; - owl:onProperty opencloning_linkml:sequence ], - [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:type ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sequence ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:Sequence ; + owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:type ], @@ -1699,9 +1702,6 @@ opencloning_linkml:SourceInput a owl:Class, owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:sequence ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence ] ; skos:definition "Represents an input to a source" ; skos:exactMatch schema1:Role ; @@ -1762,23 +1762,23 @@ opencloning_linkml:Sequence a owl:Class, linkml:ClassDefinition ; rdfs:label "Sequence" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:id ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:id ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:type ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:id ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:id ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:type ], opencloning_linkml:NamedThing ; skos:definition "Represents a sequence" ; skos:exactMatch bioschemas:DNA ; @@ -1818,16 +1818,16 @@ opencloning_linkml:RepositoryIdSource a owl:Class, linkml:ClassDefinition ; rdfs:label "RepositoryIdSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_name ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_name ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:RepositoryName ; @@ -1851,10 +1851,10 @@ opencloning_linkml:AssemblySource a owl:Class, linkml:ClassDefinition ; rdfs:label "AssemblySource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:circular ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:circular ], [ a owl:Restriction ; owl:maxCardinality 1 ; @@ -1879,15 +1879,21 @@ opencloning_linkml:Source a owl:Class, rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:database_id ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:output_name ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:input ], + owl:onProperty opencloning_linkml:output_name ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:output_name ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:type ], @@ -1895,20 +1901,14 @@ opencloning_linkml:Source a owl:Class, owl:minCardinality 0 ; owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:output_name ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:type ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:input ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:SourceInput ; owl:onProperty opencloning_linkml:input ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:output_name ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:database_id ], opencloning_linkml:NamedThing ; skos:definition "Represents the source of a sequence" ; skos:exactMatch schema1:CreateAction ; @@ -1950,54 +1950,64 @@ opencloning_linkml:type a owl:ObjectProperty, skos:definition "A LinkML data model for OpenCloning" . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:RestrictionEnzymeDigestionSource ; + rdfs:subClassOf opencloning_linkml:OligoHybridizationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:RestrictionEnzymeDigestionSource . + owl:someValuesFrom opencloning_linkml:OligoHybridizationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:CollectionSource ; + rdfs:subClassOf opencloning_linkml:PCRSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:CollectionSource . + owl:someValuesFrom opencloning_linkml:PCRSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:CRISPRSource ; + rdfs:subClassOf opencloning_linkml:CreLoxRecombinationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:CRISPRSource . + owl:someValuesFrom opencloning_linkml:CreLoxRecombinationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:PlannotateAnnotationReport ; + rdfs:subClassOf opencloning_linkml:GibsonAssemblySource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:PlannotateAnnotationReport . + owl:someValuesFrom opencloning_linkml:GibsonAssemblySource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AssemblyFragment ; + rdfs:subClassOf opencloning_linkml:PolymeraseExtensionSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AssemblyFragment . + owl:someValuesFrom opencloning_linkml:PolymeraseExtensionSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:HomologousRecombinationSource ; + rdfs:subClassOf opencloning_linkml:BenchlingUrlSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:HomologousRecombinationSource . + owl:someValuesFrom opencloning_linkml:BenchlingUrlSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:DatabaseSource ; + rdfs:subClassOf opencloning_linkml:WekWikGeneIdSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:DatabaseSource . + owl:someValuesFrom opencloning_linkml:WekWikGeneIdSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:WekWikGeneIdSource ; + rdfs:subClassOf opencloning_linkml:AddgeneIdSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:WekWikGeneIdSource . + owl:someValuesFrom opencloning_linkml:AddgeneIdSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:TextFileSequence ; + rdfs:subClassOf opencloning_linkml:SnapGenePlasmidSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:TextFileSequence . + owl:someValuesFrom opencloning_linkml:SnapGenePlasmidSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:PolymeraseExtensionSource ; + rdfs:subClassOf opencloning_linkml:InFusionSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:PolymeraseExtensionSource . + owl:someValuesFrom opencloning_linkml:InFusionSource . + +[] a owl:Restriction ; + rdfs:subClassOf opencloning_linkml:AnnotationSource ; + owl:onProperty opencloning_linkml:type ; + owl:someValuesFrom opencloning_linkml:AnnotationSource . + +[] a owl:Restriction ; + rdfs:subClassOf opencloning_linkml:Sequence ; + owl:onProperty opencloning_linkml:type ; + owl:someValuesFrom opencloning_linkml:Sequence . [] a owl:Restriction ; rdfs:subClassOf opencloning_linkml:SEVASource ; @@ -2005,19 +2015,19 @@ opencloning_linkml:type a owl:ObjectProperty, owl:someValuesFrom opencloning_linkml:SEVASource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SequencingFile ; + rdfs:subClassOf opencloning_linkml:ReverseComplementSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SequencingFile . + owl:someValuesFrom opencloning_linkml:ReverseComplementSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:EuroscarfSource ; + rdfs:subClassOf opencloning_linkml:TemplateSequence ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:EuroscarfSource . + owl:someValuesFrom opencloning_linkml:TemplateSequence . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AssociatedFile ; + rdfs:subClassOf opencloning_linkml:Source ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AssociatedFile . + owl:someValuesFrom opencloning_linkml:Source . [] a owl:Restriction ; rdfs:subClassOf opencloning_linkml:OverlapExtensionPCRLigationSource ; @@ -2025,14 +2035,9 @@ opencloning_linkml:type a owl:ObjectProperty, owl:someValuesFrom opencloning_linkml:OverlapExtensionPCRLigationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:InVivoAssemblySource ; - owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:InVivoAssemblySource . - -[] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:GibsonAssemblySource ; + rdfs:subClassOf opencloning_linkml:HomologousRecombinationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:GibsonAssemblySource . + owl:someValuesFrom opencloning_linkml:HomologousRecombinationSource . [] a owl:Restriction ; rdfs:subClassOf opencloning_linkml:GatewaySource ; @@ -2040,39 +2045,39 @@ opencloning_linkml:type a owl:ObjectProperty, owl:someValuesFrom opencloning_linkml:GatewaySource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:OpenDNACollectionsSource ; + rdfs:subClassOf opencloning_linkml:AssociatedFile ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:OpenDNACollectionsSource . + owl:someValuesFrom opencloning_linkml:AssociatedFile . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:UploadedFileSource ; + rdfs:subClassOf opencloning_linkml:SequenceCutSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:UploadedFileSource . + owl:someValuesFrom opencloning_linkml:SequenceCutSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:PCRSource ; + rdfs:subClassOf opencloning_linkml:Primer ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:PCRSource . + owl:someValuesFrom opencloning_linkml:Primer . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:InFusionSource ; + rdfs:subClassOf opencloning_linkml:GenomeCoordinatesSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:InFusionSource . + owl:someValuesFrom opencloning_linkml:GenomeCoordinatesSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:TemplateSequence ; + rdfs:subClassOf opencloning_linkml:OpenDNACollectionsSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:TemplateSequence . + owl:someValuesFrom opencloning_linkml:OpenDNACollectionsSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:Primer ; + rdfs:subClassOf opencloning_linkml:PlannotateAnnotationReport ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:Primer . + owl:someValuesFrom opencloning_linkml:PlannotateAnnotationReport . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AssemblySource ; + rdfs:subClassOf opencloning_linkml:AssemblyFragment ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AssemblySource . + owl:someValuesFrom opencloning_linkml:AssemblyFragment . [] a owl:Restriction ; rdfs:subClassOf opencloning_linkml:LigationSource ; @@ -2080,86 +2085,81 @@ opencloning_linkml:type a owl:ObjectProperty, owl:someValuesFrom opencloning_linkml:LigationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:IGEMSource ; + rdfs:subClassOf opencloning_linkml:DatabaseSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:IGEMSource . + owl:someValuesFrom opencloning_linkml:DatabaseSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:Sequence ; + rdfs:subClassOf opencloning_linkml:SequencingFile ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:Sequence . + owl:someValuesFrom opencloning_linkml:SequencingFile . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SnapGenePlasmidSource ; + rdfs:subClassOf opencloning_linkml:IGEMSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SnapGenePlasmidSource . + owl:someValuesFrom opencloning_linkml:IGEMSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:RestrictionAndLigationSource ; + rdfs:subClassOf opencloning_linkml:InVivoAssemblySource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:RestrictionAndLigationSource . + owl:someValuesFrom opencloning_linkml:InVivoAssemblySource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AddgeneIdSource ; + rdfs:subClassOf opencloning_linkml:RepositoryIdSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AddgeneIdSource . + owl:someValuesFrom opencloning_linkml:RepositoryIdSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:BenchlingUrlSource ; + rdfs:subClassOf opencloning_linkml:SourceInput ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:BenchlingUrlSource . + owl:someValuesFrom opencloning_linkml:SourceInput . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:ReverseComplementSource ; + rdfs:subClassOf opencloning_linkml:RestrictionEnzymeDigestionSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:ReverseComplementSource . + owl:someValuesFrom opencloning_linkml:RestrictionEnzymeDigestionSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:RepositoryIdSource ; + rdfs:subClassOf opencloning_linkml:AnnotationReport ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:RepositoryIdSource . + owl:someValuesFrom opencloning_linkml:AnnotationReport . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SequenceCutSource ; + rdfs:subClassOf opencloning_linkml:RestrictionAndLigationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SequenceCutSource . + owl:someValuesFrom opencloning_linkml:RestrictionAndLigationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AnnotationReport ; + rdfs:subClassOf opencloning_linkml:UploadedFileSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AnnotationReport . + owl:someValuesFrom opencloning_linkml:UploadedFileSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:CreLoxRecombinationSource ; + rdfs:subClassOf opencloning_linkml:CRISPRSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:CreLoxRecombinationSource . + owl:someValuesFrom opencloning_linkml:CRISPRSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:OligoHybridizationSource ; + rdfs:subClassOf opencloning_linkml:EuroscarfSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:OligoHybridizationSource . + owl:someValuesFrom opencloning_linkml:EuroscarfSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AnnotationSource ; + rdfs:subClassOf opencloning_linkml:TextFileSequence ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AnnotationSource . + owl:someValuesFrom opencloning_linkml:TextFileSequence . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:Source ; + rdfs:subClassOf opencloning_linkml:AssemblySource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:Source . + owl:someValuesFrom opencloning_linkml:AssemblySource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:GenomeCoordinatesSource ; + rdfs:subClassOf opencloning_linkml:CollectionSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:GenomeCoordinatesSource . + owl:someValuesFrom opencloning_linkml:CollectionSource . [] a owl:Restriction ; rdfs:subClassOf opencloning_linkml:ManuallyTypedSource ; owl:onProperty opencloning_linkml:type ; owl:someValuesFrom opencloning_linkml:ManuallyTypedSource . - -[] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SourceInput ; - owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SourceInput . diff --git a/project/python/opencloning_linkml.py b/project/python/opencloning_linkml.py index b15da69..ea7b0b9 100644 --- a/project/python/opencloning_linkml.py +++ b/project/python/opencloning_linkml.py @@ -1,5 +1,5 @@ # Auto generated from opencloning_linkml.yaml by pythongen.py version: 0.0.1 -# Generation date: 2025-11-27T13:28:24 +# Generation date: 2025-11-27T13:31:19 # Schema: OpenCloning_LinkML # # id: https://opencloning.github.io/OpenCloning_LinkML @@ -2991,7 +2991,7 @@ class slots: model_uri=OPENCLONING_LINKML.SnapGenePlasmidSource_repository_id, domain=SnapGenePlasmidSource, range=str, - pattern=re.compile(r"^[^/]*\/[^/]$"), + pattern=re.compile(r"^[^\/]+\/[^\/]+$"), ) slots.EuroscarfSource_repository_id = Slot( @@ -3030,7 +3030,7 @@ class slots: model_uri=OPENCLONING_LINKML.OpenDNACollectionsSource_repository_id, domain=OpenDNACollectionsSource, range=str, - pattern=re.compile(r"^[^/]*\/[^/]$"), + pattern=re.compile(r"^[^\/]+\/[^\/]+$"), ) slots.RestrictionAndLigationSource_restriction_enzymes = Slot( diff --git a/project/shacl/opencloning_linkml.shacl.ttl b/project/shacl/opencloning_linkml.shacl.ttl index 94f1a03..6e8bb75 100644 --- a/project/shacl/opencloning_linkml.shacl.ttl +++ b/project/shacl/opencloning_linkml.shacl.ttl @@ -8,7 +8,7 @@ schema1:Thing a sh:NodeShape ; sh:closed true ; - sh:ignoredProperties ( opencloning_linkml:addgene_sequence_type opencloning_linkml:sequence opencloning_linkml:description schema1:name opencloning_linkml:sequence_file_format opencloning_linkml:left_edge opencloning_linkml:type opencloning_linkml:restriction_enzymes opencloning_linkml:annotation_report opencloning_linkml:index_in_file opencloning_linkml:start opencloning_linkml:sequence_file_url opencloning_linkml:gene_id opencloning_linkml:assembly_accession opencloning_linkml:primer_design opencloning_linkml:image opencloning_linkml:options rdf:type opencloning_linkml:reaction_type opencloning_linkml:annotation_tool opencloning_linkml:category_id opencloning_linkml:circular opencloning_linkml:repository_id opencloning_linkml:sequence_accession schema1:object opencloning_linkml:annotation_tool_version opencloning_linkml:greedy opencloning_linkml:file_name opencloning_linkml:overhang_crick_3prime opencloning_linkml:user_input opencloning_linkml:end opencloning_linkml:output_name opencloning_linkml:coordinates opencloning_linkml:locus_tag opencloning_linkml:circularize opencloning_linkml:strand opencloning_linkml:right_edge opencloning_linkml:file_content opencloning_linkml:title opencloning_linkml:repository_name opencloning_linkml:add_primer_features opencloning_linkml:overhang_watson_3prime ) ; + sh:ignoredProperties ( opencloning_linkml:description opencloning_linkml:repository_name opencloning_linkml:reaction_type opencloning_linkml:sequence opencloning_linkml:type schema1:object opencloning_linkml:greedy opencloning_linkml:options rdf:type opencloning_linkml:coordinates schema1:name opencloning_linkml:sequence_accession opencloning_linkml:overhang_watson_3prime opencloning_linkml:end opencloning_linkml:strand opencloning_linkml:annotation_tool_version opencloning_linkml:user_input opencloning_linkml:repository_id opencloning_linkml:annotation_report opencloning_linkml:add_primer_features opencloning_linkml:gene_id opencloning_linkml:index_in_file opencloning_linkml:left_edge opencloning_linkml:annotation_tool opencloning_linkml:output_name opencloning_linkml:sequence_file_format opencloning_linkml:category_id opencloning_linkml:primer_design opencloning_linkml:file_name opencloning_linkml:restriction_enzymes opencloning_linkml:assembly_accession opencloning_linkml:circularize opencloning_linkml:start opencloning_linkml:title opencloning_linkml:addgene_sequence_type opencloning_linkml:locus_tag opencloning_linkml:sequence_file_url opencloning_linkml:file_content opencloning_linkml:right_edge opencloning_linkml:overhang_crick_3prime opencloning_linkml:circular opencloning_linkml:image ) ; sh:property [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -21,22 +21,30 @@ opencloning_linkml:AddgeneIdSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is identified by an Addgene id" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class schema1:Role ; + sh:property [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path opencloning_linkml:output_name ], + [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 7 ; sh:path schema1:object ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 3 ; - sh:path opencloning_linkml:repository_name ], [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path opencloning_linkml:output_name ], + sh:order 4 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 8 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "The id of the sequence in the repository" ; sh:maxCount 1 ; @@ -50,17 +58,6 @@ opencloning_linkml:AddgeneIdSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 6 ; sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 8 ; - sh:path schema1:identifier ], - [ sh:in ( "depositor-full" "addgene-full" ) ; - sh:maxCount 1 ; - sh:order 1 ; - sh:path opencloning_linkml:addgene_sequence_type ], [ sh:datatype xsd:string ; sh:description "The URL of a sequence file" ; sh:maxCount 1 ; @@ -68,79 +65,85 @@ opencloning_linkml:AddgeneIdSource a sh:NodeShape ; sh:order 0 ; sh:path opencloning_linkml:sequence_file_url ; sh:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + [ sh:in ( "depositor-full" "addgene-full" ) ; sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:type ] ; + sh:order 1 ; + sh:path opencloning_linkml:addgene_sequence_type ], + [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 3 ; + sh:path opencloning_linkml:repository_name ] ; sh:targetClass opencloning_linkml:AddgeneIdSource . opencloning_linkml:AnnotationSource a sh:NodeShape ; sh:closed true ; sh:description "Represents a computational step in which sequence features are annotated in a sequence" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 6 ; - sh:path schema1:object ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:property [ sh:in ( "plannotate" ) ; sh:maxCount 1 ; sh:minCount 1 ; + sh:order 0 ; + sh:path opencloning_linkml:annotation_tool ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path schema1:identifier ], + sh:order 3 ; + sh:path opencloning_linkml:type ], [ sh:class opencloning_linkml:AnnotationReport ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 2 ; sh:path opencloning_linkml:annotation_report ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ], - [ sh:in ( "plannotate" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path opencloning_linkml:annotation_tool ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path opencloning_linkml:output_name ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 6 ; + sh:path schema1:object ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "The version of the annotation tool" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:annotation_tool_version ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:type ] ; + sh:order 7 ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:AnnotationSource . opencloning_linkml:AssemblyFragment a sh:NodeShape ; sh:closed true ; sh:description "Represents a fragment in an assembly" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "Whether the sequence is reverse complemented in the assembly" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:reverse_complemented ], + [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:type ], - [ sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:right_location ], [ sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; @@ -152,20 +155,35 @@ opencloning_linkml:AssemblyFragment a sh:NodeShape ; sh:nodeKind sh:IRI ; sh:order 4 ; sh:path opencloning_linkml:sequence ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the sequence is reverse complemented in the assembly" ; - sh:maxCount 1 ; - sh:minCount 1 ; + [ sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:reverse_complemented ] ; + sh:order 1 ; + sh:path opencloning_linkml:right_location ] ; sh:targetClass opencloning_linkml:AssemblyFragment . opencloning_linkml:AssemblySource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is an assembly of other sequences" ; - sh:ignoredProperties ( opencloning_linkml:greedy rdf:type opencloning_linkml:reaction_type opencloning_linkml:restriction_enzymes opencloning_linkml:add_primer_features ) ; - sh:property [ sh:datatype xsd:string ; + sh:ignoredProperties ( opencloning_linkml:restriction_enzymes opencloning_linkml:reaction_type opencloning_linkml:add_primer_features opencloning_linkml:greedy rdf:type ) ; + sh:property [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -177,30 +195,12 @@ opencloning_linkml:AssemblySource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:type ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ], [ sh:datatype xsd:boolean ; sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; - sh:path opencloning_linkml:circular ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path schema1:identifier ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ] ; + sh:path opencloning_linkml:circular ] ; sh:targetClass opencloning_linkml:AssemblySource . opencloning_linkml:BenchlingUrlSource a sh:NodeShape ; @@ -214,49 +214,62 @@ opencloning_linkml:BenchlingUrlSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 6 ; sh:path schema1:identifier ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 5 ; - sh:path schema1:object ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path schema1:identifier ], + sh:order 2 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:description "The url of the gb file associated with the sequence" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:output_name ], + sh:order 0 ; + sh:path opencloning_linkml:repository_id ; + sh:pattern "^https:\\/\\/benchling\\.com\\/.+\\.gb$" ], [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 1 ; sh:path opencloning_linkml:repository_name ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:type ], + sh:order 4 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; - sh:description "The url of the gb file associated with the sequence" ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:repository_id ; - sh:pattern "^https:\\/\\/benchling\\.com\\/.+\\.gb$" ] ; + sh:order 3 ; + sh:path opencloning_linkml:output_name ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 5 ; + sh:path schema1:object ] ; sh:targetClass opencloning_linkml:BenchlingUrlSource . opencloning_linkml:CRISPRSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by CRISPR" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; + sh:property [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -278,64 +291,51 @@ opencloning_linkml:CRISPRSource a sh:NodeShape ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 4 ; - sh:path schema1:object ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ] ; + sh:path schema1:object ] ; sh:targetClass opencloning_linkml:CRISPRSource . opencloning_linkml:CloningStrategy a sh:NodeShape ; sh:closed true ; sh:description "Represents a cloning strategy" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "The version of the frontend that was used to generate this cloning strategy" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path opencloning_linkml:frontend_version ], - [ sh:description "The version of the schema that was used to generate this cloning strategy" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path opencloning_linkml:schema_version ], - [ sh:class schema1:CreateAction ; + sh:property [ sh:class schema1:CreateAction ; sh:description "The sources of the sequences that are used in the cloning strategy" ; sh:minCount 1 ; sh:nodeKind sh:IRI ; sh:order 1 ; sh:path opencloning_linkml:sources ], - [ sh:class opencloning_linkml:AssociatedFile ; - sh:description "Files associated with this cloning strategy" ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path opencloning_linkml:files ], - [ sh:class bioschemas:DNA ; - sh:description "The sequences that are used in the cloning strategy" ; - sh:minCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 0 ; - sh:path opencloning_linkml:sequences ], [ sh:description "The version of the backend that was used to generate this cloning strategy" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 6 ; sh:path opencloning_linkml:backend_version ], + [ sh:description "The version of the frontend that was used to generate this cloning strategy" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 7 ; + sh:path opencloning_linkml:frontend_version ], [ sh:datatype xsd:string ; sh:description "A description of the cloning strategy" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:description ], + [ sh:description "The version of the schema that was used to generate this cloning strategy" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path opencloning_linkml:schema_version ], + [ sh:class bioschemas:DNA ; + sh:description "The sequences that are used in the cloning strategy" ; + sh:minCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 0 ; + sh:path opencloning_linkml:sequences ], + [ sh:class opencloning_linkml:AssociatedFile ; + sh:description "Files associated with this cloning strategy" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path opencloning_linkml:files ], [ sh:class opencloning_linkml:Primer ; sh:description "The primers that are used in the cloning strategy" ; sh:nodeKind sh:IRI ; @@ -347,22 +347,22 @@ opencloning_linkml:CollectionSource a sh:NodeShape ; sh:closed true ; sh:description "Represents a collection of possible sources in a template" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class opencloning_linkml:CollectionOption ; - sh:description "The options available in this category." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path opencloning_linkml:options ], + sh:property [ sh:datatype xsd:string ; + sh:description "URL and size of the image representing this category. For images with size specification, this is a list with two elements: [url, size]." ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:image ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path opencloning_linkml:type ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + [ sh:class opencloning_linkml:CollectionOption ; + sh:description "The options available in this category." ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 8 ; - sh:path schema1:object ], + sh:order 4 ; + sh:path opencloning_linkml:options ], [ sh:datatype xsd:string ; sh:description "The title of the category" ; sh:maxCount 1 ; @@ -370,12 +370,6 @@ opencloning_linkml:CollectionSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:title ], - [ sh:datatype xsd:string ; - sh:description "The identifier of the category of the part in the template" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:category_id ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -395,17 +389,23 @@ opencloning_linkml:CollectionSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:description ], - [ sh:datatype xsd:string ; - sh:description "URL and size of the image representing this category. For images with size specification, this is a list with two elements: [url, size]." ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:image ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 7 ; - sh:path schema1:identifier ] ; + sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "The identifier of the category of the part in the template" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:category_id ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 8 ; + sh:path schema1:object ] ; sh:targetClass opencloning_linkml:CollectionSource . opencloning_linkml:CreLoxRecombinationSource a sh:NodeShape ; @@ -413,12 +413,6 @@ opencloning_linkml:CreLoxRecombinationSource a sh:NodeShape ; sh:description "Represents the source of a sequence that is generated by Cre - Lox recombination" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -431,6 +425,17 @@ opencloning_linkml:CreLoxRecombinationSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:output_name ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ], [ sh:datatype xsd:boolean ; sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; @@ -442,12 +447,7 @@ opencloning_linkml:CreLoxRecombinationSource a sh:NodeShape ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; - sh:path schema1:identifier ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ] ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:CreLoxRecombinationSource . opencloning_linkml:DatabaseSource a sh:NodeShape ; @@ -460,6 +460,17 @@ opencloning_linkml:DatabaseSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:type ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 3 ; + sh:path schema1:object ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; @@ -467,31 +478,33 @@ opencloning_linkml:DatabaseSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path schema1:identifier ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 3 ; - sh:path schema1:object ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 4 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ] ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:DatabaseSource . opencloning_linkml:EuroscarfSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence from the Euroscarf plasmid library" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; + sh:property [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 5 ; + sh:path schema1:object ], + [ sh:datatype xsd:string ; + sh:description "The id of the plasmid in the Euroscarf plasmid library" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:repository_id ; + sh:pattern "^P\\d+$" ], + [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; @@ -503,37 +516,24 @@ opencloning_linkml:EuroscarfSource a sh:NodeShape ; sh:minCount 1 ; sh:order 1 ; sh:path opencloning_linkml:repository_name ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:string ; - sh:description "The id of the plasmid in the Euroscarf plasmid library" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:repository_id ; - sh:pattern "^P\\d+$" ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; - sh:path opencloning_linkml:output_name ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 5 ; - sh:path schema1:object ] ; + sh:path opencloning_linkml:output_name ] ; sh:targetClass opencloning_linkml:EuroscarfSource . opencloning_linkml:GatewaySource a sh:NodeShape ; @@ -541,83 +541,77 @@ opencloning_linkml:GatewaySource a sh:NodeShape ; sh:description "Represents the source of a sequence that is generated by Gateway cloning" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:circular ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:description "Whether to use a greedy consensus sequence for att sites (see https://github.com/manulera/GateWayMine)" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path schema1:identifier ], + sh:order 1 ; + sh:path opencloning_linkml:greedy ], [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:output_name ], + sh:order 3 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path schema1:identifier ], - [ sh:datatype xsd:boolean ; - sh:description "Whether to use a greedy consensus sequence for att sites (see https://github.com/manulera/GateWayMine)" ; + [ sh:in ( "LR" "BP" ) ; sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:greedy ], + sh:minCount 1 ; + sh:order 0 ; + sh:path opencloning_linkml:reaction_type ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 6 ; sh:path schema1:object ], - [ sh:in ( "LR" "BP" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path opencloning_linkml:reaction_type ], [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:type ] ; + sh:order 4 ; + sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:circular ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 7 ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:GatewaySource . opencloning_linkml:GenomeCoordinatesSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is identified by genome coordinates, requested from NCBI" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 9 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; - sh:description "The starting coordinate (1-based) of the sequence in the sequence accession" ; + sh:property [ sh:datatype xsd:string ; + sh:description "The accession of the sequence" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:start ], - [ sh:datatype xsd:string ; - sh:description "The locus tag of the sequence" ; + sh:order 1 ; + sh:path opencloning_linkml:sequence_accession ], + [ sh:datatype xsd:integer ; + sh:description "The ending coordinate (1-based) of the sequence in the sequence accession" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:locus_tag ], + sh:order 5 ; + sh:path opencloning_linkml:end ], [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 11 ; + sh:order 9 ; sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; @@ -626,12 +620,23 @@ opencloning_linkml:GenomeCoordinatesSource a sh:NodeShape ; sh:order 7 ; sh:path opencloning_linkml:type ], [ sh:datatype xsd:string ; - sh:description "The accession of the sequence" ; + sh:description "The locus tag of the sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:locus_tag ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 10 ; + sh:path schema1:object ], + [ sh:datatype xsd:integer ; + sh:description "The starting coordinate (1-based) of the sequence in the sequence accession" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:sequence_accession ], + sh:order 4 ; + sh:path opencloning_linkml:start ], [ sh:datatype xsd:integer ; sh:description "The gene id of the sequence" ; sh:maxCount 1 ; @@ -644,11 +649,6 @@ opencloning_linkml:GenomeCoordinatesSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:assembly_accession ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 10 ; - sh:path schema1:object ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; @@ -656,19 +656,19 @@ opencloning_linkml:GenomeCoordinatesSource a sh:NodeShape ; sh:order 8 ; sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:integer ; - sh:description "The ending coordinate (1-based) of the sequence in the sequence accession" ; + sh:description "The strand of the sequence in the sequence accession, should be 1 or -1" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path opencloning_linkml:end ], + sh:order 6 ; + sh:path opencloning_linkml:strand ], [ sh:datatype xsd:integer ; - sh:description "The strand of the sequence in the sequence accession, should be 1 or -1" ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path opencloning_linkml:strand ] ; + sh:order 11 ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:GenomeCoordinatesSource . opencloning_linkml:GibsonAssemblySource a sh:NodeShape ; @@ -676,12 +676,6 @@ opencloning_linkml:GibsonAssemblySource a sh:NodeShape ; sh:description "Represents the source of a sequence that is generated by Gibson assembly" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -692,6 +686,19 @@ opencloning_linkml:GibsonAssemblySource a sh:NodeShape ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 4 ; sh:path schema1:object ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path schema1:identifier ], [ sh:datatype xsd:boolean ; sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; @@ -703,13 +710,6 @@ opencloning_linkml:GibsonAssemblySource a sh:NodeShape ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:GibsonAssemblySource . @@ -717,12 +717,12 @@ opencloning_linkml:HomologousRecombinationSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by homologous recombination" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; + sh:property [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ], + sh:order 1 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -730,24 +730,24 @@ opencloning_linkml:HomologousRecombinationSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path schema1:identifier ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path schema1:identifier ], + sh:order 0 ; + sh:path opencloning_linkml:circular ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; @@ -764,64 +764,58 @@ opencloning_linkml:IGEMSource a sh:NodeShape ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 6 ; sh:path schema1:object ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path schema1:identifier ], [ sh:datatype xsd:string ; - sh:description "The URL of the sequence file, for now github repository" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:sequence_file_url ; - sh:pattern "^.*.gb$" ], - [ sh:datatype xsd:string ; - sh:description "The unique identifier of the sequence in the iGEM collection (for now, {part_id}-{plasmid_backbone}) pattern: ^[^-]*-[^-]$" ; + sh:description "The unique identifier of the sequence in the iGEM collection (for now, {part_id}-{plasmid_backbone}) pattern: ^[^-]+-[^-]+$" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:repository_id ], [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:output_name ], + sh:order 3 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:type ], + sh:order 7 ; + sh:path schema1:identifier ], [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 2 ; - sh:path opencloning_linkml:repository_name ] ; + sh:path opencloning_linkml:repository_name ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:string ; + sh:description "The URL of the sequence file, for now github repository" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:sequence_file_url ; + sh:pattern "^.*.gb$" ] ; sh:targetClass opencloning_linkml:IGEMSource . opencloning_linkml:InFusionSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by In-Fusion cloning by Takara Bio" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ], - [ sh:class schema1:Role ; + sh:property [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 4 ; @@ -833,6 +827,18 @@ opencloning_linkml:InFusionSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:boolean ; sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; @@ -844,26 +850,14 @@ opencloning_linkml:InFusionSource a sh:NodeShape ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ] ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:InFusionSource . opencloning_linkml:InVivoAssemblySource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by in vivo assembly. Algorithmically equivalent to Gibson assembly." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:integer ; + sh:property [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -876,18 +870,24 @@ opencloning_linkml:InVivoAssemblySource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path schema1:identifier ], + [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:circular ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:type ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ], + sh:order 2 ; + sh:path opencloning_linkml:output_name ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; @@ -899,23 +899,23 @@ opencloning_linkml:LigationSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by ligation with sticky or blunt ends." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ], + sh:order 0 ; + sh:path opencloning_linkml:circular ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 4 ; sh:path schema1:object ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path schema1:identifier ], + sh:order 2 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -929,48 +929,47 @@ opencloning_linkml:LigationSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:type ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ] ; + sh:order 3 ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:LigationSource . opencloning_linkml:ManuallyTypedSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is manually typed by the user" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; + sh:property [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 6 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path opencloning_linkml:type ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 7 ; - sh:path schema1:object ], [ sh:datatype xsd:integer ; sh:description "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" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:overhang_crick_3prime ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the sequence is circular or not" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:circular ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 8 ; - sh:path schema1:identifier ], + sh:order 5 ; + sh:path opencloning_linkml:output_name ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 7 ; + sh:path schema1:object ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:minCount 1 ; @@ -978,12 +977,12 @@ opencloning_linkml:ManuallyTypedSource a sh:NodeShape ; sh:order 2 ; sh:path opencloning_linkml:user_input ; sh:pattern "^[acgtACGT]+$" ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + [ sh:datatype xsd:boolean ; + sh:description "Whether the sequence is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path opencloning_linkml:output_name ], + sh:order 3 ; + sh:path opencloning_linkml:circular ], [ sh:datatype xsd:integer ; sh:description "The equivalent of `overhang_crick_3prime` but for the watson strand" ; sh:maxCount 1 ; @@ -991,10 +990,11 @@ opencloning_linkml:ManuallyTypedSource a sh:NodeShape ; sh:order 1 ; sh:path opencloning_linkml:overhang_watson_3prime ], [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; + sh:order 8 ; sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:ManuallyTypedSource . @@ -1002,31 +1002,19 @@ opencloning_linkml:OligoHybridizationSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by oligo hybridization" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:property [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ], + sh:order 5 ; + sh:path schema1:identifier ], [ sh:datatype xsd:integer ; sh:description "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" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:overhang_crick_3prime ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; @@ -1037,26 +1025,26 @@ opencloning_linkml:OligoHybridizationSource a sh:NodeShape ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; - sh:path opencloning_linkml:type ] ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:OligoHybridizationSource . opencloning_linkml:OpenDNACollectionsSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence from the Open DNA collections" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:type ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; + sh:property [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 2 ; @@ -1068,14 +1056,7 @@ opencloning_linkml:OpenDNACollectionsSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:repository_id ; - sh:pattern "^[^/]*\\/[^/]$" ], - [ sh:datatype xsd:string ; - sh:description "The URL of a sequence file" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:sequence_file_url ; - sh:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ], + sh:pattern "^[^\\/]+\\/[^\\/]+$" ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -1083,6 +1064,18 @@ opencloning_linkml:OpenDNACollectionsSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 7 ; sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; @@ -1093,31 +1086,43 @@ opencloning_linkml:OpenDNACollectionsSource a sh:NodeShape ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 6 ; - sh:path schema1:object ] ; + sh:path schema1:object ], + [ sh:datatype xsd:string ; + sh:description "The URL of a sequence file" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:sequence_file_url ; + sh:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ; sh:targetClass opencloning_linkml:OpenDNACollectionsSource . opencloning_linkml:OverlapExtensionPCRLigationSource a sh:NodeShape ; sh:closed true ; sh:description "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." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path schema1:identifier ], + sh:property [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path schema1:object ], [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ], + sh:order 2 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:boolean ; sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:circular ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -1125,46 +1130,24 @@ opencloning_linkml:OverlapExtensionPCRLigationSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path schema1:identifier ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 4 ; - sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ] ; + sh:order 3 ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:OverlapExtensionPCRLigationSource . opencloning_linkml:PCRSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by PCR" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 5 ; - sh:path schema1:object ], - [ sh:datatype xsd:boolean ; + sh:property [ sh:datatype xsd:boolean ; sh:description "Whether to add primer features to the PCR product" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:add_primer_features ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:circular ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -1172,18 +1155,35 @@ opencloning_linkml:PCRSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 6 ; sh:path schema1:identifier ], + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:type ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 5 ; + sh:path schema1:object ], + [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path schema1:identifier ] ; + sh:order 1 ; + sh:path opencloning_linkml:circular ] ; sh:targetClass opencloning_linkml:PCRSource . opencloning_linkml:PlannotateAnnotationReport a sh:NodeShape ; @@ -1199,63 +1199,63 @@ opencloning_linkml:PlannotateAnnotationReport a sh:NodeShape ; [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 10 ; - sh:path opencloning_linkml:Feature ], + sh:order 13 ; + sh:path opencloning_linkml:sequence ], [ sh:datatype xsd:float ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path opencloning_linkml:percent_identity ], - [ sh:datatype xsd:integer ; + [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path opencloning_linkml:full_length_of_feature_in_db ], - [ sh:datatype xsd:float ; + sh:order 12 ; + sh:path opencloning_linkml:Description ], + [ sh:datatype xsd:boolean ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path opencloning_linkml:percent_match_length ], + sh:order 8 ; + sh:path opencloning_linkml:fragment ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:sseqid ], + [ sh:datatype xsd:float ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 7 ; + sh:path opencloning_linkml:percent_match_length ], + [ sh:datatype xsd:integer ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:strand ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 11 ; sh:path opencloning_linkml:Type ], - [ sh:datatype xsd:string ; + [ sh:datatype xsd:integer ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 12 ; - sh:path opencloning_linkml:Description ], + sh:order 6 ; + sh:path opencloning_linkml:length_of_found_feature ], [ sh:datatype xsd:integer ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:start_location ], - [ sh:datatype xsd:boolean ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 8 ; - sh:path opencloning_linkml:fragment ], - [ sh:datatype xsd:integer ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:end_location ], [ sh:datatype xsd:integer ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path opencloning_linkml:length_of_found_feature ], + sh:order 5 ; + sh:path opencloning_linkml:full_length_of_feature_in_db ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 13 ; - sh:path opencloning_linkml:sequence ], + sh:order 10 ; + sh:path opencloning_linkml:Feature ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -1264,8 +1264,8 @@ opencloning_linkml:PlannotateAnnotationReport a sh:NodeShape ; [ sh:datatype xsd:integer ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:strand ] ; + sh:order 2 ; + sh:path opencloning_linkml:end_location ] ; sh:targetClass opencloning_linkml:PlannotateAnnotationReport . opencloning_linkml:PolymeraseExtensionSource a sh:NodeShape ; @@ -1273,6 +1273,12 @@ opencloning_linkml:PolymeraseExtensionSource a sh:NodeShape ; sh:description "Represents the source of a sequence that is generated by polymerase extension" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -1284,60 +1290,36 @@ opencloning_linkml:PolymeraseExtensionSource a sh:NodeShape ; sh:order 3 ; sh:path schema1:object ], [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; + sh:order 2 ; sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; + sh:order 4 ; sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:PolymeraseExtensionSource . -opencloning_linkml:RepositoryIdSource a sh:NodeShape ; - sh:closed true ; - sh:description "Represents the source of a sequence that is identified by a repository id" ; - sh:ignoredProperties ( opencloning_linkml:addgene_sequence_type rdf:type opencloning_linkml:sequence_file_url ) ; - sh:property [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 5 ; - sh:path schema1:object ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:integer ; +opencloning_linkml:RepositoryIdSource a sh:NodeShape ; + sh:closed true ; + sh:description "Represents the source of a sequence that is identified by a repository id" ; + sh:ignoredProperties ( opencloning_linkml:sequence_file_url rdf:type opencloning_linkml:addgene_sequence_type ) ; + sh:property [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path schema1:identifier ], [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:string ; - sh:description "The id of the sequence in the repository" ; + sh:description "Designates the class" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:repository_id ], + sh:order 2 ; + sh:path opencloning_linkml:type ], [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; sh:maxCount 1 ; sh:minCount 1 ; @@ -1349,67 +1331,79 @@ opencloning_linkml:RepositoryIdSource a sh:NodeShape ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 6 ; - sh:path schema1:identifier ] ; + sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "The id of the sequence in the repository" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:repository_id ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:output_name ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 5 ; + sh:path schema1:object ] ; sh:targetClass opencloning_linkml:RepositoryIdSource . opencloning_linkml:RestrictionAndLigationSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is generated by restriction and ligation" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "Whether the assembly is circular or not" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:circular ], + [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:output_name ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 5 ; + sh:path schema1:object ], [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; + sh:order 4 ; sh:path schema1:identifier ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:circular ], + sh:order 2 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:string ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:restriction_enzymes ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path schema1:identifier ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 5 ; - sh:path schema1:object ] ; + sh:order 6 ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:RestrictionAndLigationSource . opencloning_linkml:RestrictionEnzymeDigestionSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is a subfragment of another sequence, generated by sequence cutting using restriction enzymes." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:type ], - [ sh:class opencloning_linkml:RestrictionSequenceCut ; + sh:property [ sh:class opencloning_linkml:RestrictionSequenceCut ; sh:maxCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 1 ; @@ -1419,6 +1413,18 @@ opencloning_linkml:RestrictionEnzymeDigestionSource a sh:NodeShape ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 5 ; sh:path schema1:object ], + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; @@ -1430,12 +1436,6 @@ opencloning_linkml:RestrictionEnzymeDigestionSource a sh:NodeShape ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 0 ; sh:path opencloning_linkml:left_edge ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -1455,12 +1455,6 @@ opencloning_linkml:ReverseComplementSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:type ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; @@ -1478,50 +1472,54 @@ opencloning_linkml:ReverseComplementSource a sh:NodeShape ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; - sh:path schema1:identifier ] ; + sh:path schema1:identifier ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:type ] ; sh:targetClass opencloning_linkml:ReverseComplementSource . opencloning_linkml:SEVASource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is identified by a SEVA id" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + sh:property [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:output_name ], + sh:order 5 ; + sh:path schema1:identifier ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 6 ; sh:path schema1:object ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path schema1:identifier ], + sh:order 3 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:string ; - sh:description "The URL of the sequence file, which can refer to a a gb file hosted on the SEVA website or an entry in the NCBI." ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:sequence_file_url ; - sh:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ], + sh:order 4 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; + sh:order 7 ; sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:type ], + sh:minCount 1 ; + sh:order 2 ; + sh:path opencloning_linkml:repository_name ], [ sh:datatype xsd:string ; sh:description "The SEVA plasmid name" ; sh:maxCount 1 ; @@ -1530,11 +1528,13 @@ opencloning_linkml:SEVASource a sh:NodeShape ; sh:order 1 ; sh:path opencloning_linkml:repository_id ; sh:pattern "^pSEVA\\d+.*$" ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; + [ sh:datatype xsd:string ; + sh:description "The URL of the sequence file, which can refer to a a gb file hosted on the SEVA website or an entry in the NCBI." ; sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 2 ; - sh:path opencloning_linkml:repository_name ] ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:sequence_file_url ; + sh:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ] ; sh:targetClass opencloning_linkml:SEVASource . opencloning_linkml:SequenceCutSource a sh:NodeShape ; @@ -1542,29 +1542,28 @@ opencloning_linkml:SequenceCutSource a sh:NodeShape ; sh:description "Represents the source of a sequence that is a subfragment of another sequence, generated by sequence cutting." ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; + sh:order 6 ; sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:output_name ], + sh:order 4 ; + sh:path schema1:identifier ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 5 ; sh:path schema1:object ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + [ sh:class opencloning_linkml:SequenceCut ; sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path schema1:identifier ], + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 0 ; + sh:path opencloning_linkml:left_edge ], [ sh:class opencloning_linkml:SequenceCut ; sh:maxCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; @@ -1576,24 +1575,24 @@ opencloning_linkml:SequenceCutSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 2 ; sh:path opencloning_linkml:type ], - [ sh:class opencloning_linkml:SequenceCut ; + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 0 ; - sh:path opencloning_linkml:left_edge ] ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:output_name ] ; sh:targetClass opencloning_linkml:SequenceCutSource . opencloning_linkml:SequencingFile a sh:NodeShape ; sh:closed true ; sh:description "Represents a sequencing file and its alignment to a sequence" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class bioschemas:DNA ; - sh:description "The sequence this file is associated with" ; + sh:property [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 2 ; - sh:path opencloning_linkml:sequence_id ], + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:string ; sh:description "The name of the file" ; sh:maxCount 1 ; @@ -1601,12 +1600,6 @@ opencloning_linkml:SequencingFile a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:file_name ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:type ], [ sh:description "The type of file" ; sh:in ( NCIT:C171177 ) ; sh:maxCount 1 ; @@ -1618,7 +1611,14 @@ opencloning_linkml:SequencingFile a sh:NodeShape ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; - sh:path opencloning_linkml:alignment ] ; + sh:path opencloning_linkml:alignment ], + [ sh:class bioschemas:DNA ; + sh:description "The sequence this file is associated with" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 2 ; + sh:path opencloning_linkml:sequence_id ] ; sh:targetClass opencloning_linkml:SequencingFile . opencloning_linkml:SnapGenePlasmidSource a sh:NodeShape ; @@ -1626,55 +1626,61 @@ opencloning_linkml:SnapGenePlasmidSource a sh:NodeShape ; sh:description "Represents the source of a sequence from the SnapGene plasmid library identified by a SnapGene subpath of https://www.snapgene.com/plasmids/" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:string ; sh:description "The subpath of the plasmid in the SnapGene plasmid library. Requesting the plasmid is possible with https://www.snapgene.com/local/fetch.php?set={category_path}&plasmid={plasmid['subpath']} where category_path is the left part of the subpath before the first / and plasmid is the subpath after the /." ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:repository_id ; - sh:pattern "^[^/]*\\/[^/]$" ], + sh:pattern "^[^\\/]+\\/[^\\/]+$" ], [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 1 ; sh:path opencloning_linkml:repository_name ], [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; + sh:order 6 ; sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:type ], + sh:order 4 ; + sh:path schema1:identifier ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 5 ; sh:path schema1:object ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path schema1:identifier ] ; + sh:order 3 ; + sh:path opencloning_linkml:output_name ] ; sh:targetClass opencloning_linkml:SnapGenePlasmidSource . opencloning_linkml:TemplateSequence a sh:NodeShape ; sh:closed true ; sh:description "Represents a sequence that is part of a template, where the actual sequence content will be determined by the user's actions" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "Whether the sequence is circular or linear" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:circular ], + [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; @@ -1692,13 +1698,7 @@ opencloning_linkml:TemplateSequence a sh:NodeShape ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 3 ; - sh:path opencloning_linkml:type ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the sequence is circular or linear" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:circular ] ; + sh:path opencloning_linkml:type ] ; sh:targetClass opencloning_linkml:TemplateSequence . opencloning_linkml:TextFileSequence a sh:NodeShape ; @@ -1712,12 +1712,12 @@ opencloning_linkml:TextFileSequence a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path schema1:identifier ], - [ sh:description "The format of a sequence file" ; - sh:in ( "fasta" "genbank" "snapgene" "embl" ) ; + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path opencloning_linkml:sequence_file_format ], + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; sh:description "The equivalent of `overhang_crick_3prime` but for the watson strand" ; sh:maxCount 1 ; @@ -1725,52 +1725,40 @@ opencloning_linkml:TextFileSequence a sh:NodeShape ; sh:order 2 ; sh:path opencloning_linkml:overhang_watson_3prime ], [ sh:datatype xsd:string ; - sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 5 ; - sh:path opencloning_linkml:type ], + sh:order 3 ; + sh:path opencloning_linkml:file_content ], [ sh:datatype xsd:integer ; sh:description "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" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:overhang_crick_3prime ], - [ sh:datatype xsd:string ; + [ sh:description "The format of a sequence file" ; + sh:in ( "fasta" "genbank" "snapgene" "embl" ) ; sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:file_content ] ; + sh:minCount 1 ; + sh:order 0 ; + sh:path opencloning_linkml:sequence_file_format ] ; sh:targetClass opencloning_linkml:TextFileSequence . opencloning_linkml:UploadedFileSource a sh:NodeShape ; sh:closed true ; sh:description "Represents the source of a sequence that is uploaded as a file" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 9 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 7 ; - sh:path schema1:identifier ], - [ sh:description "If provided, coordinates within the sequence of the file to extract a subsequence" ; + sh:property [ sh:description "If provided, coordinates within the sequence of the file to extract a subsequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path opencloning_linkml:coordinates ], - [ sh:description "The format of a sequence file" ; - sh:in ( "fasta" "genbank" "snapgene" "embl" ) ; + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; - sh:order 0 ; - sh:path opencloning_linkml:sequence_file_format ], + sh:nodeKind sh:Literal ; + sh:order 9 ; + sh:path schema1:identifier ], [ sh:datatype xsd:integer ; sh:description "The index of the sequence in the file" ; sh:maxCount 1 ; @@ -1789,6 +1777,17 @@ opencloning_linkml:UploadedFileSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 5 ; sh:path opencloning_linkml:type ], + [ sh:description "The format of a sequence file" ; + sh:in ( "fasta" "genbank" "snapgene" "embl" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path opencloning_linkml:sequence_file_format ], + [ sh:class schema1:Role ; + sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 8 ; + sh:path schema1:object ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; @@ -1801,11 +1800,12 @@ opencloning_linkml:UploadedFileSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 3 ; sh:path opencloning_linkml:circularize ], - [ sh:class schema1:Role ; - sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 8 ; - sh:path schema1:object ] ; + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 7 ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:UploadedFileSource . opencloning_linkml:WekWikGeneIdSource a sh:NodeShape ; @@ -1817,12 +1817,31 @@ opencloning_linkml:WekWikGeneIdSource a sh:NodeShape ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 6 ; sh:path schema1:object ], + [ sh:datatype xsd:string ; + sh:description "The id of the gene in the WeKwikGene database" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:repository_id ; + sh:pattern "^\\d+$" ], + [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 2 ; + sh:path opencloning_linkml:repository_name ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path opencloning_linkml:output_name ], + [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -1837,37 +1856,18 @@ opencloning_linkml:WekWikGeneIdSource a sh:NodeShape ; sh:order 0 ; sh:path opencloning_linkml:sequence_file_url ; sh:pattern "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 5 ; - sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "The id of the gene in the WeKwikGene database" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:repository_id ; - sh:pattern "^\\d+$" ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 2 ; - sh:path opencloning_linkml:repository_name ] ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:WekWikGeneIdSource . opencloning_linkml:AnnotationReport a sh:NodeShape ; sh:closed true ; sh:description "Represents a report of an annotation step" ; - sh:ignoredProperties ( opencloning_linkml:end_location opencloning_linkml:percent_match_length opencloning_linkml:sequence rdf:type opencloning_linkml:Type opencloning_linkml:sseqid opencloning_linkml:Feature opencloning_linkml:percent_identity opencloning_linkml:start_location opencloning_linkml:strand opencloning_linkml:fragment opencloning_linkml:full_length_of_feature_in_db opencloning_linkml:database opencloning_linkml:length_of_found_feature opencloning_linkml:Description ) ; + sh:ignoredProperties ( opencloning_linkml:Type opencloning_linkml:full_length_of_feature_in_db opencloning_linkml:start_location opencloning_linkml:sseqid opencloning_linkml:percent_match_length opencloning_linkml:Description opencloning_linkml:strand opencloning_linkml:length_of_found_feature opencloning_linkml:Feature rdf:type opencloning_linkml:fragment opencloning_linkml:percent_identity opencloning_linkml:end_location opencloning_linkml:sequence opencloning_linkml:database ) ; sh:property [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -1880,32 +1880,32 @@ opencloning_linkml:AssociatedFile a sh:NodeShape ; sh:closed true ; sh:description "Represents a file associated with a sequence" ; sh:ignoredProperties ( rdf:type opencloning_linkml:alignment ) ; - sh:property [ sh:class bioschemas:DNA ; + sh:property [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:type ], + [ sh:class bioschemas:DNA ; sh:description "The sequence this file is associated with" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:IRI ; sh:order 1 ; sh:path opencloning_linkml:sequence_id ], - [ sh:description "The type of file" ; - sh:in ( NCIT:C171177 ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 3 ; - sh:path opencloning_linkml:file_type ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:type ], [ sh:datatype xsd:string ; sh:description "The name of the file" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; - sh:path opencloning_linkml:file_name ] ; + sh:path opencloning_linkml:file_name ], + [ sh:description "The type of file" ; + sh:in ( NCIT:C171177 ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 3 ; + sh:path opencloning_linkml:file_type ] ; sh:targetClass opencloning_linkml:AssociatedFile . opencloning_linkml:CollectionOption a sh:NodeShape ; @@ -1919,19 +1919,19 @@ opencloning_linkml:CollectionOption a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path schema1:name ], + [ sh:class opencloning_linkml:CollectionOptionInfo ; + sh:description "Additional information about this option" ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 2 ; + sh:path opencloning_linkml:info ], [ sh:class schema1:CreateAction ; sh:description "The source of the sequence for this option" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:IRI ; sh:order 1 ; - sh:path opencloning_linkml:source ], - [ sh:class opencloning_linkml:CollectionOptionInfo ; - sh:description "Additional information about this option" ; - sh:maxCount 1 ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 2 ; - sh:path opencloning_linkml:info ] ; + sh:path opencloning_linkml:source ] ; sh:targetClass opencloning_linkml:CollectionOption . opencloning_linkml:CollectionOptionInfo a sh:NodeShape ; @@ -1939,23 +1939,17 @@ opencloning_linkml:CollectionOptionInfo a sh:NodeShape ; sh:description "Additional information about a collection option" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:datatype xsd:string ; - sh:description "The antibiotic resistance of the plasmid" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:resistance ], - [ sh:datatype xsd:string ; sh:description "A human-readable name for a thing" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path schema1:name ], [ sh:datatype xsd:string ; - sh:description "The well position in the kit plate" ; + sh:description "The antibiotic resistance of the plasmid" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:well ], + sh:order 3 ; + sh:path opencloning_linkml:resistance ], [ sh:description "The type of the option, this is redundant with the type of the source, and could be removed." ; sh:in ( "OligoPair" "AddgenePlasmid" ) ; sh:maxCount 1 ; @@ -1966,20 +1960,25 @@ opencloning_linkml:CollectionOptionInfo a sh:NodeShape ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; - sh:path opencloning_linkml:description ] ; + sh:path opencloning_linkml:description ], + [ sh:datatype xsd:string ; + sh:description "The well position in the kit plate" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path opencloning_linkml:well ] ; sh:targetClass opencloning_linkml:CollectionOptionInfo . opencloning_linkml:Primer a sh:NodeShape ; sh:closed true ; sh:description "An oligonucleotide or primer" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:property [ sh:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path schema1:identifier ], + sh:order 4 ; + sh:path opencloning_linkml:type ], [ sh:datatype xsd:integer ; sh:description "The id of an entity in a database" ; sh:maxCount 1 ; @@ -1992,12 +1991,13 @@ opencloning_linkml:Primer a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path schema1:name ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + [ sh:datatype xsd:integer ; + sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:type ], + sh:order 3 ; + sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -2009,37 +2009,37 @@ opencloning_linkml:Primer a sh:NodeShape ; schema1:CreateAction a sh:NodeShape ; sh:closed false ; sh:description "Represents the source of a sequence" ; - sh:ignoredProperties ( opencloning_linkml:addgene_sequence_type opencloning_linkml:description opencloning_linkml:left_edge opencloning_linkml:sequence_file_format opencloning_linkml:restriction_enzymes opencloning_linkml:annotation_report opencloning_linkml:index_in_file opencloning_linkml:start opencloning_linkml:sequence_file_url opencloning_linkml:gene_id opencloning_linkml:assembly_accession opencloning_linkml:image opencloning_linkml:options rdf:type opencloning_linkml:reaction_type opencloning_linkml:annotation_tool opencloning_linkml:category_id opencloning_linkml:circular opencloning_linkml:repository_id opencloning_linkml:sequence_accession opencloning_linkml:annotation_tool_version opencloning_linkml:greedy opencloning_linkml:file_name opencloning_linkml:overhang_crick_3prime opencloning_linkml:user_input opencloning_linkml:end opencloning_linkml:coordinates opencloning_linkml:locus_tag opencloning_linkml:circularize opencloning_linkml:strand opencloning_linkml:right_edge opencloning_linkml:title opencloning_linkml:repository_name opencloning_linkml:add_primer_features opencloning_linkml:overhang_watson_3prime ) ; - sh:property [ sh:datatype xsd:integer ; + sh:ignoredProperties ( opencloning_linkml:description opencloning_linkml:repository_name opencloning_linkml:reaction_type opencloning_linkml:greedy opencloning_linkml:options rdf:type opencloning_linkml:coordinates opencloning_linkml:sequence_accession opencloning_linkml:overhang_watson_3prime opencloning_linkml:end opencloning_linkml:strand opencloning_linkml:annotation_tool_version opencloning_linkml:user_input opencloning_linkml:repository_id opencloning_linkml:annotation_report opencloning_linkml:add_primer_features opencloning_linkml:gene_id opencloning_linkml:index_in_file opencloning_linkml:left_edge opencloning_linkml:annotation_tool opencloning_linkml:sequence_file_format opencloning_linkml:category_id opencloning_linkml:file_name opencloning_linkml:restriction_enzymes opencloning_linkml:assembly_accession opencloning_linkml:circularize opencloning_linkml:start opencloning_linkml:title opencloning_linkml:addgene_sequence_type opencloning_linkml:locus_tag opencloning_linkml:sequence_file_url opencloning_linkml:right_edge opencloning_linkml:overhang_crick_3prime opencloning_linkml:circular opencloning_linkml:image ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:type ], + [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path schema1:identifier ], - [ sh:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:output_name ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; + [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:type ], + sh:order 2 ; + sh:path schema1:identifier ], [ sh:class schema1:Role ; sh:description "The inputs to this source. If the source represents external import of a sequence, it's empty." ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 3 ; sh:path schema1:object ], - [ sh:datatype xsd:integer ; - sh:description "The id of an entity in a database" ; + [ sh:datatype xsd:string ; + sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path schema1:identifier ] ; + sh:order 1 ; + sh:path opencloning_linkml:output_name ] ; sh:targetClass schema1:CreateAction . opencloning_linkml:RestrictionSequenceCut a sh:NodeShape ; @@ -2053,19 +2053,19 @@ opencloning_linkml:RestrictionSequenceCut a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:cut_watson ], - [ sh:datatype xsd:string ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:restriction_enzyme ], [ sh:datatype xsd:integer ; sh:description "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`." ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 2 ; - sh:path opencloning_linkml:overhang ] ; + sh:path opencloning_linkml:overhang ], + [ sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:restriction_enzyme ] ; sh:targetClass opencloning_linkml:RestrictionSequenceCut . opencloning_linkml:SequenceCut a sh:NodeShape ; @@ -2073,25 +2073,25 @@ opencloning_linkml:SequenceCut a sh:NodeShape ; sh:description "Represents a cut in a DNA sequence" ; sh:ignoredProperties ( opencloning_linkml:restriction_enzyme rdf:type ) ; sh:property [ sh:datatype xsd:integer ; - sh:description "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`." ; + sh:description "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." ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:overhang ], + sh:order 0 ; + sh:path opencloning_linkml:cut_watson ], [ sh:datatype xsd:integer ; - sh:description "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." ; + sh:description "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`." ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:cut_watson ] ; + sh:order 1 ; + sh:path opencloning_linkml:overhang ] ; sh:targetClass opencloning_linkml:SequenceCut . bioschemas:DNA a sh:NodeShape ; sh:closed false ; sh:description "Represents a sequence" ; - sh:ignoredProperties ( opencloning_linkml:sequence rdf:type opencloning_linkml:overhang_crick_3prime schema1:name opencloning_linkml:sequence_file_format opencloning_linkml:circular opencloning_linkml:file_content opencloning_linkml:overhang_watson_3prime opencloning_linkml:primer_design ) ; + sh:ignoredProperties ( opencloning_linkml:overhang_watson_3prime opencloning_linkml:sequence_file_format rdf:type opencloning_linkml:file_content opencloning_linkml:primer_design schema1:name opencloning_linkml:overhang_crick_3prime opencloning_linkml:circular opencloning_linkml:sequence ) ; sh:property [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -2110,18 +2110,18 @@ bioschemas:DNA a sh:NodeShape ; schema1:Role a sh:NodeShape ; sh:closed true ; sh:description "Represents an input to a source" ; - sh:ignoredProperties ( opencloning_linkml:right_location rdf:type opencloning_linkml:reverse_complemented opencloning_linkml:left_location ) ; - sh:property [ sh:class bioschemas:DNA ; + sh:ignoredProperties ( opencloning_linkml:right_location rdf:type opencloning_linkml:left_location opencloning_linkml:reverse_complemented ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path opencloning_linkml:type ], + [ sh:class bioschemas:DNA ; sh:description "The input sequence" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:IRI ; sh:order 1 ; - sh:path opencloning_linkml:sequence ], - [ sh:datatype xsd:string ; - sh:description "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:type ] ; + sh:path opencloning_linkml:sequence ] ; sh:targetClass schema1:Role . diff --git a/project/sqlschema/opencloning_linkml.sql b/project/sqlschema/opencloning_linkml.sql index c92de28..4b7bdb4 100644 --- a/project/sqlschema/opencloning_linkml.sql +++ b/project/sqlschema/opencloning_linkml.sql @@ -175,7 +175,7 @@ -- * Slot: id Description: A unique identifier for a thing -- # Class: "IGEMSource" Description: "Represents the source of a sequence from an iGEM collection" -- * Slot: sequence_file_url Description: The URL of the sequence file, for now github repository --- * Slot: repository_id Description: The unique identifier of the sequence in the iGEM collection (for now, {part_id}-{plasmid_backbone}) pattern: ^[^-]*-[^-]$ +-- * Slot: repository_id Description: The unique identifier of the sequence in the iGEM collection (for now, {part_id}-{plasmid_backbone}) pattern: ^[^-]+-[^-]+$ -- * Slot: repository_name Description: -- * Slot: type Description: Designates the class -- * Slot: output_name Description: Used to specify the name of the output sequence diff --git a/src/opencloning_linkml/datamodel/_models.py b/src/opencloning_linkml/datamodel/_models.py index 8323a08..a0ac6bf 100644 --- a/src/opencloning_linkml/datamodel/_models.py +++ b/src/opencloning_linkml/datamodel/_models.py @@ -1597,7 +1597,7 @@ class SnapGenePlasmidSource(RepositoryIdSource): "plasmid is the subpath after " "the /.", "name": "repository_id", - "pattern": "^[^/]*\\/[^/]$", + "pattern": "^[^\\/]+\\/[^\\/]+$", } }, } @@ -1661,7 +1661,7 @@ class SnapGenePlasmidSource(RepositoryIdSource): @field_validator("repository_id") def pattern_repository_id(cls, v): - pattern = re.compile(r"^[^/]*\/[^/]$") + pattern = re.compile(r"^[^\/]+\/[^\/]+$") if isinstance(v, list): for element in v: if isinstance(element, str) and not pattern.match(element): @@ -1775,7 +1775,7 @@ class IGEMSource(RepositoryIdSource): "sequence in the iGEM " "collection (for now, " "{part_id}-{plasmid_backbone}) " - "pattern: ^[^-]*-[^-]$", + "pattern: ^[^-]+-[^-]+$", "name": "repository_id", }, "sequence_file_url": { @@ -1806,7 +1806,7 @@ class IGEMSource(RepositoryIdSource): ) repository_id: str = Field( default=..., - description="""The unique identifier of the sequence in the iGEM collection (for now, {part_id}-{plasmid_backbone}) pattern: ^[^-]*-[^-]$""", + description="""The unique identifier of the sequence in the iGEM collection (for now, {part_id}-{plasmid_backbone}) pattern: ^[^-]+-[^-]+$""", json_schema_extra={"linkml_meta": {"alias": "repository_id", "domain_of": ["RepositoryIdSource"]}}, ) repository_name: RepositoryName = Field( @@ -1886,7 +1886,7 @@ class OpenDNACollectionsSource(RepositoryIdSource): "repository_id": { "description": "Subpath of the sequence in " "the Open DNA collections " "repository", "name": "repository_id", - "pattern": "^[^/]*\\/[^/]$", + "pattern": "^[^\\/]+\\/[^\\/]+$", } }, } @@ -1981,7 +1981,7 @@ def pattern_sequence_file_url(cls, v): @field_validator("repository_id") def pattern_repository_id(cls, v): - pattern = re.compile(r"^[^/]*\/[^/]$") + pattern = re.compile(r"^[^\/]+\/[^\/]+$") if isinstance(v, list): for element in v: if isinstance(element, str) and not pattern.match(element): diff --git a/src/opencloning_linkml/schema/opencloning_linkml.yaml b/src/opencloning_linkml/schema/opencloning_linkml.yaml index 0be3934..6e2e962 100644 --- a/src/opencloning_linkml/schema/opencloning_linkml.yaml +++ b/src/opencloning_linkml/schema/opencloning_linkml.yaml @@ -390,7 +390,7 @@ classes: The subpath of the plasmid in the SnapGene plasmid library. Requesting the plasmid is possible with https://www.snapgene.com/local/fetch.php?set={category_path}&plasmid={plasmid['subpath']} where category_path is the left part of the subpath before the first / and plasmid is the subpath after the /. - pattern: ^[^/]*\/[^/]$ + pattern: ^[^\/]+\/[^\/]+$ EuroscarfSource: is_a: RepositoryIdSource @@ -412,7 +412,7 @@ classes: repository_id: description: >- The unique identifier of the sequence in the iGEM collection (for now, {part_id}-{plasmid_backbone}) - pattern: ^[^-]*-[^-]$ + pattern: ^[^-]+-[^-]+$ sequence_file_url: required: true description: >- @@ -429,7 +429,7 @@ classes: repository_id: description: >- Subpath of the sequence in the Open DNA collections repository - pattern: ^[^/]*\/[^/]$ + pattern: ^[^\/]+\/[^\/]+$ GenomeCoordinatesSource: is_a: Source