From be05e627eb2d7d959c14012cf3ae66420a42ba41 Mon Sep 17 00:00:00 2001 From: Manuel Lera-Ramirez Date: Wed, 26 Nov 2025 10:37:24 +0000 Subject: [PATCH] remove sequence_file_url required in SEVASource --- project/excel/opencloning_linkml.xlsx | Bin 30966 -> 30966 bytes project/graphql/opencloning_linkml.graphql | 2 +- .../jsonld/opencloning_linkml.context.jsonld | 2 +- project/jsonld/opencloning_linkml.jsonld | 7 +- .../jsonschema/opencloning_linkml.schema.json | 6 +- project/owl/opencloning_linkml.owl.ttl | 934 +++++----- project/python/opencloning_linkml.py | 14 +- project/shacl/opencloning_linkml.shacl.ttl | 1621 ++++++++--------- project/shex/opencloning_linkml.shex | 2 +- project/sqlschema/opencloning_linkml.sql | 2 +- src/opencloning_linkml/datamodel/_models.py | 5 +- .../schema/opencloning_linkml.yaml | 1 - 12 files changed, 1296 insertions(+), 1300 deletions(-) diff --git a/project/excel/opencloning_linkml.xlsx b/project/excel/opencloning_linkml.xlsx index 43f258ec1a7273b55c3e93d70057cb0e4bc71e29..847e515e2bfe28093beff58a59444ce2b88ba34f 100644 GIT binary patch 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 delta 1445 zcmezNk@4F{M&1B#W)=|!1_lm>ozn^@@~#yGQqhn5Qy0Ah3Z7cz4 z!v;KU@u{!&mR=5W2)xGKA?)Gd!&KNUlfOFSmWE;0_isy5U$;FtWcbg%ew%2kU()-R zH^2AUn2Urh&fTqWaqVQ=&661zzo(R*P`Y@u;CA(DOS`{(bB^)vRo3|QM@na-*(_6^ zLsxWn`Pt)LlbUO9%r*D#^UBeAHIG0 zVWdCbEH>e;qUu&7jf<0?-MfC-^_{^sF1@Z-7Qc5pq=~9~*jYrWFMqOi&+hv+Dy0*} zL$zGA^2{EEg)QA9^nUVd_y3U@)t7T-|Ce0-=TL>v6|TC!(SKP{LM3`;%;vj{)@;nc zpxG?VkgL0G+F;J+j|Krud>|L`mwvZf4NL-I zERzjQr8Z|8?}E5S&2%N0F4@ z@!co48r=notFeN`HACM*G)jicLTs}QP~99CSswYi000!ERs0(1l zi%-WuLib!;6-1MF;xllvF-dyM3}&dLJ%yOdlkoz~nEXA{nge7cC_hfN$}$Hjn_QA* z2d1}XIfLonP}(sY!f%JtXQ8xk4n#Z>O3#PVPocDSt_#?lA}GBRLQl$r2!G6%o}84Y z30Bev6{|0hp8NqS24b7%L*zkf>yX$-;cSRmAhp2-5ViFM5V2!Wnzsl0 zGaD*aP$WJ1Z=ohQn?MqjLW$^Pmm-L&f+C1ckg7{?G3m*Y#V~p4$q7j8W6YOFs)f(1*X#~T*36Z3J(BcqF*5Z diff --git a/project/graphql/opencloning_linkml.graphql b/project/graphql/opencloning_linkml.graphql index 4b11900..b369584 100644 --- a/project/graphql/opencloning_linkml.graphql +++ b/project/graphql/opencloning_linkml.graphql @@ -481,7 +481,7 @@ type SEVASource databaseId: Integer input: [SourceInput] repositoryName: RepositoryName! - sequenceFileUrl: String! + sequenceFileUrl: String repositoryId: String! } diff --git a/project/jsonld/opencloning_linkml.context.jsonld b/project/jsonld/opencloning_linkml.context.jsonld index 06af72c..b1baea7 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-17T18:53:28", + "generation_date": "2025-11-26T10:36:02", "source": "opencloning_linkml.yaml" }, "@context": { diff --git a/project/jsonld/opencloning_linkml.jsonld b/project/jsonld/opencloning_linkml.jsonld index a2fd849..eafc8fa 100644 --- a/project/jsonld/opencloning_linkml.jsonld +++ b/project/jsonld/opencloning_linkml.jsonld @@ -1981,7 +1981,6 @@ "is_usage_slot": true, "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()@:%_\\+.~#?&//=]*)$", "@type": "SlotDefinition" }, @@ -3542,9 +3541,9 @@ ], "metamodel_version": "1.7.0", "source_file": "opencloning_linkml.yaml", - "source_file_date": "2025-11-17T18:34:01", - "source_file_size": 26051, - "generation_date": "2025-11-17T18:53:29", + "source_file_date": "2025-11-26T10:35:56", + "source_file_size": 26028, + "generation_date": "2025-11-26T10:36:03", "@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 16339d3..f670e1e 100644 --- a/project/jsonschema/opencloning_linkml.schema.json +++ b/project/jsonschema/opencloning_linkml.schema.json @@ -2621,7 +2621,10 @@ "sequence_file_url": { "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.", "pattern": "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "Designates the class", @@ -2635,7 +2638,6 @@ } }, "required": [ - "sequence_file_url", "repository_id", "repository_name", "id" diff --git a/project/owl/opencloning_linkml.owl.ttl b/project/owl/opencloning_linkml.owl.ttl index 35aac1d..979c248 100644 --- a/project/owl/opencloning_linkml.owl.ttl +++ b/project/owl/opencloning_linkml.owl.ttl @@ -15,56 +15,41 @@ opencloning_linkml:CloningStrategy a owl:Class, linkml:ClassDefinition ; rdfs:label "CloningStrategy" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:description ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:files ], - [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:Sequence ; owl:onProperty opencloning_linkml:sequences ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:Primer ; - owl:onProperty opencloning_linkml:primers ], + owl:allValuesFrom opencloning_linkml:version_number ; + owl:onProperty opencloning_linkml:frontend_version ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:description ], + owl:onProperty opencloning_linkml:frontend_version ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:backend_version ], + owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:sources ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:Source ; - owl:onProperty opencloning_linkml:sources ], + owl:allValuesFrom opencloning_linkml:version_number ; + owl:onProperty opencloning_linkml:backend_version ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:frontend_version ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:AssociatedFile ; - owl:onProperty opencloning_linkml:files ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:sequences ], + owl:onProperty opencloning_linkml:backend_version ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:version_number ; - owl:onProperty opencloning_linkml:frontend_version ], + owl:onProperty opencloning_linkml:schema_version ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:schema_version ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom opencloning_linkml:Primer ; owl:onProperty opencloning_linkml:primers ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:backend_version ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:version_number ; - owl:onProperty opencloning_linkml:backend_version ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:files ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:frontend_version ], @@ -72,8 +57,23 @@ opencloning_linkml:CloningStrategy a owl:Class, owl:minCardinality 0 ; owl:onProperty opencloning_linkml:schema_version ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:version_number ; - owl:onProperty opencloning_linkml:schema_version ] ; + 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: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:onProperty opencloning_linkml:sequences ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:primers ] ; 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:minCardinality 1 ; - owl:onProperty opencloning_linkml:name ], + owl:allValuesFrom opencloning_linkml:CollectionOptionInfo ; + owl:onProperty opencloning_linkml:info ], [ 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:info ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:source ], + owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; - owl:minCardinality 1 ; + 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:source ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:CollectionOptionInfo ; - owl:onProperty opencloning_linkml:info ] ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:name ] ; skos:definition "Represents an option in a collection" ; skos:inScheme . @@ -124,18 +124,6 @@ opencloning_linkml:CollectionOptionInfo a owl:Class, linkml:ClassDefinition ; rdfs:label "CollectionOptionInfo" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:well ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:well ], - [ 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:resistance ], [ a owl:Restriction ; @@ -144,30 +132,42 @@ opencloning_linkml:CollectionOptionInfo a owl:Class, [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:type ], + [ 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:onProperty opencloning_linkml:well ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:well ], + 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 ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:description ], + 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:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:description ], + owl:onProperty opencloning_linkml:well ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:CollectionOptionType ; - owl:onProperty opencloning_linkml:type ] ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:name ] ; skos:definition "Additional information about a collection option" ; skos:inScheme . @@ -176,12 +176,6 @@ opencloning_linkml:AddgeneIdSource a owl:Class, rdfs:label "AddgeneIdSource" ; 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: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 ; @@ -189,11 +183,17 @@ 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 ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence that is identified by an Addgene id" ; @@ -213,14 +213,17 @@ opencloning_linkml:AnnotationSource a owl:Class, linkml:ClassDefinition ; rdfs:label "AnnotationSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:annotation_tool_version ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:AnnotationReport ; - owl:onProperty opencloning_linkml:annotation_report ], + 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 ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:annotation_tool ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:annotation_tool ], @@ -228,14 +231,11 @@ opencloning_linkml:AnnotationSource a owl:Class, owl:minCardinality 0 ; owl:onProperty opencloning_linkml:annotation_tool_version ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:annotation_tool_version ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:AnnotationTool ; - owl:onProperty opencloning_linkml:annotation_tool ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:annotation_tool ], + owl:allValuesFrom opencloning_linkml:AnnotationReport ; + 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,31 +244,31 @@ opencloning_linkml:AssemblyFragment a owl:Class, linkml:ClassDefinition ; rdfs:label "AssemblyFragment" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty opencloning_linkml:reverse_complemented ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:left_location ], + owl:allValuesFrom opencloning_linkml:sequence_range ; + owl:onProperty opencloning_linkml:right_location ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:right_location ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:left_location ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:reverse_complemented ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:sequence_range ; - owl:onProperty opencloning_linkml:right_location ], + 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:reverse_complemented ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:sequence_range ; owl:onProperty opencloning_linkml:left_location ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:reverse_complemented ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:reverse_complemented ], opencloning_linkml:SourceInput ; skos:definition "Represents a fragment in an assembly" ; @@ -278,15 +278,15 @@ opencloning_linkml:BenchlingUrlSource a owl:Class, linkml:ClassDefinition ; rdfs:label "BenchlingUrlSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; + 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: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 "^https:\\/\\/benchling\\.com\\/.+\\.gb$" ] ) ] ; + 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 Benchling URL" ; @@ -323,44 +323,44 @@ opencloning_linkml:CollectionSource a owl:Class, linkml:ClassDefinition ; rdfs:label "CollectionSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:CollectionOption ; - owl:onProperty opencloning_linkml:options ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:image ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:title ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:category_id ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:options ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:title ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:description ], + owl:onProperty opencloning_linkml:options ], [ a owl:Restriction ; owl:minCardinality 0 ; 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:image ], + owl:onProperty opencloning_linkml:title ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + 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:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:category_id ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:title ], + owl:onProperty opencloning_linkml:image ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:description ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:title ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:category_id ], opencloning_linkml:Source ; skos:definition "Represents a collection of possible sources in a template" ; skos:inScheme . @@ -392,6 +392,9 @@ opencloning_linkml:EuroscarfSource a owl:Class, linkml:ClassDefinition ; rdfs:label "EuroscarfSource" ; 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 ; @@ -399,9 +402,6 @@ opencloning_linkml:EuroscarfSource a owl:Class, owl:onDatatype xsd:string ; owl:withRestrictions ( [ xsd:pattern "^P\\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 from the Euroscarf plasmid library" ; skos:inScheme . @@ -423,20 +423,20 @@ opencloning_linkml:GatewaySource a owl:Class, owl:allValuesFrom opencloning_linkml:GatewayReactionType ; owl:onProperty opencloning_linkml:reaction_type ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:reaction_type ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:greedy ], [ 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:maxCardinality 1 ; - owl:onProperty opencloning_linkml:greedy ], + 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:minCardinality 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:start ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:locus_tag ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:gene_id ], + owl:onProperty opencloning_linkml:sequence_accession ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:strand ], + [ 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:minCardinality 0 ; - owl:onProperty opencloning_linkml:assembly_accession ], + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:start ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:locus_tag ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:end ], + owl:onProperty opencloning_linkml:assembly_accession ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_accession ], + 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: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:onProperty opencloning_linkml:locus_tag ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:end ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:assembly_accession ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:start ], + owl:onProperty opencloning_linkml:end ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:sequence_accession ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:start ], + owl:onProperty opencloning_linkml:strand ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:assembly_accession ], + owl:onProperty opencloning_linkml:start ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:sequence_accession ], - [ a owl:Restriction ; - owl:minCardinality 0 ; owl:onProperty opencloning_linkml:locus_tag ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:end ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:gene_id ], [ a owl:Restriction ; owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:strand ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:end ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - 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,11 +522,8 @@ opencloning_linkml:IGEMSource a owl:Class, linkml:ClassDefinition ; rdfs:label "IGEMSource" ; rdfs:subClassOf [ 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 ; @@ -534,13 +531,16 @@ opencloning_linkml:IGEMSource 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:maxCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_file_url ], [ 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" ; @@ -571,43 +571,43 @@ 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 ], + [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:overhang_crick_3prime ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:circular ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:overhang_watson_3prime ], + [ 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: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:overhang_watson_3prime ], + 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:minCardinality 0 ; - owl:onProperty opencloning_linkml:overhang_crick_3prime ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:circular ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:user_input ], + 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:Boolean ; - 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 ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is manually typed by the user" ; @@ -620,10 +620,10 @@ opencloning_linkml:NamedThing a owl:Class, owl:minCardinality 1 ; owl:onProperty opencloning_linkml:id ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:id ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:id ] ; skos:exactMatch schema1:Thing ; skos:inScheme . @@ -632,13 +632,13 @@ opencloning_linkml:OligoHybridizationSource a owl:Class, linkml:ClassDefinition ; rdfs:label "OligoHybridizationSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; + 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 linkml:Integer ; + owl:maxCardinality 1 ; 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,9 +648,6 @@ opencloning_linkml:OpenDNACollectionsSource a owl:Class, linkml:ClassDefinition ; rdfs:label "OpenDNACollectionsSource" ; 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 ; @@ -659,11 +656,14 @@ opencloning_linkml:OpenDNACollectionsSource 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 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 linkml:String ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:minCardinality 0 ; @@ -683,10 +683,10 @@ opencloning_linkml:PCRSource a owl:Class, linkml:ClassDefinition ; rdfs:label "PCRSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:Boolean ; 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:maxCardinality 1 ; @@ -699,131 +699,131 @@ opencloning_linkml:PlannotateAnnotationReport a owl:Class, linkml:ClassDefinition ; rdfs:label "PlannotateAnnotationReport" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:Description ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:fragment ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:strand ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:Type ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:strand ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:sseqid ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:database ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:percent_identity ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:strand ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:Feature ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Float ; - owl:onProperty opencloning_linkml:percent_identity ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:fragment ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:Description ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:length_of_found_feature ], [ 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:Integer ; owl:onProperty opencloning_linkml:full_length_of_feature_in_db ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:end_location ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:length_of_found_feature ], [ 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:Description ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:start_location ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:length_of_found_feature ], + owl:onProperty opencloning_linkml:fragment ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:percent_match_length ], + owl:onProperty opencloning_linkml:end_location ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:Float ; owl:onProperty opencloning_linkml:percent_identity ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:end_location ], + [ 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:strand ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:fragment ], + owl:onProperty opencloning_linkml:percent_match_length ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sseqid ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:length_of_found_feature ], + owl:onProperty opencloning_linkml:Type ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:sseqid ], + [ a owl:Restriction ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:Feature ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:Type ], + owl:onProperty opencloning_linkml:database ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:percent_match_length ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:Feature ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:end_location ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty opencloning_linkml:fragment ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:start_location ], + owl:onProperty opencloning_linkml:percent_match_length ], [ a owl:Restriction ; owl:minCardinality 0 ; - 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:allValuesFrom linkml:Float ; owl:onProperty opencloning_linkml:percent_match_length ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:Description ], + 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:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sseqid ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:end_location ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:sseqid ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:percent_identity ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:database ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:start_location ], - [ 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:full_length_of_feature_in_db ], + owl:onProperty opencloning_linkml:start_location ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:Type ], + owl:onProperty opencloning_linkml:database ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:percent_identity ], + owl:onProperty opencloning_linkml:Description ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:length_of_found_feature ], + owl:onProperty opencloning_linkml:start_location ], opencloning_linkml:AnnotationReport ; skos:definition "Represents a report of an annotation step using Plannotate" ; skos:inScheme . @@ -884,10 +884,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" ; @@ -897,8 +897,11 @@ 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:onProperty opencloning_linkml:right_edge ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:RestrictionSequenceCut ; owl:onProperty opencloning_linkml:right_edge ], @@ -908,12 +911,9 @@ opencloning_linkml:RestrictionEnzymeDigestionSource a owl:Class, [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:right_edge ], - [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:RestrictionSequenceCut ; - 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: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:minCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:restriction_enzyme ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:restriction_enzyme ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 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" ; @@ -945,7 +945,10 @@ opencloning_linkml:SEVASource a owl:Class, linkml:ClassDefinition ; rdfs:label "SEVASource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; + 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 ; @@ -953,12 +956,6 @@ opencloning_linkml:SEVASource 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:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_file_url ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], @@ -967,6 +964,9 @@ opencloning_linkml:SEVASource a owl:Class, 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 ], opencloning_linkml:RepositoryIdSource ; skos:definition "Represents the source of a sequence that is identified by a SEVA id" ; skos:inScheme . @@ -1026,23 +1026,23 @@ opencloning_linkml:TemplateSequence a owl:Class, linkml:ClassDefinition ; rdfs:label "TemplateSequence" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:Boolean ; + 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:circular ], + owl:onProperty opencloning_linkml:primer_design ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:circular ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:primer_design ], + owl:minCardinality 0 ; + 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 ], 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,12 +1051,6 @@ opencloning_linkml:TextFileSequence a owl:Class, linkml:ClassDefinition ; rdfs:label "TextFileSequence" ; rdfs:subClassOf [ 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:file_content ], - [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:overhang_watson_3prime ], [ a owl:Restriction ; @@ -1066,26 +1060,32 @@ opencloning_linkml:TextFileSequence a owl:Class, owl:minCardinality 0 ; 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:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_file_format ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:file_content ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty opencloning_linkml:sequence_file_format ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:file_content ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:overhang_watson_3prime ], + owl:onProperty opencloning_linkml:sequence_file_format ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty opencloning_linkml:file_content ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:SequenceFileFormat ; + owl:onProperty opencloning_linkml:sequence_file_format ], + [ 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:onProperty opencloning_linkml:file_content ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + 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" ; skos:inScheme . @@ -1094,46 +1094,46 @@ opencloning_linkml:UploadedFileSource a owl:Class, linkml:ClassDefinition ; rdfs:label "UploadedFileSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; - 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:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:file_name ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_file_format ], + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:index_in_file ], [ 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 ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:index_in_file ], - [ a owl:Restriction ; - owl:minCardinality 0 ; + 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 ], + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:index_in_file ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:file_name ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:circularize ], + owl:onProperty opencloning_linkml:sequence_file_format ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty opencloning_linkml:file_name ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom opencloning_linkml:SequenceFileFormat ; + owl:onProperty opencloning_linkml:sequence_file_format ], + [ 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:maxCardinality 1 ; @@ -1146,28 +1146,28 @@ opencloning_linkml:WekWikGeneIdSource a owl:Class, linkml:ClassDefinition ; rdfs:label "WekWikGeneIdSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; + 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 ], + [ 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 "^\\d+$" ] ) ] ; + 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: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 0 ; - owl:onProperty opencloning_linkml:sequence_file_url ], - [ 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 WeKwikGene id" ; skos:inScheme . @@ -1261,11 +1261,17 @@ opencloning_linkml:Primer a owl:Class, linkml:ClassDefinition ; rdfs:label "Primer" ; rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality 1 ; + 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 ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:sequence ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:name ], [ a owl:Restriction ; owl:allValuesFrom [ a rdfs:Datatype ; owl:intersectionOf ( linkml:String [ a rdfs:Datatype ; @@ -1274,21 +1280,15 @@ opencloning_linkml:Primer a owl:Class, owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:database_id ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:database_id ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:name ], + owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:name ], + owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 0 ; owl:onProperty opencloning_linkml:name ], opencloning_linkml:Sequence ; skos:definition "An oligonucleotide or primer" ; @@ -1298,22 +1298,22 @@ opencloning_linkml:SequenceCut a owl:Class, linkml:ClassDefinition ; rdfs:label "SequenceCut" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:Integer ; owl:onProperty opencloning_linkml:cut_watson ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:cut_watson ], + owl:onProperty opencloning_linkml:overhang ], + [ 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: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:minCardinality 1 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:overhang ] ; skos:definition "Represents a cut in a DNA sequence" ; skos:inScheme . @@ -1323,22 +1323,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 ], + 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:onProperty opencloning_linkml:right_edge ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:left_edge ], + 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: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 . @@ -1636,41 +1636,41 @@ opencloning_linkml:AssociatedFile a owl:Class, linkml:ClassDefinition ; rdfs:label "AssociatedFile" ; rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty opencloning_linkml:sequence_id ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:file_name ], + [ a owl:Restriction ; + 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:maxCardinality 1 ; - owl:onProperty opencloning_linkml:type ], + owl:minCardinality 1 ; + owl:onProperty opencloning_linkml:file_type ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:file_name ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:type ], [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:Sequence ; owl:onProperty opencloning_linkml:sequence_id ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:file_name ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_id ], + owl:maxCardinality 1 ; + 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:maxCardinality 1 ; - owl:onProperty opencloning_linkml:sequence_id ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; 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:file_type ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:file_name ] ; + owl:onProperty opencloning_linkml:sequence_id ] ; 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:minCardinality 0 ; - owl:onProperty opencloning_linkml:type ], - [ a owl:Restriction ; owl:allValuesFrom opencloning_linkml:Sequence ; owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty opencloning_linkml:type ], + owl:onProperty opencloning_linkml:sequence ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty opencloning_linkml:type ], + owl:minCardinality 1 ; + 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:onProperty opencloning_linkml:sequence ] ; + owl:minCardinality 0 ; + owl:onProperty opencloning_linkml:type ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:type ] ; skos:definition "Represents an input to a source" ; skos:exactMatch schema1:Role ; skos:inScheme . @@ -1760,22 +1760,22 @@ opencloning_linkml:Sequence a owl:Class, linkml:ClassDefinition ; rdfs:label "Sequence" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty opencloning_linkml:id ], + 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 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:minCardinality 1 ; owl:onProperty opencloning_linkml:id ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:id ], opencloning_linkml:NamedThing ; skos:definition "Represents a sequence" ; @@ -1816,14 +1816,11 @@ opencloning_linkml:RepositoryIdSource a owl:Class, linkml:ClassDefinition ; rdfs:label "RepositoryIdSource" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:RepositoryName ; - owl:onProperty opencloning_linkml:repository_name ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; owl:minCardinality 1 ; - owl:onProperty opencloning_linkml:repository_id ], + owl:onProperty opencloning_linkml:repository_name ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_name ], @@ -1831,7 +1828,10 @@ opencloning_linkml:RepositoryIdSource a owl:Class, owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:repository_id ], [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:repository_id ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:RepositoryName ; owl:onProperty opencloning_linkml:repository_name ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is identified by a repository id" ; @@ -1852,10 +1852,10 @@ opencloning_linkml:AssemblySource a owl:Class, owl:minCardinality 0 ; owl:onProperty opencloning_linkml:circular ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; + owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:circular ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:Boolean ; owl:onProperty opencloning_linkml:circular ], opencloning_linkml:Source ; skos:definition "Represents the source of a sequence that is an assembly of other sequences" ; @@ -1876,37 +1876,37 @@ 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 ], [ a owl:Restriction ; - owl:allValuesFrom opencloning_linkml:SourceInput ; - owl:onProperty opencloning_linkml:input ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:maxCardinality 1 ; 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:database_id ], + owl:onProperty opencloning_linkml:input ], + [ a owl:Restriction ; + owl:allValuesFrom opencloning_linkml:SourceInput ; + owl:onProperty opencloning_linkml:input ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:output_name ], + owl:allValuesFrom linkml:Integer ; + owl:onProperty opencloning_linkml:database_id ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty opencloning_linkml:input ], + owl:allValuesFrom linkml:String ; + owl:onProperty opencloning_linkml:type ], [ 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:onProperty opencloning_linkml:database_id ], opencloning_linkml:NamedThing ; skos:definition "Represents the source of a sequence" ; skos:exactMatch schema1:CreateAction ; @@ -1948,29 +1948,29 @@ opencloning_linkml:type a owl:ObjectProperty, skos:definition "A LinkML data model for OpenCloning" . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:TextFileSequence ; + rdfs:subClassOf opencloning_linkml:SequenceCutSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:TextFileSequence . + owl:someValuesFrom opencloning_linkml:SequenceCutSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:UploadedFileSource ; + rdfs:subClassOf opencloning_linkml:AddgeneIdSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:UploadedFileSource . + owl:someValuesFrom opencloning_linkml:AddgeneIdSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:DatabaseSource ; + rdfs:subClassOf opencloning_linkml:IGEMSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:DatabaseSource . + 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:CreLoxRecombinationSource ; + rdfs:subClassOf opencloning_linkml:ReverseComplementSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:CreLoxRecombinationSource . + owl:someValuesFrom opencloning_linkml:ReverseComplementSource . [] a owl:Restriction ; rdfs:subClassOf opencloning_linkml:AnnotationSource ; @@ -1978,39 +1978,39 @@ opencloning_linkml:type a owl:ObjectProperty, owl:someValuesFrom opencloning_linkml:AnnotationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:OligoHybridizationSource ; + rdfs:subClassOf opencloning_linkml:LigationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:OligoHybridizationSource . + owl:someValuesFrom opencloning_linkml:LigationSource . [] 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:RepositoryIdSource ; + rdfs:subClassOf opencloning_linkml:RestrictionEnzymeDigestionSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:RepositoryIdSource . + owl:someValuesFrom opencloning_linkml:RestrictionEnzymeDigestionSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SEVASource ; + rdfs:subClassOf opencloning_linkml:CreLoxRecombinationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SEVASource . + owl:someValuesFrom opencloning_linkml:CreLoxRecombinationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:OpenDNACollectionsSource ; + rdfs:subClassOf opencloning_linkml:HomologousRecombinationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:OpenDNACollectionsSource . + owl:someValuesFrom opencloning_linkml:HomologousRecombinationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SnapGenePlasmidSource ; + rdfs:subClassOf opencloning_linkml:SourceInput ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SnapGenePlasmidSource . + owl:someValuesFrom opencloning_linkml:SourceInput . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SequenceCutSource ; + rdfs:subClassOf opencloning_linkml:WekWikGeneIdSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SequenceCutSource . + owl:someValuesFrom opencloning_linkml:WekWikGeneIdSource . [] a owl:Restriction ; rdfs:subClassOf opencloning_linkml:EuroscarfSource ; @@ -2018,19 +2018,24 @@ opencloning_linkml:type a owl:ObjectProperty, owl:someValuesFrom opencloning_linkml:EuroscarfSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:GatewaySource ; + rdfs:subClassOf opencloning_linkml:Sequence ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:GatewaySource . + owl:someValuesFrom opencloning_linkml:Sequence . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:InFusionSource ; + rdfs:subClassOf opencloning_linkml:OpenDNACollectionsSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:InFusionSource . + owl:someValuesFrom opencloning_linkml:OpenDNACollectionsSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:CRISPRSource ; + rdfs:subClassOf opencloning_linkml:DatabaseSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:CRISPRSource . + owl:someValuesFrom opencloning_linkml:DatabaseSource . + +[] a owl:Restriction ; + rdfs:subClassOf opencloning_linkml:AssociatedFile ; + owl:onProperty opencloning_linkml:type ; + owl:someValuesFrom opencloning_linkml:AssociatedFile . [] a owl:Restriction ; rdfs:subClassOf opencloning_linkml:AnnotationReport ; @@ -2038,49 +2043,49 @@ opencloning_linkml:type a owl:ObjectProperty, owl:someValuesFrom opencloning_linkml:AnnotationReport . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SourceInput ; + rdfs:subClassOf opencloning_linkml:GibsonAssemblySource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SourceInput . + owl:someValuesFrom opencloning_linkml:GibsonAssemblySource . [] 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:RestrictionEnzymeDigestionSource ; + rdfs:subClassOf opencloning_linkml:SnapGenePlasmidSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:RestrictionEnzymeDigestionSource . + 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:ManuallyTypedSource ; + rdfs:subClassOf opencloning_linkml:AssemblySource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:ManuallyTypedSource . + owl:someValuesFrom opencloning_linkml:AssemblySource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:SequencingFile ; + rdfs:subClassOf opencloning_linkml:OverlapExtensionPCRLigationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:SequencingFile . + owl:someValuesFrom opencloning_linkml:OverlapExtensionPCRLigationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AssemblySource ; + rdfs:subClassOf opencloning_linkml:BenchlingUrlSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AssemblySource . + owl:someValuesFrom opencloning_linkml:BenchlingUrlSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:Primer ; + rdfs:subClassOf opencloning_linkml:CollectionSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:Primer . + owl:someValuesFrom opencloning_linkml:CollectionSource . [] 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:GenomeCoordinatesSource ; @@ -2088,76 +2093,71 @@ opencloning_linkml:type a owl:ObjectProperty, owl:someValuesFrom opencloning_linkml:GenomeCoordinatesSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:Source ; - owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:Source . - -[] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:PCRSource ; + rdfs:subClassOf opencloning_linkml:PlannotateAnnotationReport ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:PCRSource . + owl:someValuesFrom opencloning_linkml:PlannotateAnnotationReport . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:BenchlingUrlSource ; + rdfs:subClassOf opencloning_linkml:Source ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:BenchlingUrlSource . + owl:someValuesFrom opencloning_linkml:Source . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:HomologousRecombinationSource ; + rdfs:subClassOf opencloning_linkml:Primer ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:HomologousRecombinationSource . + owl:someValuesFrom opencloning_linkml:Primer . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:InVivoAssemblySource ; + rdfs:subClassOf opencloning_linkml:AssemblyFragment ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:InVivoAssemblySource . + owl:someValuesFrom opencloning_linkml:AssemblyFragment . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:PlannotateAnnotationReport ; + rdfs:subClassOf opencloning_linkml:CRISPRSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:PlannotateAnnotationReport . + owl:someValuesFrom opencloning_linkml:CRISPRSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:IGEMSource ; + rdfs:subClassOf opencloning_linkml:InFusionSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:IGEMSource . + owl:someValuesFrom opencloning_linkml:InFusionSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:ReverseComplementSource ; + rdfs:subClassOf opencloning_linkml:OligoHybridizationSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:ReverseComplementSource . + owl:someValuesFrom opencloning_linkml:OligoHybridizationSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:GibsonAssemblySource ; + rdfs:subClassOf opencloning_linkml:TextFileSequence ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:GibsonAssemblySource . + owl:someValuesFrom opencloning_linkml:TextFileSequence . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:TemplateSequence ; + rdfs:subClassOf opencloning_linkml:GatewaySource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:TemplateSequence . + owl:someValuesFrom opencloning_linkml:GatewaySource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AssemblyFragment ; + rdfs:subClassOf opencloning_linkml:PCRSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AssemblyFragment . + owl:someValuesFrom opencloning_linkml:PCRSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:OverlapExtensionPCRLigationSource ; + rdfs:subClassOf opencloning_linkml:ManuallyTypedSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:OverlapExtensionPCRLigationSource . + owl:someValuesFrom opencloning_linkml:ManuallyTypedSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:AddgeneIdSource ; + rdfs:subClassOf opencloning_linkml:TemplateSequence ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:AddgeneIdSource . + owl:someValuesFrom opencloning_linkml:TemplateSequence . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:WekWikGeneIdSource ; + rdfs:subClassOf opencloning_linkml:PolymeraseExtensionSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:WekWikGeneIdSource . + owl:someValuesFrom opencloning_linkml:PolymeraseExtensionSource . [] a owl:Restriction ; - rdfs:subClassOf opencloning_linkml:LigationSource ; + rdfs:subClassOf opencloning_linkml:UploadedFileSource ; owl:onProperty opencloning_linkml:type ; - owl:someValuesFrom opencloning_linkml:LigationSource . + owl:someValuesFrom opencloning_linkml:UploadedFileSource . diff --git a/project/python/opencloning_linkml.py b/project/python/opencloning_linkml.py index 9694ba9..0e722b9 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-17T18:53:30 +# Generation date: 2025-11-26T10:36:04 # Schema: OpenCloning_LinkML # # id: https://opencloning.github.io/OpenCloning_LinkML @@ -908,8 +908,8 @@ class SEVASource(RepositoryIdSource): id: Union[int, SEVASourceId] = None repository_name: Union[str, "RepositoryName"] = None - sequence_file_url: str = None repository_id: str = None + sequence_file_url: Optional[str] = None def __post_init__(self, *_: str, **kwargs: Any): if self._is_empty(self.id): @@ -917,16 +917,14 @@ def __post_init__(self, *_: str, **kwargs: Any): if not isinstance(self.id, SEVASourceId): self.id = SEVASourceId(self.id) - if self._is_empty(self.sequence_file_url): - self.MissingRequiredField("sequence_file_url") - if not isinstance(self.sequence_file_url, str): - self.sequence_file_url = str(self.sequence_file_url) - if self._is_empty(self.repository_id): self.MissingRequiredField("repository_id") if not isinstance(self.repository_id, str): self.repository_id = str(self.repository_id) + if self.sequence_file_url is not None and not isinstance(self.sequence_file_url, str): + self.sequence_file_url = str(self.sequence_file_url) + super().__post_init__(**kwargs) self.type = str(self.class_name) @@ -2970,7 +2968,7 @@ class slots: curie=OPENCLONING_LINKML.curie("sequence_file_url"), model_uri=OPENCLONING_LINKML.SEVASource_sequence_file_url, domain=SEVASource, - range=str, + range=Optional[str], pattern=re.compile( r"^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)$" ), diff --git a/project/shacl/opencloning_linkml.shacl.ttl b/project/shacl/opencloning_linkml.shacl.ttl index 33a1f13..b1eb962 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:repository_name opencloning_linkml:repository_id opencloning_linkml:sequence_file_url opencloning_linkml:title opencloning_linkml:locus_tag opencloning_linkml:coordinates opencloning_linkml:gene_id opencloning_linkml:options opencloning_linkml:file_content schema1:name opencloning_linkml:addgene_sequence_type opencloning_linkml:description opencloning_linkml:restriction_enzymes opencloning_linkml:image opencloning_linkml:user_input opencloning_linkml:file_name opencloning_linkml:sequence_file_format opencloning_linkml:output_name opencloning_linkml:end opencloning_linkml:assembly_accession opencloning_linkml:sequence_accession opencloning_linkml:right_edge opencloning_linkml:start opencloning_linkml:add_primer_features opencloning_linkml:circular opencloning_linkml:overhang_watson_3prime opencloning_linkml:reaction_type opencloning_linkml:annotation_report opencloning_linkml:overhang_crick_3prime rdf:type opencloning_linkml:sequence opencloning_linkml:circularize opencloning_linkml:category_id opencloning_linkml:strand opencloning_linkml:annotation_tool_version schema1:object opencloning_linkml:annotation_tool opencloning_linkml:type opencloning_linkml:index_in_file opencloning_linkml:greedy opencloning_linkml:primer_design opencloning_linkml:left_edge ) ; + 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:property [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -21,103 +21,103 @@ 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 ( "depositor-full" "addgene-full" ) ; - sh:maxCount 1 ; - sh:order 1 ; - sh:path opencloning_linkml:addgene_sequence_type ], - [ 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 6 ; + sh:order 8 ; sh:path schema1:identifier ], [ 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 4 ; - 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: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 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: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: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 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: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:path schema1:identifier ], - [ 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: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:order 6 ; + 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:in ( "plannotate" ) ; + sh:property [ sh:datatype xsd:integer ; + sh:description "The id of an entity in a database" ; sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path opencloning_linkml:annotation_tool ], + sh:nodeKind sh:Literal ; + sh:order 5 ; + 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 3 ; - sh:path opencloning_linkml:type ], + sh:order 4 ; + 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 "Used to specify the name of the output sequence" ; + [ 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: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: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 5 ; - 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 ; sh:order 6 ; sh:path schema1:object ], - [ sh:class opencloning_linkml:AnnotationReport ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 2 ; - sh:path opencloning_linkml:annotation_report ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -135,12 +135,13 @@ 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: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 3 ; - sh:path opencloning_linkml:type ], + sh:order 2 ; + sh:path opencloning_linkml:reverse_complemented ], [ sh:class bioschemas:DNA ; sh:description "The input sequence" ; sh:maxCount 1 ; @@ -148,29 +149,33 @@ 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:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:reverse_complemented ], [ sh:maxCount 1 ; sh:nodeKind sh:Literal ; sh:order 1 ; - sh:path opencloning_linkml:right_location ] ; + sh:path opencloning_linkml:right_location ], + [ 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: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:add_primer_features opencloning_linkml:greedy rdf:type opencloning_linkml:reaction_type opencloning_linkml:restriction_enzymes ) ; - sh:property [ sh:datatype xsd:boolean ; - sh:description "Whether the assembly is circular or not" ; + 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: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 "The id of an entity in a database" ; sh:maxCount 1 ; @@ -184,23 +189,18 @@ opencloning_linkml:AssemblySource 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: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: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: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 2 ; + sh:path opencloning_linkml:output_name ] ; sh:targetClass opencloning_linkml:AssemblySource . opencloning_linkml:BenchlingUrlSource a sh:NodeShape ; @@ -208,11 +208,17 @@ 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 "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: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 ; @@ -221,29 +227,23 @@ opencloning_linkml:BenchlingUrlSource a sh:NodeShape ; sh:order 0 ; 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: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: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: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 ; @@ -256,19 +256,24 @@ 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: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 "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 ; @@ -281,17 +286,12 @@ opencloning_linkml:CRISPRSource a sh:NodeShape ; 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: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:targetClass opencloning_linkml:CRISPRSource . opencloning_linkml:CloningStrategy a sh:NodeShape ; @@ -304,55 +304,67 @@ opencloning_linkml:CloningStrategy a sh:NodeShape ; sh:nodeKind sh:IRI ; sh:order 0 ; sh:path opencloning_linkml:sequences ], - [ 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: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 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: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:datatype xsd:string ; - sh:description "A description of the cloning strategy" ; + [ sh:description "The version of the backend 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 6 ; + sh:path opencloning_linkml:backend_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: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: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:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:description ] ; 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: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: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: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:datatype xsd:string ; sh:description "A description of the category" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -365,19 +377,6 @@ opencloning_linkml:CollectionSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:title ], - [ 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: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:string ; sh:description "The identifier of the category of the part in the template" ; sh:maxCount 1 ; @@ -390,52 +389,52 @@ opencloning_linkml:CollectionSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 5 ; 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 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: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: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: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: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: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 "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 ; 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:maxCount 1 ; @@ -443,10 +442,11 @@ opencloning_linkml:CreLoxRecombinationSource a sh:NodeShape ; 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:CreLoxRecombinationSource . @@ -455,18 +455,18 @@ opencloning_linkml:DatabaseSource a sh:NodeShape ; 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: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 0 ; 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 0 ; + sh:order 4 ; sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; @@ -474,24 +474,35 @@ opencloning_linkml:DatabaseSource a sh:NodeShape ; 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: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 3 ; - sh:path schema1:object ] ; + sh:path opencloning_linkml:type ] ; 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: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:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -513,56 +524,46 @@ opencloning_linkml:EuroscarfSource a sh:NodeShape ; sh:path opencloning_linkml:repository_id ; sh:pattern "^P\\d+$" ], [ 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: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 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 ; 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:path opencloning_linkml:repository_name ] ; 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:datatype xsd:boolean ; + 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 "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: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 "Designates the class" ; + [ 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 3 ; - sh:path opencloning_linkml:type ], + sh:order 1 ; + sh:path opencloning_linkml:greedy ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -570,23 +571,22 @@ opencloning_linkml:GatewaySource 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: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 4 ; - sh:path opencloning_linkml:output_name ], + sh:order 5 ; + sh:path schema1:identifier ], [ sh:in ( "LR" "BP" ) ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 0 ; - sh:path opencloning_linkml:reaction_type ], - [ 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:path opencloning_linkml:reaction_type ] ; sh:targetClass opencloning_linkml:GatewaySource . opencloning_linkml:GenomeCoordinatesSource a sh:NodeShape ; @@ -594,12 +594,31 @@ 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:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 11 ; + 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: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 "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 ; @@ -612,38 +631,19 @@ opencloning_linkml:GenomeCoordinatesSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 1 ; sh:path opencloning_linkml:sequence_accession ], - [ 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: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:description "The locus tag of the sequence" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:locus_tag ], + sh:order 6 ; + sh:path opencloning_linkml:strand ], [ 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:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 6 ; - sh:path opencloning_linkml:strand ], [ sh:datatype xsd:integer ; sh:description "The starting coordinate (1-based) of the sequence in the sequence accession" ; sh:maxCount 1 ; @@ -651,18 +651,18 @@ opencloning_linkml:GenomeCoordinatesSource a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 4 ; sh:path opencloning_linkml:start ], - [ 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 "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,13 +675,12 @@ 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:property [ 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:boolean ; sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; @@ -689,22 +688,23 @@ opencloning_linkml:GibsonAssemblySource a sh:NodeShape ; 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: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 "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:maxCount 1 ; @@ -717,7 +717,14 @@ 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:class schema1:Role ; + 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: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 ; @@ -729,45 +736,30 @@ opencloning_linkml:HomologousRecombinationSource a sh:NodeShape ; sh:order 1 ; sh:path opencloning_linkml:type ], [ 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: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: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:targetClass opencloning_linkml:HomologousRecombinationSource . 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: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 "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$" ], - [ 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 ; @@ -780,11 +772,6 @@ opencloning_linkml:IGEMSource a sh:NodeShape ; 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 "Used to specify the name of the output sequence" ; sh:maxCount 1 ; @@ -792,23 +779,36 @@ opencloning_linkml:IGEMSource a sh:NodeShape ; sh:order 4 ; sh:path opencloning_linkml:output_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 "The URL of the sequence file, for now github repository" ; sh:maxCount 1 ; sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:repository_id ], + 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: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: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:targetClass opencloning_linkml:IGEMSource . opencloning_linkml:InFusionSource a sh:NodeShape ; @@ -821,23 +821,17 @@ opencloning_linkml:InFusionSource a sh:NodeShape ; 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: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:boolean ; sh:description "Whether the assembly is circular or not" ; sh:maxCount 1 ; @@ -850,7 +844,13 @@ opencloning_linkml:InFusionSource a sh:NodeShape ; sh:minCount 1 ; sh:nodeKind sh:Literal ; sh:order 5 ; - 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 2 ; + sh:path opencloning_linkml:output_name ] ; sh:targetClass opencloning_linkml:InFusionSource . opencloning_linkml:InVivoAssemblySource a sh:NodeShape ; @@ -863,6 +863,13 @@ opencloning_linkml:InVivoAssemblySource a sh:NodeShape ; 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 ; @@ -880,13 +887,6 @@ opencloning_linkml:InVivoAssemblySource 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:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; @@ -899,61 +899,71 @@ 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: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: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: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: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: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: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: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: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 "The id of an entity in a database" ; sh:maxCount 1 ; - sh:minCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:user_input ; - sh:pattern "^[acgtACGT]+$" ], - [ 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: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 0 ; - sh:path opencloning_linkml:overhang_crick_3prime ], + 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:description "Whether the sequence is circular or not" ; sh:maxCount 1 ; @@ -967,58 +977,43 @@ opencloning_linkml:ManuallyTypedSource a sh:NodeShape ; sh:order 1 ; sh:path opencloning_linkml:overhang_watson_3prime ], [ 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 8 ; - sh:path schema1:identifier ], + 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: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: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: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: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:string ; - sh:description "Used to specify the name of the output sequence" ; + 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:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:output_name ], + sh:order 0 ; + sh:path opencloning_linkml:overhang_crick_3prime ], [ 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: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 2 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -1026,31 +1021,55 @@ opencloning_linkml:OligoHybridizationSource a sh:NodeShape ; sh:nodeKind sh:Literal ; 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:datatype xsd:string ; + sh:description "Designates the class" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:overhang_crick_3prime ], + 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: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: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 "Subpath of the sequence in the Open DNA collections repository" ; + 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:repository_id ], + 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 "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path opencloning_linkml:type ], + [ 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:datatype xsd:string ; sh:description "The URL of a sequence file" ; sh:maxCount 1 ; @@ -1063,48 +1082,34 @@ opencloning_linkml:OpenDNACollectionsSource a sh:NodeShape ; 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: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: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:path schema1:identifier ] ; 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 "Designates the class" ; + 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 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:datatype xsd:string ; sh:description "Used to specify the name of the output sequence" ; sh:maxCount 1 ; @@ -1117,12 +1122,6 @@ opencloning_linkml:OverlapExtensionPCRLigationSource a sh:NodeShape ; 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:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -1130,41 +1129,36 @@ 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 "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml:type ] ; 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: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: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 "Designates the class" ; + 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:type ], + 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 ; @@ -1177,38 +1171,34 @@ 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: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: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:string ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 9 ; - sh:path opencloning_linkml:database ], - [ sh:datatype xsd:boolean ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 8 ; - sh:path opencloning_linkml:fragment ], - [ sh:datatype xsd:string ; + sh:property [ sh:datatype xsd:integer ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 13 ; - sh:path opencloning_linkml:sequence ], + sh:order 2 ; + sh:path opencloning_linkml:end_location ], [ 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:integer ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -1217,13 +1207,13 @@ opencloning_linkml:PlannotateAnnotationReport a sh:NodeShape ; [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 12 ; - sh:path opencloning_linkml:Description ], + sh:order 10 ; + sh:path opencloning_linkml:Feature ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 10 ; - sh:path opencloning_linkml:Feature ], + sh:order 12 ; + sh:path opencloning_linkml:Description ], [ sh:datatype xsd:float ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -1234,32 +1224,42 @@ opencloning_linkml:PlannotateAnnotationReport a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 0 ; sh:path opencloning_linkml:sseqid ], - [ sh:datatype xsd:integer ; + [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 1 ; - sh:path opencloning_linkml:start_location ], - [ sh:datatype xsd:float ; + 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 7 ; - sh:path opencloning_linkml:percent_match_length ], + sh:order 14 ; + 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:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 8 ; + sh:path opencloning_linkml:fragment ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 11 ; - sh:path opencloning_linkml:Type ], + sh:order 9 ; + sh:path opencloning_linkml:database ], + [ sh:datatype xsd:float ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 7 ; + sh:path opencloning_linkml:percent_match_length ], [ 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 ; @@ -1271,18 +1271,24 @@ 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: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 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 "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 "Used to specify the name of the output sequence" ; @@ -1294,95 +1300,79 @@ opencloning_linkml:PolymeraseExtensionSource 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: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:path schema1:object ] ; 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: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:ignoredProperties ( opencloning_linkml:addgene_sequence_type rdf:type opencloning_linkml:sequence_file_url ) ; + sh:property [ 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 6 ; - sh:path schema1:identifier ], + 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: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 "The id of the sequence in the repository" ; + [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; sh:maxCount 1 ; sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:repository_id ], + 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: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 "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: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: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: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 1 ; - sh:path opencloning_linkml:circular ], - [ sh:datatype xsd:string ; - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 0 ; - sh:path opencloning_linkml:restriction_enzymes ], + 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:datatype xsd:integer ; sh:description "A unique identifier for a thing" ; sh:maxCount 1 ; @@ -1390,35 +1380,56 @@ opencloning_linkml:RestrictionAndLigationSource a sh:NodeShape ; 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:description "Used to specify the name of the output 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:restriction_enzymes ] ; 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:integer ; + 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: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 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 "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 opencloning_linkml:RestrictionSequenceCut ; sh:maxCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; @@ -1430,18 +1441,7 @@ opencloning_linkml:RestrictionEnzymeDigestionSource a sh:NodeShape ; 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: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 ; @@ -1454,68 +1454,71 @@ opencloning_linkml:ReverseComplementSource a sh:NodeShape ; 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 "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 "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: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: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 "A unique identifier for a thing" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path schema1:identifier ] ; 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: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:datatype xsd:string ; - sh:description "Used to specify the name of the output sequence" ; + 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:output_name ], + 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: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: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: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 "The SEVA plasmid name" ; sh:maxCount 1 ; @@ -1524,83 +1527,78 @@ opencloning_linkml:SEVASource a sh:NodeShape ; sh:order 1 ; sh:path opencloning_linkml:repository_id ; sh:pattern "^pSEVA\\d+.*$" ], - [ 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: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: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: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 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:order 6 ; + sh:path schema1:identifier ], + [ sh:class opencloning_linkml:SequenceCut ; + sh:maxCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 5 ; - sh:path schema1:object ], + sh:order 1 ; + sh:path opencloning_linkml:right_edge ], [ sh:class opencloning_linkml:SequenceCut ; sh:maxCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; sh:order 0 ; sh:path opencloning_linkml:left_edge ], - [ 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: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: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 1 ; - sh:path opencloning_linkml:right_edge ], - [ sh:datatype xsd:integer ; - sh:description "A unique identifier for a thing" ; + sh:order 5 ; + sh:path schema1:object ], + [ 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:order 2 ; + sh:path opencloning_linkml:type ] ; 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: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:class bioschemas:DNA ; + 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 "Designates the class" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path opencloning_linkml: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 ; @@ -1614,55 +1612,56 @@ opencloning_linkml:SequencingFile a sh:NodeShape ; sh:order 4 ; sh:path opencloning_linkml:file_type ], [ 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 1 ; - sh:path opencloning_linkml:type ] ; + sh:order 3 ; + sh:path opencloning_linkml:file_name ] ; 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: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: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 "^.+\\/.+$" ], - [ sh:in ( "addgene" "genbank" "benchling" "snapgene" "euroscarf" "igem" "wekwikgene" "seva" "open_dna_collections" ) ; + 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: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 "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:integer ; - sh:description "A unique identifier for a thing" ; + [ 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 6 ; - sh:path schema1:identifier ], + 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 ; @@ -1675,30 +1674,30 @@ opencloning_linkml:TemplateSequence a sh:NodeShape ; 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 "Designates the class" ; - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path opencloning_linkml:type ], - [ 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: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: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: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 schema1:identifier ] ; sh:targetClass opencloning_linkml:TemplateSequence . opencloning_linkml:TextFileSequence a sh:NodeShape ; @@ -1711,12 +1710,24 @@ opencloning_linkml:TextFileSequence a sh:NodeShape ; 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: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:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -1728,19 +1739,7 @@ opencloning_linkml:TextFileSequence a sh:NodeShape ; 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:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path opencloning_linkml:overhang_watson_3prime ] ; + sh:path schema1:identifier ] ; sh:targetClass opencloning_linkml:TextFileSequence . opencloning_linkml:UploadedFileSource a sh:NodeShape ; @@ -1748,34 +1747,30 @@ 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 "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: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: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: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:string ; sh:description "The name of the file" ; sh:maxCount 1 ; @@ -1788,36 +1783,49 @@ opencloning_linkml:UploadedFileSource a sh:NodeShape ; sh:minCount 1 ; sh:order 0 ; sh:path opencloning_linkml:sequence_file_format ], - [ sh:datatype xsd:boolean ; - sh:description "Whether the sequence should be circularized (FASTA only)" ; + [ 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:circularize ], + 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 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: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:path schema1:object ] ; 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: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 7 ; + 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 3 ; - sh:path opencloning_linkml:type ], + 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 ; @@ -1825,49 +1833,40 @@ opencloning_linkml:WekWikGeneIdSource a sh:NodeShape ; sh:order 5 ; sh:path schema1:identifier ], [ sh:datatype xsd:string ; - sh:description "The URL of a sequence file" ; + 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: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 4 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:string ; - sh:description "The id of the gene in the WeKwikGene database" ; + 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:pattern "^\\d+$" ], + 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: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:description "The URL of a sequence file" ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; - sh:order 4 ; - sh:path opencloning_linkml:output_name ] ; + 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:WekWikGeneIdSource . opencloning_linkml:AnnotationReport a sh:NodeShape ; sh:closed true ; sh:description "Represents a report of an annotation step" ; - sh:ignoredProperties ( opencloning_linkml:fragment opencloning_linkml:Feature opencloning_linkml:sequence opencloning_linkml:strand opencloning_linkml:percent_match_length opencloning_linkml:sseqid opencloning_linkml:database opencloning_linkml:full_length_of_feature_in_db opencloning_linkml:Type opencloning_linkml:Description opencloning_linkml:percent_identity opencloning_linkml:end_location rdf:type opencloning_linkml:length_of_found_feature opencloning_linkml:start_location ) ; + 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:property [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -1881,6 +1880,13 @@ opencloning_linkml:AssociatedFile a sh:NodeShape ; 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: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 ; @@ -1898,34 +1904,27 @@ opencloning_linkml:AssociatedFile a sh:NodeShape ; 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:path opencloning_linkml:file_type ] ; 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 ; @@ -1939,58 +1938,53 @@ 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 "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 "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 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: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: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:description "A human-readable name for a thing" ; + 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: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 4 ; 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 1 ; - sh:path schema1:identifier ], [ sh:datatype xsd:string ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; @@ -1998,25 +1992,24 @@ opencloning_linkml:Primer a sh:NodeShape ; sh:path opencloning_linkml:sequence ; sh:pattern "^[acgtACGT]+$" ], [ 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 3 ; - sh:path schema1:identifier ] ; + 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:targetClass opencloning_linkml:Primer . schema1:CreateAction a sh:NodeShape ; sh:closed false ; sh:description "Represents the source of a sequence" ; - sh:ignoredProperties ( opencloning_linkml:repository_name opencloning_linkml:repository_id opencloning_linkml:sequence_file_url opencloning_linkml:title opencloning_linkml:locus_tag opencloning_linkml:coordinates opencloning_linkml:gene_id opencloning_linkml:options opencloning_linkml:addgene_sequence_type opencloning_linkml:description opencloning_linkml:restriction_enzymes opencloning_linkml:image opencloning_linkml:user_input opencloning_linkml:file_name opencloning_linkml:sequence_file_format opencloning_linkml:end opencloning_linkml:assembly_accession opencloning_linkml:sequence_accession opencloning_linkml:right_edge opencloning_linkml:start opencloning_linkml:add_primer_features opencloning_linkml:circular opencloning_linkml:reaction_type opencloning_linkml:annotation_report opencloning_linkml:overhang_crick_3prime rdf:type opencloning_linkml:circularize opencloning_linkml:category_id opencloning_linkml:strand opencloning_linkml:annotation_tool_version opencloning_linkml:annotation_tool opencloning_linkml:index_in_file opencloning_linkml:greedy opencloning_linkml:overhang_watson_3prime opencloning_linkml:left_edge ) ; - 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: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 ; @@ -2027,6 +2020,12 @@ schema1:CreateAction a sh:NodeShape ; 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 1 ; + sh:path opencloning_linkml:output_name ], [ sh:datatype xsd:string ; sh:description "Designates the class" ; sh:maxCount 1 ; @@ -2047,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 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:datatype xsd:string ; sh:maxCount 1 ; sh:minCount 1 ; @@ -2060,57 +2059,57 @@ opencloning_linkml:RestrictionSequenceCut a sh:NodeShape ; 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: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:targetClass opencloning_linkml:RestrictionSequenceCut . opencloning_linkml:SequenceCut a sh:NodeShape ; sh:closed true ; sh:description "Represents a cut in a DNA sequence" ; - sh:ignoredProperties ( opencloning_linkml:restriction_enzyme rdf:type ) ; + sh:ignoredProperties ( rdf:type opencloning_linkml:restriction_enzyme ) ; sh:property [ 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: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:targetClass opencloning_linkml:SequenceCut . bioschemas:DNA a sh:NodeShape ; sh:closed false ; sh:description "Represents a sequence" ; - sh:ignoredProperties ( opencloning_linkml:sequence_file_format opencloning_linkml:overhang_crick_3prime opencloning_linkml:circular opencloning_linkml:file_content schema1:name rdf:type opencloning_linkml:overhang_watson_3prime 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: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: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:reverse_complemented rdf:type opencloning_linkml:right_location opencloning_linkml:left_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/project/shex/opencloning_linkml.shex b/project/shex/opencloning_linkml.shex index 4afb223..e837642 100644 --- a/project/shex/opencloning_linkml.shex +++ b/project/shex/opencloning_linkml.shex @@ -485,7 +485,7 @@ linkml:Sparqlpath xsd:string CLOSED { ( $ ( & ; rdf:type [ ] ? ; - @linkml:String ; + @linkml:String ? ; @linkml:String ) ; rdf:type [ ] diff --git a/project/sqlschema/opencloning_linkml.sql b/project/sqlschema/opencloning_linkml.sql index db5c9cc..bedecda 100644 --- a/project/sqlschema/opencloning_linkml.sql +++ b/project/sqlschema/opencloning_linkml.sql @@ -483,7 +483,7 @@ CREATE TABLE "WekWikGeneIdSource" ( PRIMARY KEY (id) ); CREATE TABLE "SEVASource" ( - sequence_file_url TEXT NOT NULL, + sequence_file_url TEXT, repository_id TEXT NOT NULL, repository_name VARCHAR(20) NOT NULL, type TEXT, diff --git a/src/opencloning_linkml/datamodel/_models.py b/src/opencloning_linkml/datamodel/_models.py index d420572..a49c282 100644 --- a/src/opencloning_linkml/datamodel/_models.py +++ b/src/opencloning_linkml/datamodel/_models.py @@ -1382,14 +1382,13 @@ class SEVASource(RepositoryIdSource): "the SEVA website or an " "entry in the NCBI.", "name": "sequence_file_url", - "required": True, }, }, } ) - sequence_file_url: str = Field( - default=..., + sequence_file_url: Optional[str] = Field( + default=None, 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.""", json_schema_extra={ "linkml_meta": { diff --git a/src/opencloning_linkml/schema/opencloning_linkml.yaml b/src/opencloning_linkml/schema/opencloning_linkml.yaml index 6ccc8bd..5c97a2b 100644 --- a/src/opencloning_linkml/schema/opencloning_linkml.yaml +++ b/src/opencloning_linkml/schema/opencloning_linkml.yaml @@ -368,7 +368,6 @@ classes: 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. - required: true BenchlingUrlSource: is_a: RepositoryIdSource